Revision: 201015
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 03 May 2010 12:24:59 +0300
changeset 39 4e8ebe173323
parent 36 cdae8c6c3876
child 42 517f4fb5ec74
child 46 23b5d6a29cce
Revision: 201015 Kit: 201018
homescreen.pro
homescreenapp/common.pri
homescreenapp/examples/contentpublishclient/contentpublishclient.pro
homescreenapp/examples/contentpublishclient/inc/contentpublishclient.h
homescreenapp/examples/contentpublishclient/resource/testwallpaper.jpg
homescreenapp/examples/contentpublishclient/resource/testwallpaper2.jpg
homescreenapp/examples/contentpublishclient/sis/contentpublishclient.bat
homescreenapp/examples/contentpublishclient/src/contentpublishclient.cpp
homescreenapp/examples/contentpublishclient/src/main.cpp
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/helloworldwidgetplugin.pro
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidget.h
homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidget.cpp
homescreenapp/examples/helloworldwidgetplugin/sis/helloworldwidgetplugin.bat
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin.pro
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/inc/localisedhellowidget.h
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/inc/localisedhellowidgetplugin.h
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin.qm
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin.ts
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_gb.qm
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_gb.ts
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_us.qm
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_us.ts
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_fi.qm
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_fi.ts
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/localisedhellowidgetplugin.pro
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.manifest
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.png
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.xml
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.xml_for_sisx
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/src/localisedhellowidget.cpp
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/src/localisedhellowidgettplugin.cpp
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugininstaller/localisedhellowidgetplugininstaller.cpp
homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugininstaller/localisedhellowidgetplugininstaller.pro
homescreenapp/examples/localisedhellowidgetplugin/sis/localisedhellowidgetplugin.bat
homescreenapp/examples/localisedhellowidgetplugin/sis/localisedhellowidgetplugin.pkg
homescreenapp/homescreenapp.pro
homescreenapp/hsapplication/conf/base/confml/data.confml
homescreenapp/hsapplication/conf/base/confml/homescreen_view.confml
homescreenapp/hsapplication/conf/base/confml/homescreendb.confml
homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/create.sql
homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/fill.sql
homescreenapp/hsapplication/conf/base/root.confml
homescreenapp/hsapplication/homescreen.qm
homescreenapp/hsapplication/homescreen.ts
homescreenapp/hsapplication/hsapplication.pro
homescreenapp/hsapplication/hsapplication_fallbacktheme.qrc
homescreenapp/hsapplication/inc/hshomescreenclientserviceprovider.h
homescreenapp/hsapplication/installs_symbian.pri
homescreenapp/hsapplication/installs_win.pri
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/homescreen.db
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/homescreen.db
homescreenapp/hsapplication/src/hshomescreen.cpp
homescreenapp/hsapplication/src/hshomescreenclientserviceprovider.cpp
homescreenapp/hsapplication/src/main.cpp
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_0.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_1.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_2.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_3.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_4.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_5.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_6.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_7.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_8.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_9.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_b.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_bl.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_br.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_c.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_l.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_r.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_t.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tl.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tr.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_b.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_bl.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_br.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_c.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_l.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_r.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_t.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tl.svg
homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tr.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_clock_day_sec.svg
homescreenapp/hsdomainmodel/hsdomainmodel.pri
homescreenapp/hsdomainmodel/inc/hscontentservice.h
homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h
homescreenapp/hsdomainmodel/inc/hspage.h
homescreenapp/hsdomainmodel/inc/hsscene.h
homescreenapp/hsdomainmodel/inc/hswallpaper.h
homescreenapp/hsdomainmodel/inc/hswidgetcomponent.h
homescreenapp/hsdomainmodel/inc/hswidgetcomponentregistry.h
homescreenapp/hsdomainmodel/inc/hswidgethost.h
homescreenapp/hsdomainmodel/src/hscontentservice.cpp
homescreenapp/hsdomainmodel/src/hsdatabase.cpp
homescreenapp/hsdomainmodel/src/hspage.cpp
homescreenapp/hsdomainmodel/src/hsscene.cpp
homescreenapp/hsdomainmodel/src/hswallpaper.cpp
homescreenapp/hsdomainmodel/src/hswidgetcomponent.cpp
homescreenapp/hsdomainmodel/src/hswidgetcomponentregistry.cpp
homescreenapp/hsdomainmodel/src/hswidgethost.cpp
homescreenapp/hshomescreenclientplugin/hshomescreenclientplugin.pro
homescreenapp/hshomescreenclientplugin/inc/hshomescreenclient.h
homescreenapp/hshomescreenclientplugin/resource/hshomescreenclientplugin.s60xml
homescreenapp/hshomescreenclientplugin/src/hshomescreenclient.cpp
homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/decision_cov_emulator.pl
homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/inc/t_hshomescreenclientplugin.h
homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/src/t_hshomescreenclientplugin.cpp
homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/t_hshomescreenclientplugin.pro
homescreenapp/hsmenuclientplugin/hsmenuclientplugin.pro
homescreenapp/hsmenuclientplugin/inc/hsmenuclient.h
homescreenapp/hsmenuclientplugin/inc/hsmenuclient_p.h
homescreenapp/hsmenuclientplugin/inc/hsmenuclientplugin.h
homescreenapp/hsmenuclientplugin/resource/hsmenuclientplugin.xml
homescreenapp/hsmenuclientplugin/src/hsmenuclient.cpp
homescreenapp/hsmenuclientplugin/src/hsmenuclientplugin.cpp
homescreenapp/hsmenucontentpublish/hsmenucontentpublish.pro
homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublish.h
homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublish_p.h
homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublishplugin.h
homescreenapp/hsmenucontentpublish/resource/hsmenucontentpublish.s60xml
homescreenapp/hsmenucontentpublish/resource/hsmenucontentpublish.xml
homescreenapp/hsmenucontentpublish/src/hsmenucontentpublish.cpp
homescreenapp/hsmenucontentpublish/src/hsmenucontentpublishplugin.cpp
homescreenapp/hsutils/hsutils.pro
homescreenapp/hsutils/inc/hsapptranslator.h
homescreenapp/hsutils/inc/hsdeviceinfolistener.h
homescreenapp/hsutils/inc/hsimagefetcherclient.h
homescreenapp/hsutils/inc/hsmenuevent.h
homescreenapp/hsutils/inc/hsmenueventfactory.h
homescreenapp/hsutils/inc/hstitleresolver.h
homescreenapp/hsutils/inc/hswallpaperhelper.h
homescreenapp/hsutils/inc/hswidgetpositioningonorientationchange.h
homescreenapp/hsutils/src/hsapptranslator.cpp
homescreenapp/hsutils/src/hsdeviceinfolistener.cpp
homescreenapp/hsutils/src/hsimagefetcherclient.cpp
homescreenapp/hsutils/src/hsmenuevent.cpp
homescreenapp/hsutils/src/hsmenueventfactory.cpp
homescreenapp/hsutils/src/hsmenueventtransition.cpp
homescreenapp/hsutils/src/hspageindicator.cpp
homescreenapp/hsutils/src/hspageindicatoritem.cpp
homescreenapp/hsutils/src/hstitleresolver.cpp
homescreenapp/hsutils/src/hswallpaperhelper.cpp
homescreenapp/hsutils/src/hswidgetpositioningonorientationchange.cpp
homescreenapp/inc/hsapp_defs.h
homescreenapp/inc/hsapp_defs.inl
homescreenapp/rom/homescreenapp_core.iby
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pro
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.qrc
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntime.h
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.s60xml
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/tapandhold.axml
homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntime.cpp
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenucollectionsitemmodel.h
homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice.h
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenucollectionsitemmodel.cpp
homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuservice.cpp
homescreenapp/sis/homescreenapp_ut_hs.pkg
homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pro
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallappsstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallcollectionsstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hscollectionstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsinstalledappsstate.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenusearch.h
homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h
homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.s60xml
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallappsstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallcollectionsstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hscollectionstate.cpp
homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsinstalledappsstate.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/hshomescreenstateplugin/hshomescreenstateplugin.pro
homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.ts
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlestate.h
homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsselectbackgroundstate.h
homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.s60xml
homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.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.pro
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddappstocollectionstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddtohomescreenstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenubasestate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hspreviewhswidgetstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsviewappsettingsstate.h
homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.s60xml
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/hsmenuworkerstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hspreviewhswidgetstate.cpp
homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsviewappsettingsstate.cpp
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pro
homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.qrc
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/resource/hsanalogclockwidget.css
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsanalogclockwidget.widgetml
homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.s60xml
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/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/hsshortcutwidgetplugin.qrc
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/hsshortcutwidget.css
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidget.widgetml
homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.s60xml
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
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
taskswitcherapp/common.pri
taskswitcherapp/rom/tsapplication_core.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/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/tsdevicedialogplugin/inc/tsactivitymodelitem.h
taskswitcherapp/tsdevicedialogplugin/inc/tsdataroles.h
taskswitcherapp/tsdevicedialogplugin/inc/tsdevicedialog.h
taskswitcherapp/tsdevicedialogplugin/inc/tsdevicedialogplugin.h
taskswitcherapp/tsdevicedialogplugin/inc/tsdocumentloader.h
taskswitcherapp/tsdevicedialogplugin/inc/tsentrymodelitem.h
taskswitcherapp/tsdevicedialogplugin/inc/tsmodel.h
taskswitcherapp/tsdevicedialogplugin/inc/tsmodelitem.h
taskswitcherapp/tsdevicedialogplugin/inc/tstasksgrid.h
taskswitcherapp/tsdevicedialogplugin/inc/tstasksgriditem.h
taskswitcherapp/tsdevicedialogplugin/resource/delete.png
taskswitcherapp/tsdevicedialogplugin/src/tsactivitymodelitem.cpp
taskswitcherapp/tsdevicedialogplugin/src/tsdevicedialog.cpp
taskswitcherapp/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp
taskswitcherapp/tsdevicedialogplugin/src/tsdocumentloader.cpp
taskswitcherapp/tsdevicedialogplugin/src/tsentrymodelitem.cpp
taskswitcherapp/tsdevicedialogplugin/src/tsmodel.cpp
taskswitcherapp/tsdevicedialogplugin/src/tstasksgriditem.cpp
taskswitcherapp/tsdevicedialogplugin/taskswitcher.qm
taskswitcherapp/tsdevicedialogplugin/taskswitcher.ts
taskswitcherapp/tsdevicedialogplugin/tsdevicedialogplugin.pro
taskswitcherapp/tsdevicedialogplugin/tsdevicedialogplugin.qrc
taskswitcherapp/tsserviceplugin/inc/s60/tsexternalactivationwatcher_p.h
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/tsexternalactivationwatcher.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/tsexternalactivationwatcher_p.h
taskswitcherapp/tsserviceplugin/inc/win/tslongpresswatcher_p.h
taskswitcherapp/tsserviceplugin/resource/delete.png
taskswitcherapp/tsserviceplugin/resource/tsexternalactivation.qcrml
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/tsexternalactivationwatcher_p.cpp
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/tsexternalactivationwatcher.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/tsexternalactivationwatcher_p.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/castorage.db
taskswitcherapp/tsserviceplugin/tsserviceplugin.pro
taskswitcherapp/tsserviceplugin/tsserviceplugin.xml
--- a/homescreen.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreen.pro	Mon May 03 12:24:59 2010 +0300
@@ -17,8 +17,6 @@
 TEMPLATE = subdirs
 
 SUBDIRS  =  homescreenapp
-SUBDIRS += taskswitcherapp
-
-screensaver:SUBDIRS += screensaverapp
+symbian:SUBDIRS += taskswitcherapp
 
 CONFIG += ordered
--- a/homescreenapp/common.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/common.pri	Mon May 03 12:24:59 2010 +0300
@@ -103,7 +103,12 @@
     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}.xml z:$$qtplugins.path/$${TARGET}.xml"
+    
+    hs_public_plugin {
+      contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.xml z:/private/20022F35/$${TARGET}.xml"
+    } else {
+      contains(MOBILITY, serviceframework):BLD_INF_RULES.prj_exports += "resource/$${TARGET}.xml z:$$qtplugins.path/$${TARGET}.xml"
+    }
     
     for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin z:$$qtplugins.path/$$basename(qtplugin)"
 }
--- a/homescreenapp/examples/contentpublishclient/contentpublishclient.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/contentpublishclient/contentpublishclient.pro	Mon May 03 12:24:59 2010 +0300
@@ -36,6 +36,12 @@
     TARGET.CAPABILITY = CAP_APPLICATION AllFiles TrustedUI
     TARGET.EPOCHEAPSIZE = 0x20000 0x1000000 // 128kB - 16MB
     LIBS += -lefsrv
+    
+    testwallpaperimages.path = /data/images/kqtihswallpapers
+    testwallpaperimages.sources += ./resource/*.jpg
+    
+    DEPLOYMENT += testwallpaperimages
+    
 } else {
     error("Only Symbian supported!")
 }
\ No newline at end of file
--- a/homescreenapp/examples/contentpublishclient/inc/contentpublishclient.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/contentpublishclient/inc/contentpublishclient.h	Mon May 03 12:24:59 2010 +0300
@@ -31,9 +31,16 @@
     bool load();
     
 public slots:
-    void addWidget();
+    void addHelloworldWidget();
+    void addClockWidget();
+    void setWallpaper1();
+    void setWallpaper2();
 
+protected:
+    bool addWidget(QString widgetUri);
+    bool setWallpaper(QString fileName);
+    
 private:
     QObject* mService;
     QServiceManager* mManager;    
-};
\ No newline at end of file
+};
Binary file homescreenapp/examples/contentpublishclient/resource/testwallpaper.jpg has changed
Binary file homescreenapp/examples/contentpublishclient/resource/testwallpaper2.jpg has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/contentpublishclient/sis/contentpublishclient.bat	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,30 @@
+@rem
+@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+@echo off
+
+if exist contentpublishclient.sisx del contentpublishclient.sisx
+
+makesis contentpublishclient.pkg
+signsis contentpublishclient.sis contentpublishclient.sisx ../../../sis/rd.cer ../../../sis/rd-key.pem
+
+if exist contentpublishclient.sisx (
+echo contentpublishclient.sisx creation SUCCEEDED
+del contentpublishclient.sis
+)
+
+if not exist contentpublishclient.sisx (
+echo contentpublishclient.sisx creation FAILED
+)
\ No newline at end of file
--- a/homescreenapp/examples/contentpublishclient/src/contentpublishclient.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/contentpublishclient/src/contentpublishclient.cpp	Mon May 03 12:24:59 2010 +0300
@@ -26,7 +26,7 @@
 /*!
     \ingroup group_content_publish_client
     \class ContentPublishClient
-    \brief Example implementation for home screen content publish client.
+    \brief Example implementation for home screen client api usage.
 
     ContentPublishClient is derived from QObject and implements 
     needed functions for the home screen content publish client. 
@@ -63,7 +63,7 @@
     }
     qDebug() << interfaces.first().interfaceName()
              << interfaces.first().serviceName()
-             <<  interfaces.first().isValid();
+             << interfaces.first().isValid();
 
     mService = mManager->loadInterface(interfaces.first());
         
@@ -71,27 +71,118 @@
 }
 
 /*!
-    Adds widget utilizing service interface and invoke call
+    Adds hello world widget 
+*/
+void ContentPublishClient::addHelloworldWidget()
+{
+    if ( addWidget("helloworldwidgetplugin")) {
+        qDebug() << "HelloWorld added"; 
+    } else {
+        qDebug() << "adding HelloWorld failed"; 
+    }
+}
+
+/*!
+    Adds clock world widget 
+*/
+void ContentPublishClient::addClockWidget()
+{
+    if ( addWidget("hsclockwidgetplugin")) {
+        qDebug() << "Clock widget added"; 
+    } else {
+        qDebug() << "adding Clock widget failed"; 
+    }
+}
+
+/*!
+    Adds widget \a widgetUri utilizing service interface and invokeMethod call
 */
-void ContentPublishClient::addWidget()
+// Start of snippet 1
+bool ContentPublishClient::addWidget(QString widgetUri)
 {   
-    QByteArray signature = QMetaObject::normalizedSignature("addWidget(QString,QVariantHash)");
+    // find interface IHomeScreenClient from service hshomescreenclientplugin 
+    QServiceManager manager;
+    QServiceFilter filter("com.nokia.symbian.IHomeScreenClient");
+    filter.setServiceName("hshomescreenclientplugin");
+    QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(filter);
+
+    if(interfaces.isEmpty()) {
+        QServiceManager::Error error = manager.error();
+        return false;
+    }
+    
+    QObject* service = manager.loadInterface(interfaces.first());
+
+    // access service's addWidget function
+    bool retVal = false;
+    bool ret = QMetaObject::invokeMethod( 
+        service, 
+        "addWidget",
+        Qt::DirectConnection,
+        Q_RETURN_ARG(bool, retVal),
+        Q_ARG(QString,widgetUri),
+        Q_ARG(QVariantHash,QVariantHash()));
+        
+    if(!ret){
+        // invokeMethod returned error
+        return false;
+    }
+    if(!retVal){
+        // addWidget returned error
+        return false;
+    }
+    return true;
+}
+// End of snippet 1
+
+/*!
+    Sets home screen wallpaper as testwallpaper.png 
+*/
+void ContentPublishClient::setWallpaper1()
+{
+    QString wallpaper = "c:/data/images/kqtihswallpapers/testwallpaper.jpg";
+    setWallpaper(wallpaper);
+}
+
+/*!
+    Sets home screen wallpaper as testwallpaper2.png 
+*/
+void ContentPublishClient::setWallpaper2()
+{
+    QString wallpaper = "c:/data/images/kqtihswallpapers/testwallpaper2.jpg";
+    setWallpaper(wallpaper);
+}
+
+/*!
+    Changes home screen wallpaper to \a wallpaper image.
+    Note. load function needs to be called before this, it creates mService object.
+    
+*/
+// Start of snippet 2
+bool ContentPublishClient::setWallpaper(QString wallpaper)
+{   
+    QByteArray signature = QMetaObject::normalizedSignature("setWallpaper(QString)");
     int methodIndex = mService->metaObject()->indexOfMethod(signature);   
+    if (methodIndex<0) {
+        return false;
+    }
     QMetaMethod method = mService->metaObject()->method(methodIndex);
     bool retVal(false);
 
-    QString widget = "hsclockwidgetplugin";
-    
     bool ret = method.invoke( mService,
                               Qt::DirectConnection,
                               Q_RETURN_ARG(bool, retVal),
-                              Q_ARG(QString,widget),
-                              Q_ARG(QVariantHash,QVariantHash()));
+                              Q_ARG(QString,wallpaper));
                     
     if(!ret){
-        qDebug()<< "method invoke failed!";
+        // invokeMethod returned error
+        return false;
     }
     if(!retVal){
-        qDebug() << "addWidget() failed!!";
+        // setWallpaper returned error
+        return false;
     }
+    return true;
 }
+
+// End of snippet 2
--- a/homescreenapp/examples/contentpublishclient/src/main.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/contentpublishclient/src/main.cpp	Mon May 03 12:24:59 2010 +0300
@@ -19,46 +19,59 @@
 #include <HbMainWindow>
 #include <HbView>
 #include <HbPushButton>
-
+#include <QGraphicsLinearLayout>
 #include <QDir>
 
 #include "contentpublishclient.h"
 
 int main(int argc, char *argv[])
 {
-	// Initialization
+    // Initialization
     HbApplication app(argc, argv);
-
-    QString path = QDir::toNativeSeparators(QDir("z:\\hsresources\\plugins\\homescreenclientplugin\\").absolutePath());
-    QString fullFileName = path + "\\hshomescreenclientplugin.xml";
-    
+        
     QServiceManager manager;
     
-    if(QFile::exists(fullFileName)) {
-        QCoreApplication::addLibraryPath(path);
-        manager.addService(fullFileName);
-    }
-    
     // Create main window.
-    HbMainWindow* mainWindow = new HbMainWindow();
+    HbMainWindow mainWindow;
 
     // Create content publisher client
 	ContentPublishClient contentPublishClient(manager);
-	
-    QString buttonString = "Create widget";
-    if(!contentPublishClient.load()) {
+
+    QString buttonString = "Add HelloWorld";
+    bool clientOk = contentPublishClient.load(); 
+    if (!clientOk) {
         buttonString = "Open failed";
     }
 
-    HbPushButton* button = new HbPushButton(buttonString);
+    HbWidget *myView = new HbWidget();
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
+    
+    HbPushButton* button1 = new HbPushButton(buttonString);
+    layout->addItem(button1);
+    contentPublishClient.connect(button1, SIGNAL(pressed()), SLOT(addHelloworldWidget()));
+    
+    if (clientOk) {
+        HbPushButton* button2 = new HbPushButton("Add Clock widget");
+        HbPushButton* button3 = new HbPushButton("Set wallpaper1");
+        HbPushButton* button4 = new HbPushButton("Set wallpaper2");
+        
+        layout->addItem(button2);
+        layout->addItem(button3);
+        layout->addItem(button4);
+        
+        contentPublishClient.connect(button2, SIGNAL(pressed()), SLOT(addClockWidget()));
+        contentPublishClient.connect(button3, SIGNAL(pressed()), SLOT(setWallpaper1()));
+        contentPublishClient.connect(button4, SIGNAL(pressed()), SLOT(setWallpaper2()));
+    }
+    
+    
+    myView->setLayout(layout);
 
 	// Add view
-    mainWindow->addView(button);
-    
-    contentPublishClient.connect(button, SIGNAL(pressed()), SLOT(addWidget()));
+    mainWindow.addView(myView);
     
     // Show main window
-    mainWindow->show();
+    mainWindow.show();
 
     return app.exec();
 }
--- a/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/helloworldwidgetplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/helloworldwidgetplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -52,7 +52,7 @@
       SUBDIRPART = release
     }    
     
-    PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F7E
+    PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F7E
     
     DESTDIR = $$PWD/../../../../../bin/$${SUBDIRPART}/$${PLUGIN_SUBDIR}
 
--- a/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/inc/helloworldwidget.h	Mon May 03 12:24:59 2010 +0300
@@ -20,8 +20,6 @@
 
 #include <HbWidget>
 
-class QPushButton;
-
 class HelloWorldWidget : public HbWidget
 {
     Q_OBJECT
@@ -40,7 +38,6 @@
 
 private:
     Q_DISABLE_COPY(HelloWorldWidget)
-    QPushButton *mButton;
 };
 
 #endif // HELLOWORLDWIDGET_H
--- a/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/helloworldwidgetplugin/helloworldwidgetplugin/src/helloworldwidget.cpp	Mon May 03 12:24:59 2010 +0300
@@ -15,8 +15,8 @@
 *
 */
 
-#include <QGraphicsProxyWidget>
-#include <QPushButton>
+#include <QGraphicsLinearLayout>
+#include <HbLabel>
 #include "helloworldwidget.h"
 
 /*!
@@ -32,12 +32,14 @@
     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)
+    : HbWidget(parent, flags)
 {
-    QGraphicsProxyWidget *proxy = new QGraphicsProxyWidget(this);
-    mButton = new QPushButton("Hello World");
-    proxy->setWidget(mButton);        
+    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout(Qt::Vertical);
+    setLayout(layout);
+    HbLabel *helloWorld = new HbLabel("Hello World!");
+    helloWorld->setPreferredSize(QSizeF(130.0,20.0));
+    layout->setContentsMargins(0.0, 0.0, 0.0, 0.0);
+    layout->addItem(helloWorld);
 }
 
 /*!
--- a/homescreenapp/examples/helloworldwidgetplugin/sis/helloworldwidgetplugin.bat	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/examples/helloworldwidgetplugin/sis/helloworldwidgetplugin.bat	Mon May 03 12:24:59 2010 +0300
@@ -1,5 +1,5 @@
 @rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 @rem All rights reserved.
 @rem This component and the accompanying materials are made available
 @rem under the terms of "Eclipse Public License v1.0"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -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 = localisedhellowidgetplugin \
+          localisedhellowidgetplugininstaller
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/inc/localisedhellowidget.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,58 @@
+/*
+* 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 HbPushButton;
+class QGraphicsPixmapItem;
+class HbIconItem;
+
+class LocalisedHelloWidget : public HbWidget
+{
+    Q_OBJECT
+    Q_PROPERTY(QString rootPath READ rootPath WRITE setRootPath)
+public:
+    LocalisedHelloWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
+    ~LocalisedHelloWidget();
+
+public:
+    QRectF boundingRect() const;
+    QPainterPath shape() const;
+
+    QString rootPath()const;
+    void setRootPath(const QString &rootPath);
+public slots:
+    void onInitialize();
+    void onShow();
+    void onHide();
+private slots:
+    void onButtonPressed();
+  
+private:
+    Q_DISABLE_COPY(LocalisedHelloWidget)
+   
+    HbPushButton *mButton;
+    QString mText;
+    QString mRootPath;
+    HbIconItem *mIcon;
+};
+
+#endif // HELLOWORLDWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/inc/localisedhellowidgetplugin.h	Mon May 03 12:24:59 2010 +0300
@@ -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 localised home screen widget
+*
+*/
+
+#ifndef LOCALISEDHELLOWIDGETPLUGIN_H
+#define LOCALISEDHELLOWIDGETPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+class LocalisedHelloWidgetPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif // LOCALISEDHELLOWIDGETPLUGIN_H
Binary file homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin.ts	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_title_hello_world">
+    <comment>Hello World title</comment>        
+    <source>Hello World</source>
+    <translation variants="no">Hello World</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_info_hello">
+    <comment>Hello text</comment>        
+    <source>Hello!</source>
+    <translation variants="no">Hello!</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_gb.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_gb.ts	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_title_hello_world">
+    <comment>Hello World title</comment>        
+    <source>Hello World</source>
+    <translation variants="no">Hello World</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_info_hello">
+    <comment>Hello text</comment>        
+    <source>Hello!</source>
+    <translation variants="no">How do you do!</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_us.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_en_us.ts	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_title_hello_world">
+    <comment>Hello World title</comment>        
+    <source>Hello World</source>
+    <translation variants="no">Hi World</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_info_hello">
+    <comment>Hello text</comment>        
+    <source>Hello!</source>
+    <translation variants="no">Hi dude!</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
Binary file homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_fi.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/locales/localisedhellowidgetplugin_fi.ts	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_title_hello_world">
+    <comment>Hello World title</comment>        
+    <source>Hello World</source>
+    <translation variants="no">Hei maa!</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-feature>he</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="localisedhellowidgetplugin_txt_helloview_info_hello">
+    <comment>Hello text</comment>        
+    <source>Hello!</source>
+    <translation variants="no">No moro!</translation>
+    <extra-loc-layout_id></extra-loc-layout_id>    
+    <extra-loc-viewid>helloview</extra-loc-viewid>
+    <extra-loc-positionid>info</extra-loc-positionid>
+    <extra-loc-feature>he</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/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/localisedhellowidgetplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,71 @@
+#
+# 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
+
+INCLUDEPATH += ./inc               
+
+symbian: {
+		    
+    INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
+
+    TARGET.UID3 = 0x20022F80
+    TARGET.EPOCALLOWDLLDATA=1
+    TARGET.CAPABILITY = ALL -TCB
+    
+    DESTDIR = /private/20022F35/import/widgetregistry/20022F80
+    
+    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
+    
+    localisedFiles.path = /resource/qt/translations
+    localisedFiles.sources += ./locales/*.qm 
+    
+    DEPLOYMENT += plugins \
+                  widgetResources \
+                  localisedFiles
+}
+
+win32: {
+
+    CONFIG(debug, debug|release) {
+      SUBDIRPART = debug
+    } else {
+      SUBDIRPART = release
+    }    				 
+   
+    PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F80
+    
+    DESTDIR = $$PWD/../../../../../bin/$${SUBDIRPART}/$${PLUGIN_SUBDIR}
+	
+    manifest.path = $${DESTDIR}
+    manifest.files = ./resource/*.manifest ./resource/*.xml ./resource/*.png
+    
+    widgetLocalisation.path = $$PWD/../../../../../bin/$${SUBDIRPART}/resource/qt/translations
+    widgetLocalisation.files += ./locales/*.qm 
+        
+    INSTALLS += manifest widgetLocalisation      
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.manifest	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<widgetprovider>
+    <widget library="localisedhellowidgetplugin"
+            uri="localisedhellowidgetplugin"
+            title="Hello"
+            iconuri="localisedhellowidgetplugin.png"
+	    description="Localised widget example."/>
+</widgetprovider>
Binary file homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.xml	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>localisedhellowidgetplugin</name>
+    <filepath>localisedhellowidgetplugin</filepath>
+    <description>Example widget</description>
+    <interface>
+        <name>com.nokia.symbian.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>Example of localised widget</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">localisedhellowidgetplugin.png</customproperty>
+        <customproperty key="title">Hello</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/resource/localisedhellowidgetplugin.xml_for_sisx	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>localisedhellowidgetplugin</name>
+    <filepath>c:/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.qtplugin</filepath>
+    <description>Localisation example widget</description>
+    <interface>
+        <name>com.nokia.symbian.IHomeScreenWidget</name>
+        <version>1.0</version>
+        <description>Example of localised widget</description>
+        <capabilities></capabilities>
+        <customproperty key="iconuri">localisedhellowidgetplugin.png</customproperty>
+        <customproperty key="title">Hello</customproperty>
+    </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/src/localisedhellowidget.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* 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 <QGraphicsLinearLayout>
+#include <HbLabel>
+#include <HbPushButton> 
+#include <QDir>
+#include <QPainter>
+#include <HbIconItem>
+#include "localisedhellowidget.h"
+
+/*!
+    \ingroup group_helloworld_widget
+    \class LocalisedHelloWidget
+    \brief Example implementation for home screen widget.
+
+    LocalisedHelloWidget 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.
+*/
+LocalisedHelloWidget::LocalisedHelloWidget(QGraphicsItem* parent, Qt::WindowFlags flags)
+    : HbWidget(parent, flags),mIcon(0)
+{
+    QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
+    setPreferredSize(200,100);
+    setLayout(layout);
+    mButton = new HbPushButton();
+    layout->addItem(mButton);
+   
+    connect(mButton,SIGNAL(pressed()),SLOT(onButtonPressed()));
+
+    
+   
+}
+
+/*!
+    Destructor
+*/
+LocalisedHelloWidget::~LocalisedHelloWidget()
+{
+
+}
+
+/*!
+    Return bounding rect
+*/
+QRectF LocalisedHelloWidget::boundingRect() const
+{
+    return childrenBoundingRect();
+}
+
+/*!
+    Return shape
+*/
+QPainterPath LocalisedHelloWidget::shape() const
+{   
+    QPainterPath path;
+    path.addRect(boundingRect());
+    return path;
+}
+QString LocalisedHelloWidget::rootPath()const
+{
+    return mRootPath;
+}
+
+void LocalisedHelloWidget::setRootPath(const QString &rootPath)
+{
+    mRootPath = rootPath;
+}
+
+void LocalisedHelloWidget::onInitialize()
+{
+    // localisation can be used now
+    mText = hbTrId("localisedhellowidgetplugin_txt_helloview_info_hello");
+    mButton->setText(hbTrId("localisedhellowidgetplugin_txt_helloview_title_hello_world"));
+    // roothPath is set thus we can use it
+    QString iconPath = QDir::toNativeSeparators(mRootPath + "/localisedhellowidgetplugin.png"); 
+    mIcon = new HbIconItem(iconPath);
+    static_cast<QGraphicsLinearLayout*>(layout())->addItem(mIcon);
+   
+  
+}
+
+/*!
+    Called when widget is shown in the home screen
+*/
+void LocalisedHelloWidget::onShow()
+{
+}
+
+/*!
+    Called when widget is hidden from the home screen
+*/
+void LocalisedHelloWidget::onHide()
+{
+}
+
+void LocalisedHelloWidget::onButtonPressed()
+{
+    QString tmp = mButton->text();
+    mButton->setText(mText);
+    mText = tmp;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugin/src/localisedhellowidgettplugin.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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 localised home screen widget
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "localisedhellowidgetplugin.h"
+#include "localisedhellowidget.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.symbian.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 *LocalisedHelloWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                             QServiceContext *context,
+                                             QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IHomeScreenWidget")) {
+        return new LocalisedHelloWidget();
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(localisedhellowidgetplugin, LocalisedHelloWidgetPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugininstaller/localisedhellowidgetplugininstaller.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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 char xml[] = "C:/data/widgets/servicefw/localisedhellowidgetplugin.xml";
+
+int main(int argc, char *argv[])
+{
+    QCoreApplication app(argc, argv);
+
+    QServiceManager s;
+
+	if (QFile::exists(xml)) {
+        s.addService(xml);
+	} else {
+		s.removeService("localisedhellowidgetplugin");
+	}
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/localisedhellowidgetplugininstaller/localisedhellowidgetplugininstaller.pro	Mon May 03 12:24:59 2010 +0300
@@ -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 += localisedhellowidgetplugininstaller.cpp
+
+symbian {    
+    TARGET.CAPABILITY = ALL -TCB
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/sis/localisedhellowidgetplugin.bat	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,30 @@
+@rem
+@rem Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+@rem All rights reserved.
+@rem This component and the accompanying materials are made available
+@rem under the terms of "Eclipse Public License v1.0"
+@rem which accompanies this distribution, and is available
+@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
+@rem
+@rem Initial Contributors:
+@rem Nokia Corporation - initial contribution.
+@rem
+@rem Contributors:
+@rem
+@rem Description:
+@rem
+@echo off
+
+if exist localisedhellowidgetplugin.sisx del localisedhellowidgetplugin.sisx
+
+makesis localisedhellowidgetplugin.pkg
+signsis localisedhellowidgetplugin.sis localisedhellowidgetplugin.sisx ../../../sis/rd.cer ../../../sis/rd-key.pem
+
+if exist localisedhellowidgetplugin.sisx (
+echo localisedhellowidgetplugin.sisx creation SUCCEEDED
+del localisedhellowidgetplugin.sis
+)
+
+if not exist localisedhellowidgetplugin.sisx (
+echo localisedhellowidgetplugin.sisx creation FAILED
+)
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/examples/localisedhellowidgetplugin/sis/localisedhellowidgetplugin.pkg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,47 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"localisedhellowidgetplugin"},(0x20022F80),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/localisedhellowidgetplugin.dll"                                           - "!:/sys/bin/localisedhellowidgetplugin.dll"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.qtplugin"  - "!:/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.qtplugin"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.manifest"  - "!:/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.manifest"
+"../localisedhellowidgetplugin/resource/localisedhellowidgetplugin.xml_for_sisx"                          - "C:/data/widgets/servicefw/localisedhellowidgetplugin.xml"
+"/epoc32/data/z/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.png"       - "!:/private/20022F35/import/widgetregistry/20022F80/localisedhellowidgetplugin.png"
+
+"/epoc32/data/z/resource/qt/translations/localisedhellowidgetplugin.qm"      												- "!:/resource/qt/translations/localisedhellowidgetplugin.qm"
+"/epoc32/data/z/resource/qt/translations/localisedhellowidgetplugin_fi.qm"      											- "!:/resource/qt/translations/localisedhellowidgetplugin_fi.qm"
+"/epoc32/data/z/resource/qt/translations/localisedhellowidgetplugin_en_us.qm"      									- "!:/resource/qt/translations/localisedhellowidgetplugin_en_us.qm"
+"/epoc32/data/z/resource/qt/translations/localisedhellowidgetplugin_en_gb.qm"     										- "!:/resource/qt/translations/localisedhellowidgetplugin_en_gb.qm"  
+
+"/epoc32/release/armv5/urel/localisedhellowidgetplugininstaller.exe" - "!:/sys/bin/localisedhellowidgetplugininstaller.exe", FR, RB, RW
--- a/homescreenapp/homescreenapp.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/homescreenapp.pro	Mon May 03 12:24:59 2010 +0300
@@ -23,7 +23,7 @@
             stateplugins \
             widgetplugins \
             hsapplication \
-            hsmenucontentpublish
+            hsmenuclientplugin
 
 symbian:SUBDIRS  += hshomescreenclientplugin
 
--- a/homescreenapp/hsapplication/conf/base/confml/data.confml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<confml:configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:confml="http://www.s60.com/xml/confml/2" xsi:schemaLocation="http://www.s60.com/xml/confml/2 http://www.s60.com/xml/confml/1#//confml2" name="data">
-  <confml:data>
-    <confml:HomeScreenDbSettings>
-      <confml:landscapeWallpaper/>
-      <confml:portraitWallpaper/>
-      <confml:maximumPageCount>8</confml:maximumPageCount>
-      <confml:defaultPageId map="HomeScreenDbSettings/Pages[@key='1']"/>
-      <confml:Widgets extensionPolicy="replace"><confml:id>1</confml:id><confml:uri>hsclockwidgetplugin</confml:uri><confml:pageId>1</confml:pageId></confml:Widgets>
-      <confml:Widgets><confml:id>2</confml:id><confml:uri>hsdialerwidgetplugin</confml:uri><confml:pageId>1</confml:pageId></confml:Widgets>
-      <confml:Pages extensionPolicy="replace"><confml:id>1</confml:id><confml:indexPosition>0</confml:indexPosition></confml:Pages>
-      <confml:Pages><confml:id>2</confml:id><confml:indexPosition>1</confml:indexPosition></confml:Pages>
-      <confml:Pages><confml:id>3</confml:id><confml:indexPosition>2</confml:indexPosition></confml:Pages>
-      <confml:WidgetPresentations extensionPolicy="append"><confml:key>portrait</confml:key><confml:x>15</confml:x><confml:y>80</confml:y><confml:width>150</confml:width><confml:height>150</confml:height><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='1']"></confml:widgetId></confml:WidgetPresentations>
-      <confml:WidgetPresentations><confml:key>landscape</confml:key><confml:x>15</confml:x><confml:y>80</confml:y><confml:width>150</confml:width><confml:height>150</confml:height><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='1']"></confml:widgetId></confml:WidgetPresentations>
-      <confml:WidgetPresentations><confml:key>portrait</confml:key><confml:x>136</confml:x><confml:y>276</confml:y><confml:width>81</confml:width><confml:height>81</confml:height><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='2']"></confml:widgetId></confml:WidgetPresentations>
-      <confml:WidgetPresentations><confml:key>landscape</confml:key><confml:x>136</confml:x><confml:y>176</confml:y><confml:width>81</confml:width><confml:height>81</confml:height><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='2']"></confml:widgetId></confml:WidgetPresentations>
-      <confml:WidgetPreferences extensionPolicy="replace"><confml:key>clockType</confml:key><confml:value>Analog</confml:value><confml:widgetId>1</confml:widgetId></confml:WidgetPreferences>
-    </confml:HomeScreenDbSettings>
-  </confml:data>
-</confml:configuration>
\ No newline at end of file
--- a/homescreenapp/hsapplication/conf/base/confml/homescreen_view.confml	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/conf/base/confml/homescreen_view.confml	Mon May 03 12:24:59 2010 +0300
@@ -8,7 +8,11 @@
         <confml:setting ref="HomeScreenDbSettings/portraitWallpaper"/>
         <confml:setting ref="HomeScreenDbSettings/landscapeWallpaper"/>
         <confml:setting ref="HomeScreenDbSettings/maximumPageCount"/>
-        <confml:setting ref="HomeScreenDbSettings/defaultPageId"/>        
+        <confml:setting ref="HomeScreenDbSettings/defaultPageId"/>
+        <confml:setting ref="HomeScreenDbSettings/maximumWidgetHeight"/>   
+        <confml:setting ref="HomeScreenDbSettings/maximumWidgetWidth"/>   
+        <confml:setting ref="HomeScreenDbSettings/minimumWidgetHeight"/>   
+        <confml:setting ref="HomeScreenDbSettings/minimumWidgetWidth"/>                           
       </confml:group>
       <confml:group name="Pages">
         <confml:desc>Sample Description</confml:desc>
--- a/homescreenapp/hsapplication/conf/base/confml/homescreendb.confml	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/conf/base/confml/homescreendb.confml	Mon May 03 12:24:59 2010 +0300
@@ -4,7 +4,12 @@
     <confml:setting ref="portraitWallpaper" name="Portrait wallpaper" type="string"/>
     <confml:setting ref="landscapeWallpaper" name="Landscape wallpaper" type="string"/>
     <confml:setting ref="maximumPageCount" name="Maximum number of pages" type="int"/>
-    <confml:setting ref="defaultPageId" name="Default page ID" type="selection"> <confml:option map="HomeScreenDbSettings/Pages"/>    
+    <confml:setting ref="maximumWidgetHeight" name="Maximum height of widget" type="int"/>
+    <confml:setting ref="maximumWidgetWidth" name="Maximum width of widget" type="int"/>
+    <confml:setting ref="minimumWidgetHeight" name="Minimum height of widget" type="int"/>
+    <confml:setting ref="minimumWidgetWidth" name="Minimum width of widget" type="int"/>
+    <confml:setting ref="defaultPageId" name="Default page ID" type="selection">
+      <confml:option map="HomeScreenDbSettings/Pages"/>
     </confml:setting>
     <confml:setting ref="Pages" mapKey="id" mapValue="id" name="Pages" type="sequence">
       <confml:setting ref="id" name="ID" type="int"/>
@@ -21,8 +26,6 @@
       <confml:setting ref="key" name="Key" type="string"/>
       <confml:setting ref="x" name="X position" type="real"/>
       <confml:setting ref="y" name="Y position" type="real"/>
-      <confml:setting ref="width" name="Width" type="real"/>
-      <confml:setting ref="height" name="Height" type="real"/>
       <confml:setting ref="zValue" name="Z value" type="real"/>
       <confml:setting ref="widgetId" name="Widget ID" type="selection">
         <confml:option map="HomeScreenDbSettings/Widgets"/>
@@ -36,4 +39,29 @@
       </confml:setting>
     </confml:setting>
   </confml:feature>
+  <confml:data>
+    <confml:HomeScreenDbSettings>
+      <confml:landscapeWallpaper/>
+      <confml:portraitWallpaper/>
+      <confml:maximumPageCount>8</confml:maximumPageCount>
+      <confml:maximumWidgetHeight>40</confml:maximumWidgetHeight>
+      <confml:maximumWidgetWidth>51</confml:maximumWidgetWidth>
+      <confml:minimumWidgetHeight>3</confml:minimumWidgetHeight>
+      <confml:minimumWidgetWidth>3</confml:minimumWidgetWidth>
+      <confml:defaultPageId map="HomeScreenDbSettings/Pages[@key='1']"/>
+      <confml:Widgets extensionPolicy="replace"><confml:id>1</confml:id><confml:uri>hsclockwidgetplugin</confml:uri><confml:pageId>1</confml:pageId></confml:Widgets>
+      <confml:Widgets><confml:id>2</confml:id><confml:uri>hsdialerwidgetplugin</confml:uri><confml:pageId>1</confml:pageId></confml:Widgets>
+      <confml:Widgets><confml:id>3</confml:id><confml:uri>ftuhswidget</confml:uri><confml:pageId>1</confml:pageId></confml:Widgets>
+      <confml:WidgetPresentations extensionPolicy="append"><confml:key>portrait</confml:key><confml:x>15</confml:x><confml:y>80</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='1']"></confml:widgetId></confml:WidgetPresentations>
+      <confml:WidgetPresentations><confml:key>landscape</confml:key><confml:x>15</confml:x><confml:y>80</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='1']"></confml:widgetId></confml:WidgetPresentations>
+      <confml:WidgetPresentations><confml:key>portrait</confml:key><confml:x>136</confml:x><confml:y>276</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='2']"></confml:widgetId></confml:WidgetPresentations>
+      <confml:WidgetPresentations><confml:key>landscape</confml:key><confml:x>136</confml:x><confml:y>176</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='2']"></confml:widgetId></confml:WidgetPresentations>
+      <confml:WidgetPresentations><confml:key>portrait</confml:key><confml:x>15</confml:x><confml:y>400</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='3']"></confml:widgetId></confml:WidgetPresentations>
+      <confml:WidgetPresentations><confml:key>landscape</confml:key><confml:x>300</confml:x><confml:y>150</confml:y><confml:zValue>0.0</confml:zValue><confml:widgetId map="HomeScreenDbSettings/Widgets[@key='3']"></confml:widgetId></confml:WidgetPresentations>      
+      <confml:WidgetPreferences extensionPolicy="replace"><confml:key>clockType</confml:key><confml:value>Analog</confml:value><confml:widgetId>1</confml:widgetId></confml:WidgetPreferences>
+      <confml:Pages extensionPolicy="replace"><confml:id>1</confml:id><confml:indexPosition>0</confml:indexPosition></confml:Pages>
+      <confml:Pages><confml:id>2</confml:id><confml:indexPosition>1</confml:indexPosition></confml:Pages>
+      <confml:Pages><confml:id>3</confml:id><confml:indexPosition>2</confml:indexPosition></confml:Pages>
+    </confml:HomeScreenDbSettings>
+  </confml:data>
 </confml:configuration>
\ No newline at end of file
--- a/homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/create.sql	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/create.sql	Mon May 03 12:24:59 2010 +0300
@@ -4,7 +4,11 @@
   portraitWallpaper TEXT,
   landscapeWallpaper TEXT,
   defaultPageId INTEGER,
-  maximumPageCount INTEGER);
+  maximumPageCount INTEGER,
+  maximumWidgetHeight INTEGER,
+  maximumWidgetWidth INTEGER,
+  minimumWidgetHeight INTEGER,
+  minimumWidgetWidth INTEGER);
 
 DROP TABLE IF EXISTS Pages;
 CREATE TABLE Pages (
@@ -22,8 +26,6 @@
   key TEXT,
   x REAL,
   y REAL,
-  width REAL,
-  height REAL,
   zValue REAL,	
   widgetId INTEGER,
   UNIQUE(widgetId, key) ON CONFLICT REPLACE,
--- a/homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/fill.sql	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/conf/base/implml/homescreendb_templates/fill.sql	Mon May 03 12:24:59 2010 +0300
@@ -2,7 +2,11 @@
 {%- set landscapeWallpaper = feat_tree.HomeScreenDbSettings.landscapeWallpaper._value or '' -%}
 {%- set defaultPageId = feat_tree.HomeScreenDbSettings.defaultPageId._value -%}
 {%- set maximumPageCount = feat_tree.HomeScreenDbSettings.maximumPageCount._value -%}
-INSERT INTO Scene (portraitWallpaper, landscapeWallpaper, defaultPageId, maximumPageCount) VALUES ('{{portraitWallpaper}}', '{{landscapeWallpaper}}', {{defaultPageId}}, {{maximumPageCount}});
+{%- set maximumWidgetHeight = feat_tree.HomeScreenDbSettings.maximumWidgetHeight._value -%}
+{%- set maximumWidgetWidth = feat_tree.HomeScreenDbSettings.maximumWidgetWidth._value -%}
+{%- set minimumWidgetHeight = feat_tree.HomeScreenDbSettings.minimumWidgetHeight._value -%}
+{%- set minimumWidgetWidth = feat_tree.HomeScreenDbSettings.minimumWidgetWidth._value -%}
+INSERT INTO Scene (portraitWallpaper, landscapeWallpaper, defaultPageId, maximumPageCount, maximumWidgetHeight, maximumWidgetWidth, minimumWidgetHeight, minimumWidgetWidth) VALUES ('{{portraitWallpaper}}', '{{landscapeWallpaper}}', {{defaultPageId}}, {{maximumPageCount}}, {{maximumWidgetHeight}}, {{maximumWidgetWidth}}, {{minimumWidgetHeight}}, {{minimumWidgetWidth}});
 
 {% for index in range(feat_tree.HomeScreenDbSettings.Pages._value|length) -%}
     {%- set id = feat_tree.HomeScreenDbSettings.Pages.id._value[index] -%}
@@ -22,12 +26,10 @@
     {%- set key = feat_tree.HomeScreenDbSettings.WidgetPresentations.key._value[index] or '' -%}
     {%- set x = feat_tree.HomeScreenDbSettings.WidgetPresentations.x._value[index] -%}
     {%- set y = feat_tree.HomeScreenDbSettings.WidgetPresentations.y._value[index] -%}
-    {%- set width = feat_tree.HomeScreenDbSettings.WidgetPresentations.width._value[index] -%}
-    {%- set height = feat_tree.HomeScreenDbSettings.WidgetPresentations.height._value[index] -%}
     {%- set zValue = feat_tree.HomeScreenDbSettings.WidgetPresentations.zValue._value[index] -%}
     {%- set widgetId = feat_tree.HomeScreenDbSettings.WidgetPresentations.widgetId._value[index] -%}
     
-    INSERT INTO WidgetPresentations (key, x, y, width, height, zValue, widgetId) VALUES ('{{key}}', {{x}}, {{y}}, {{width}}, {{height}}, {{zValue}}, {{widgetId}});
+    INSERT INTO WidgetPresentations (key, x, y, zValue, widgetId) VALUES ('{{key}}', {{x}}, {{y}}, {{zValue}}, {{widgetId}});
 {% endfor %}
 
 {% for index in range(feat_tree.HomeScreenDbSettings.WidgetPreferences._value|length) -%}
--- a/homescreenapp/hsapplication/conf/base/root.confml	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/conf/base/root.confml	Mon May 03 12:24:59 2010 +0300
@@ -2,5 +2,4 @@
 <confml:configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:confml="http://www.s60.com/xml/confml/2" xmlns:xi="http://www.w3.org/2001/XInclude" xsi:schemaLocation="http://www.s60.com/xml/confml/2 http://www.s60.com/xml/confml/1#//confml2 http://www.w3.org/2001/XInclude http://www.s60.com/xml/confml/1#//include">
   <xi:include href="confml/homescreendb.confml"/>
   <xi:include href="confml/homescreen_view.confml"/>
-  <xi:include href="confml/data.confml"/>
 </confml:configuration>
\ No newline at end of file
Binary file homescreenapp/hsapplication/homescreen.qm has changed
--- a/homescreenapp/hsapplication/homescreen.ts	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/homescreen.ts	Mon May 03 12:24:59 2010 +0300
@@ -2,123 +2,183 @@
 <!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>    
+<message numerus="no" id="txt_homescreen_opt_add_page">
+    <comment>User adds a new page to home screen</comment>        
+    <source>Add page</source>
+    <translation variants="no">Add page</translation>
+    <extra-loc-layout_id>qtl_menu_pri</extra-loc-layout_id>    
     <extra-loc-viewid>homescreen</extra-loc-viewid>
-    <extra-loc-positionid>list</extra-loc-positionid>
+    <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_add_page">
-    <comment>User adds a new page to home screen</comment>        
-    <source>Add page</source>
-    <translation>Add page</translation>
+<message numerus="no" id="txt_homescreen_opt_change_wallpaper">
+    <comment>Options menu item for opening picture gallery</comment>        
+    <source>Change wallpaper</source>
+    <translation variants="no">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_opt_remove_page">
-    <comment>User removes page from home screen</comment>        
-    <source>Remove page</source>
-    <translation>Remove page</translation>
+<message numerus="no" id="txt_homescreen_title_offline">
+    <comment>Offline text in home screen view title</comment>        
+    <source>Offline</source>
+    <translation variants="no">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 numerus="no" id="txt_homescreen_opt_clean_up_page">
+    <comment>Options menu item for arranging home screen content automatically</comment>        
+    <source>Clean up page</source>
+    <translation variants="no">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_list_change_wallpaper">
-    <comment>Home screen canvas menu item for opening picture gallery</comment>        
-    <source>Change wallpaper</source>
-    <translation>Change wallpaper</translation>
+<message numerus="no" id="txt_homescreen_title_remove_page">
+    <comment>Heading text in confirmation dialog</comment>        
+    <source>Remove page</source>
+    <translation variants="no">Remove page</translation>
+    <extra-loc-layout_id>qtl_dialog_pri_heading</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 numerus="no" 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 variants="no">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 numerus="no" id="txt_homescreen_list_add_content">
+    <comment>Home screen canvas menu item for opening Application library</comment>        
+    <source>Add content</source>
+    <translation variants="no">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_change_wallpaper">
-    <comment>Options menu item for opening picture gallery</comment>        
-    <source>Change wallpaper</source>
-    <translation>Change wallpaper</translation>
+<message numerus="no" id="txt_homescreen_opt_remove_page">
+    <comment>User removes page from home screen</comment>        
+    <source>Remove page</source>
+    <translation variants="no">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_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>
+<message numerus="no" id="txt_homescreen_title_in_car_control">
+    <comment>Text in home screen view title when SIM access profile is active. While this mode is active, SIM card is controlled by car kit.</comment>        
+    <source>In car control</source>
+    <translation variants="no">In car control</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 numerus="no" id="txt_homescreen_list_change_wallpaper">
+    <comment>Home screen canvas menu item for opening picture gallery</comment>        
+    <source>Change wallpaper</source>
+    <translation variants="no">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_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>    
+<message numerus="no" id="txt_homescreen_info_page_and_content_will_be_remov">
+    <comment>Text in confirmation dialog</comment>        
+    <source>Page and content will be removed</source>
+    <translation variants="no">Page and content will be removed</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
     <extra-loc-viewid>homescreen</extra-loc-viewid>
-    <extra-loc-positionid>title</extra-loc-positionid>
+    <extra-loc-positionid>info</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>
+<message numerus="no" 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 variants="no">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 numerus="no" id="txt_homescreen_button_ok">
+    <comment>Button in confirmation dialog</comment>        
+    <source>OK</source>
+    <translation variants="no">OK</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_1</extra-loc-layout_id>    
+    <extra-loc-viewid>homescreen</extra-loc-viewid>
+    <extra-loc-positionid>button</extra-loc-positionid>
+    <extra-loc-feature>ho</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" 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 variants="no">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_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>    
+<message numerus="no" id="txt_homescreen_button_cancel">
+    <comment>Button in confirmation dialog</comment>        
+    <source>Cancel</source>
+    <translation variants="no">Cancel</translation>
+    <extra-loc-layout_id>qtl_dialog_softkey_2</extra-loc-layout_id>    
     <extra-loc-viewid>homescreen</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-positionid>button</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>
+<message numerus="no" id="txt_homescreen_opt_task_switcher">
+    <comment>Options menu item for opening Task switcher</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>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">
+<message numerus="no" 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>
+    <translation variants="no">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>    
+<message numerus="no" id="txt_homescreen_title_no_service">
+    <comment>Text in home screen view title, when device is out of network coverage or no SIM card present</comment>        
+    <source>No service</source>
+    <translation variants="no">No service</translation>
+    <extra-loc-layout_id>qtl_chrome_title</extra-loc-layout_id>    
     <extra-loc-viewid>homescreen</extra-loc-viewid>
-    <extra-loc-positionid>opt</extra-loc-positionid>
+    <extra-loc-positionid>title</extra-loc-positionid>
     <extra-loc-feature>ho</extra-loc-feature>
     <extra-loc-blank>False</extra-loc-blank>
 </message>
--- a/homescreenapp/hsapplication/hsapplication.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/hsapplication.pro	Mon May 03 12:24:59 2010 +0300
@@ -41,14 +41,19 @@
 
 RESOURCES += hsapplication_fallbacktheme.qrc
 
+LIBS += -lhsutils \
+        -lhsdomainmodel
+
+
 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
+    LIBS +=  -lapgrfx \
+             -lcone \
+             -lefsrv
     include(installs_symbian.pri)
 
     CONFIG += service
--- a/homescreenapp/hsapplication/hsapplication_fallbacktheme.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/hsapplication_fallbacktheme.qrc	Mon May 03 12:24:59 2010 +0300
@@ -7,8 +7,7 @@
         <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>
@@ -21,5 +20,36 @@
         <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>
+        
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_b.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_bl.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_br.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_c.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_l.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_r.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_t.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tl.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tr.svg</file>
+        
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_b.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_bl.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_br.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_c.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_l.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_r.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_t.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tl.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tr.svg</file>
+        
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_0.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_1.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_2.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_3.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_4.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_5.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_6.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_7.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_8.svg</file>
+        <file>themes/icons/hbdefault/scalable/qtg_anim_longtap_9.svg</file>
     </qresource>    
 </RCC>
--- a/homescreenapp/hsapplication/inc/hshomescreenclientserviceprovider.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/inc/hshomescreenclientserviceprovider.h	Mon May 03 12:24:59 2010 +0300
@@ -18,22 +18,21 @@
 #ifndef HSHOMESCREENCLIENTSERVICEPROVIDER_H
 #define HSHOMESCREENCLIENTSERVICEPROVIDER_H
 
+#include <QVariant>
+
 #include <xqserviceprovider.h>
-#include <QVariant>
 
 class HsHomeScreenClientServiceProvider : public XQServiceProvider
 {
     Q_OBJECT
+
 public:
-    HsHomeScreenClientServiceProvider( QObject *parent = 0 );
+    HsHomeScreenClientServiceProvider(QObject *parent = 0);
     ~HsHomeScreenClientServiceProvider();
-
     
 public slots:
     bool addWidget(const QString &uri,const QVariantHash &preferences);
-    
-private:
-    
+    bool setWallpaper(const QString &fileName);
 };
 
-#endif
+#endif // HSHOMESCREENCLIENTSERVICEPROVIDER_H
--- a/homescreenapp/hsapplication/installs_symbian.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/installs_symbian.pri	Mon May 03 12:24:59 2010 +0300
@@ -24,9 +24,3 @@
 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)"
--- a/homescreenapp/hsapplication/installs_win.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/installs_win.pri	Mon May 03 12:24:59 2010 +0300
@@ -21,29 +21,13 @@
                          ./resource_win/bg_3.png
 
 homescreendb.CONFIG += no_build
-homescreendb.path = $$DESTDIR
+homescreendb.path = $$DESTDIR/private/20022f35
 homescreendb.files = ./resource_win/homescreen.db
 
 wallpapers.CONFIG += no_build
-wallpapers.path = $$DESTDIR/wallpapers
+wallpapers.path = $$DESTDIR/private/20022f35/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
+INSTALLS += kqtihswallpapers homescreendb wallpapers 
 PRE_TARGETDEPS += install_kqtihswallpapers install_homescreendb install_wallpapers
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/homescreen.db has changed
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/homescreen.db has changed
--- a/homescreenapp/hsapplication/src/hshomescreen.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/src/hshomescreen.cpp	Mon May 03 12:24:59 2010 +0300
@@ -158,13 +158,9 @@
 {
     HSTEST_FUNC_ENTRY("HS::HsHomeScreen::registerServicePlugins()");
     QStringList pluginPaths;
-
+    
+    pluginPaths << "private/20022F35";    
     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) {
--- a/homescreenapp/hsapplication/src/hshomescreenclientserviceprovider.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/src/hshomescreenclientserviceprovider.cpp	Mon May 03 12:24:59 2010 +0300
@@ -11,25 +11,41 @@
 *
 * Contributors:
 *
-* Description:  Main class for HsHomeScreenClientServiceProvider library.
+* Description:
 *
 */
 
+#include <QDir>
+#include <QFileInfo>
+
 #include "hshomescreenclientserviceprovider.h"
+#include "hscontentservice.h"
 
 #include "hsscene.h"
-#include "hspage.h"
 #include "hsdomainmodeldatastructures.h"
-#include "hswidgethost.h"
+#include "hswallpaper.h"
+#include "hsdatabase.h"
+#include "hswallpaperhelper.h"
+
+#define HSBOUNDARYEFFECT 20 // amount of extra pixels in wallpaper width reserved for boundary effect 
 
-const char INTERFACE_NAME[] = "com.nokia.services.hsapplication.IHomeScreenClient";
+namespace
+{
+    const char gInterfaceName[] = "com.nokia.services.hsapplication.IHomeScreenClient";
+}
 
-HsHomeScreenClientServiceProvider::HsHomeScreenClientServiceProvider(QObject* parent)
-: XQServiceProvider(INTERFACE_NAME,parent)
+/*!
+    Constructor.
+*/
+HsHomeScreenClientServiceProvider::HsHomeScreenClientServiceProvider(QObject *parent)
+  : XQServiceProvider(gInterfaceName, parent)
 {
     publishAll();
 }
 
+/*!
+    Destructor.
+*/
 HsHomeScreenClientServiceProvider::~HsHomeScreenClientServiceProvider()
 {
 }
@@ -38,33 +54,78 @@
 #pragma CTC SKIP
 #endif //COVERAGE_MEASUREMENT
 
-// this should be moved to HsContentService class 
-
-bool HsHomeScreenClientServiceProvider::addWidget(const QString &uri,const QVariantHash &preferences)
+/*!
+    Adds new widget, with the give \a uri and \a preferences, 
+    to the active home screen page.
+*/
+bool HsHomeScreenClientServiceProvider::addWidget(const QString &uri, const QVariantHash &preferences)
 {
+    return HsContentService::instance()->addWidget(uri, preferences);
+}
 
-    HsWidgetData widgetData;
-    widgetData.uri = uri;
-
-    QScopedPointer<HsWidgetHost> widget(HsWidgetHost::createInstance(widgetData,preferences));
-
-    if (!widget.data()) {
+/*!
+    Changes \a fileName image to the active home screen page's wallpaper.
+*/
+bool HsHomeScreenClientServiceProvider::setWallpaper(const QString &fileName)
+{
+    HsScene *scene = HsScene::instance();
+        
+    HsDatabase *db = HsDatabase::instance();
+    Q_ASSERT(db);
+    
+    HsSceneData sceneData;
+    if (!db->scene(sceneData)) {
         return false;
     }
-    HsPage* activePage = HsScene::instance()->activePage();
-    if (!widget->load() || !activePage->addNewWidget(widget.data())) {
-        widget->deleteFromDatabase();
-        return false;
+
+    QFileInfo fileInfo(fileName);
+    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);
     }
-    HsWidgetHost* taken = widget.take();
-    taken->initializeWidget();
-    taken->showWidget();
-    activePage->layoutNewWidgets();
+    
+    QString portraitPath = HsWallpaper::wallpaperPath(
+        Qt::Vertical, QString(), fileExtension);
+    QString landscapePath = HsWallpaper::wallpaperPath(
+        Qt::Horizontal, QString(), fileExtension);
+    
+    QRect portraitRect = QRect(0, 0, (2 * 360) + HSBOUNDARYEFFECT, 640);
+    QRect landscapeRect = QRect(0, 0, (2 * 640) + HSBOUNDARYEFFECT, 360);
+    QRect sourceRect; // left empty to signal we want to use full size image as source
+    
+    QImage portraitImage = HsWallpaperHelper::processImage(fileName,
+            portraitRect, sourceRect);
 
+    QImage landscapeImage = HsWallpaperHelper::processImage(fileName,
+            landscapeRect, sourceRect);
+
+    if (!portraitImage.isNull() && !landscapeImage.isNull()) {
+        portraitImage.save(portraitPath);
+        sceneData.portraitWallpaper = portraitPath;
+        
+        landscapeImage.save(landscapePath);
+        sceneData.landscapeWallpaper = landscapePath;
+        
+        if (db->updateScene(sceneData)) {
+            scene->wallpaper()->setImagesById(QString(), fileInfo.suffix());
+        }
+    }
+    else {
+        // display some error note here
+    }
     return true;
 }
 
+
 #ifdef COVERAGE_MEASUREMENT
 #pragma CTC ENDSKIP
 #endif //COVERAGE_MEASUREMENT
-
--- a/homescreenapp/hsapplication/src/main.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/src/main.cpp	Mon May 03 12:24:59 2010 +0300
@@ -20,7 +20,6 @@
 #include <hbapplication.h>
 #include <hbmainwindow.h>
 #include "hshomescreen.h"
-#include "hsapptranslator.h"
 #include "hstest_global.h"
 
 namespace
@@ -38,25 +37,13 @@
 #include <apgwgnam.h>
 
 
-void loadTranslationFilesOnSymbian(QTranslator &hsTranslator, QTranslator &alTranslator);
+void loadTranslationFilesOnSymbian(QTranslator &commonTranslator, 
+                                    QTranslator &hsTranslator, 
+                                    QTranslator &alTranslator);
 void copyWallpapersFromRom();
 void copyHsDatabaseFileFromRom();
 void createPrivateFolder();
 
-// 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());
@@ -111,15 +98,13 @@
     HSDEBUG(debugMsg);
 #endif //Q_OS_SYMBIAN
 
-    HsAppTranslator *appTranslator = HsAppTranslator::instance();
-    appTranslator->setLanguage();
-    
     // add translator for homescreen and application library
     QTranslator hsTranslator;
     QTranslator alTranslator;
+    QTranslator commonTranslator;
 #ifdef Q_OS_SYMBIAN
     // TRAP is must here, otherwise it crashes
-    TRAP_IGNORE( loadTranslationFilesOnSymbian(hsTranslator, alTranslator) );
+    TRAP_IGNORE( loadTranslationFilesOnSymbian(commonTranslator, hsTranslator, alTranslator) );
 #else
     QString locale = QLocale::system().name();
     QString hsTrFile = QString("homescreen_") + locale;
@@ -127,6 +112,7 @@
     QString alTrFile = QString("hsapplibrary_") + locale;
     alTranslator.load(alTrFile, QString(TR_FILE_PATH) );
 #endif //Q_OS_SYMBIAN
+    qApp->installTranslator(&commonTranslator);
     qApp->installTranslator(&hsTranslator);
     qApp->installTranslator(&alTranslator);
     
@@ -143,16 +129,9 @@
     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");
@@ -251,10 +230,18 @@
 /*!
  * Load translation files.
  */
-void loadTranslationFilesOnSymbian(QTranslator &hsTranslator, QTranslator &alTranslator)
+void loadTranslationFilesOnSymbian(QTranslator &commonTranslator, 
+                                   QTranslator &hsTranslator, 
+                                   QTranslator &alTranslator)
 {
+    QString locale = QLocale::system().name();
+    bool commonLoaded(false);
+    QString commonTrFile = QString("common_") + locale;
+    commonLoaded = commonTranslator.load(commonTrFile, QString("z:/") + TR_FILE_PATH);
+    if (!commonLoaded) {
+        commonTranslator.load(commonTrFile, QString("c:/") + TR_FILE_PATH);
+    }
     bool hsLoaded(false);
-    QString locale = QLocale::system().name();
     QString hsTrFile = QString("homescreen_") + locale;
     hsLoaded = hsTranslator.load(hsTrFile, QString("z:/") + TR_FILE_PATH);
     if (!hsLoaded) {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_0.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,1316 @@
+<?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 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd" [
+	<!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.1" 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="14400px" height="14400px"
+	 viewBox="0 0 14400 14400" 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">
+	</g>
+</switch>
+<i:pgf  id="adobe_illustrator_pgf">
+	<![CDATA[
+	eJzsvWuPHElyIPidAP9D3QcBMx+6FP4I94jBYoF86uaupWnMY3cO2kWDmubMcLdJNtjd0ul+/dnb
+zSMis7JYNVKPVOXNZtEy0sMf5ub2tr/5P776zRe7bz7+09sv0v1w9/rV3/zN4dPbNz98/PSLOwLf
+/fLbb3/8/odPCPrZr39+F+AxfGr3y+lrefK/vf30/buPH35Bn/GnZ/z+z3779tPHD28/3P3fb959
+/+Y+3P2Pn51+/9svfvvu7Q8f//ZXP3774//4+c/vfvZzfP6373749i1843cffsDfvvki/NyGAl0f
+3/wAn6a/TeFv4xCGu/yLkO6++nt8ZP/xxw/fvPvwp/3H//cXd1+kQn/CMOEf/Pz/fPfrt98/9NDx
+4x9+fP/2ww9fffr4h7fff3/4+O3HT9//Aj7Z/XL8+vzu27cwn/dvfribaXa7X4b49f7Hd99+8w8/
+vv+ntzDTPBSCp6/pq7/7/s2fYLz0O8Hr1798D6DfvP3hBxjF97+4o0X69d/t/QsBSu1n//jrt396
+R0sOU/+fP9eeP3387v2bT//7e36uRvhPPvrt2/fffQtLRNODmel/+jFMQGZeYYfi3Rcxz/d5Gsa7
+nMf7IczjXYoBIPKFthxv//nd23/5xd0/wDbKauw+/fCbd/8fzC7kPAz8f/no1z9++/bT7z68+wGG
+yO+eeT3+/uM3b7+Fb7Quzt+++dP3OuHQ/i9P/PbNpz+9/QE27uO3P/5AqDXZW2DNv3zzr4By2uH8
+9a++e/vhtx//Gw31i5rvQynjXQjhfryDbU5pupsD7PVE78nwryJvDPRWHRd2g51o9xU36SvYt199
+evendx9+8UVOw30ahnT3xQi/xXmaZHf/7tO7b9rmwtZM/D+a0/3k/sz6R4YOC/HDD28/6FwAsQ5/
+79BkuP/73+AoTh++OXx8j3vyPSE9IMgHwJ1vP/5JPm3/oM+gix+/k2kR4GvYwq8+vfuAHb9+9Q/8
+2fT1V9/+CB/+3aePP373yw9//Pj61c/40H/15oc/3+2/ffvhm+/hiDKM/3nHXwHol+/+WYH3b959
+9/MHuvzNv77/p4/fvvv+vXXoIfb7LV399tObP8A87n71T//r7R9+gG8LoP32mx/f/fD2lq6+wuX/
+9OFXH3jGn378/s93v/348VsbpDwgH9nkAYf5Oz+Zl9jDWy+AD3+6nR/efPvtuz99evPdn9/9Yav/
+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
+	]]>
+	<![CDATA[
+	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
+Ocg/rBn12vHmjNjcEUUzSnqB2kVHNg35Mr6w1472WnJ1UtQ4w7V+1GvKWYewpSFt2nLTkBLx9jrS
+Vt9gqSW9qidtWlK4YJaa0tk0pUsd+pau1DSlqk83j41NzxlX1WIbxz4Lyw5AGDesLws8W+VW8BaY
+FaYBhqkNpungm9Nrw7XmzNwsMUtbzNoas7THbOGbauPX0biMceoWK7YZxroFzrF1pmnlG9Yp3u09
+3lHpI9LOm6XGaec3cW+NfR3+vX6VUoeDDQsbHrK+nvFwLwn/Z4eNio+EkVRtpGFmw861HxzlVh4G
+TI6LWWPniFlw4ZcKvI3kluXf7gOny4VfOGgy3sV4j8L3IuDyGTrjONDIIaSBYzcx7XLx0aSDJvQN
+nNCX8vjO6T4CarnhPKUXyZwMmDeO0oOFjlad3aBZjuGwj0WyHJd4nwDHfMrkJ/SiGYU1q7F+W57l
+DMASyVox726kXzDzLnSU5ntEvruU76cU+pzCz9OjjO/zNj6X+zEELCF7X2qOT8ekZYcyOo4Dhudo
+J3DJOWYZ+yoY9UtZiyWlsaSuhqnWe5gxLFANsx/aM/T2SAf333348Ob922/u/tSFFW9AX9zbL/+8
+uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLdf/7nNSnnd/vji3v7i3v7i3v7i3v7i3v7i
+3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3v7i3n5jH81I9+LefjP7/OLe/uLe/uLe/uLe
+/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/uLe/lN1bw9p28Ed4IvSWaKeUYLSGwD1Ypvc
+xVY2jMNJnK0pjb04XTeXUKkN2ZmIUYKr5lbJMl4Ud8yBuUx1yRanEXYo0WqarWQx66VUw2Ma45Mv
+e/BAtV24ONnx4pJxCq5MkNx71qy52/YMWbsk2wXpjdPqmlCoaiteiaGZpugaZIZLrz8pa2BGIjUQ
+qYmokMQUaU5Hcjrh2WR2A6GZsJmI5kFzCGJg8+Y1nUdkAxvNYy8GtkqGI5mJc7PAmWj1PjSyBdSX
+ot5aLvaZdKpiSkLNjLCOe9LY0DVu+qVirsUNE9Q532GDOQDvxFV/7uqrmumV3KGWWsuHTMtXdX2P
+cwLTeZF2yHTrptdtWqKmJ2qaItIVmaao0xVZCIDqi9gpVDVGe9MYHU1jNJjGSHRGvWsonJWmKzIt
+0UI/xK6hIF+bo+4tOv7mavmgdYWcY5al0bwz79KyctmuIjp9qg1ZukJ4vm7ywqLiQkhYR+TtSZcL
+h/k5+1nbvIGfOhCz2ObuZ3+pjFhv3/AWDjix3UpcsnHIeqxZusB3Nd6TcPlEupbwOsWbiis4wn1O
+XCde/3jBx8Yfxb4myfP0JgVN7rNyXJnKZ8uVqXyZfjfPyHXwdxf1Tz6zh6dft/nCdZsvVKpsSn8l
+RGuPlbW/yYY/p/loek/M3uvy4KIjzqJeHaQE9LBw5gdsB1KchAwzOfbxQBb54+J9fNSOizJQydai
+cvgVPu5mlP+PUh66UJW0InE3VRgOlmFm13YS6TWbdb+1vfx/L/9ftoNrRznm0MT76WSMkFOp4WYs
+fJVbpVFft5AifEKL7mmxPX01uGQGVJ7J2ni9JKytuqiS1D2bURa+60BOSHOy937r5rPeCGlvRJnE
+V/1IauVIfupFirIfzEs9iJd6MdOJGk6iRUJYtNsi1s1Hup1R42CRbhrnpiXZ+aJ7TJQbXWN0ifEF
+xpdXkGtL4hk2KlCGxVnTqrGtbmyrMGqF1OnMuJqUcFr6SqOtmuzpYkTD5AwS3hhB8Q==
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	vNoNkF3wRjAa3+K/5y635FZ2yTavNqs+p6TOCOZzYTbX59LPxObB5kuYzWoWckvp7WS6y5l/dlIO
+VsuRihOgK0oaLctRWZSH7Zww0fxrjpjNFXO6EBXashqtHDI1IpRyFz3gkrl0MfpJ2ST+Uj0urBif
+bee7aO1zdr7Ltr5NC0mz/zmLIFAJ4KG3rCbbtpNtK8rCnkKZji9bDNd2w952uLS1TBIDOHdtZ61Z
+EzX2cWFNXORlI6siWWIu5WdbZ2WrnYVxJgcjtTJyg71u9kZzO2LHI3XGylL8eJS0AuoluHNWm6O4
+aEHTSlZWNDVS4dTsnJOqFJhkZ1l1ikU/6EGskVGcX8tP0ja4bFs4fmu7UjwRerxsAed2G5YbihiO
+91h9GYe3MNfj7YFk2cMae7XK2AJLewz1mQI5JcWeSlQofmrWs5MkhmY+sQ18lKKmHGBFlnArXUHY
+SImkmW2JYk1kS3gxt+295BtnWzi7YSdxv+YiFjM5s7I1XMp0v35Fy5PFrX4Si/hRghCCZadXx3i9
+DdUunigj+SQZyeHWwzzBLvuhBh1oyMEyPz3fbX2mg0rlTOVGOw0kT3OQQQsw0PACDS7gyH8OKzid
+r/z8JC2Uq8vCbHWX21PG+Nh+Lj656LF/fustPsRtC6azXjtL9v/eLi+0WWzor9qa8tfaI9t5cXdH
+uAo5h8GR0oZJDY8XO+lLjy89/jv0uIie+iux1j5Pjwsl+Wfbfy9ag5399/rPzTa7qxa6R1nmVM8u
+mYuu2eZ669zaQpc71jlZpt3WfIHlLsu72eya1c5b7kSnT9W5mwXPW/GWFmizQps1r1mi1aqXyfE8
+OZu0s+85G5+3Th9tmfdmH3AWP7H5VbEWsL2ALQZZBIxoFsBmtz5LGvijWBHMfv2TtBlv2pAftBk/
+2pJMec8vY+2W78MDNmXJPXbZspwWGLuBrT2mAv70eNrbmK94R3RWZmdnJozc8pC47iPhbVQLezNl
+pN/2kuitzlf8JHovCarx4WvWL6rWb9qfvQV6VfPjASv0LTU/+oof0SrQY5oRTTKyTPTIyUU4tYik
+wLH0jjtK24FJO2IIf4WW6+32GSoc6PGKXfvBtmHThh4ftnC3ak/Xbdyk4X/96qqlu7d1i7Xb2qa1
+2ywdS5v3Nau32b2taonavc+OU+n5g94Tp7+pNy3gra6U+MA4CuVu0LUdfLegQT31SVIPKF7xy9pL
+YNYlahM7SkN05vWrB/Lgq39LsAz4x4V/iwa1jRj8v8pjbvW+M9qJc1/6e1YrMpU/nTCMKvYJzD/n
+61Ld54l29pLvh5znZ7Tca48SKIbzGbnOvVYGMhO7lWfVlL/3I1ncL9rtn6O3p1rtt+usJ8wWXPtq
+Q5YteyM6vnalL7aLRnblIskYo+kP1zWYfZxzV3+5i3HWCGeKbEYjAoUvLaoum/rDR/n7DOZnKSO7
+nFOfaf0o/gMczx27hJ2Xcq4v49t94s6NmVJJhIku3Z0vjmoz6It77lbJKoPNIsss/BxcGk68kqXS
+vcboL/fJJ+JcVpDWMkGurCenIYUZcG4Djk23nfurVUGthHeLc96O7b0Y67wZ6XwiwfizCwVuR/ZK
+6ZRVbO9iBjeniN+chZsHXcFdgvhHlMvbnAtlr2rOYTYbm0FLJd/n/7w0i34v+t1IZOTfzpS5zAKq
+rMB2cRuX23QRk+/2pncVWGSyW+Q5t1w8octneOhz7rmntrLySQ48X1GtT9K1SCFlXPkyzdT2U8tU
+VF0yquV0FxJGX1NwK41hky9iCuvkhUDAWqLNRYpAHeFGOsSHEyKOm71Kv7Jl1bbN0rrbO33lHp9W
+nhIcurf2b3bv7GcD79Skh5xYySW79EnTPycX2SoTWTMPUqGKC24vOtWN99yS9Wzjbfwucpflt60y
+n9k7b33fRp41eV/n1EP5c21+fSa7C/mDLv14wxmb3HyR4mWZ4plqk7Qqjlqbkfz7uuwyLfl0NS/H
+daGxYHzJsiTgfqMaTF+iuxXo1kTalmOGiooh/9Xl3LnxTm8BiLoybX36NZJ16vwfC1GvWXIRceLx
+gyto3hdk09xE0fxEe//QloHsuKhFE2NfjaYvpCjr1tbOSpx3XN2juJxLGWr6PDVZVkSxpq7WYy9e
+oQdeDfILVdwJtBLNO9RyshERUxzS9VC+MEh9q7xYDcYjTmGuBSW1ZN1IIeSohZqdq9KxT1Lefk7W
+VC2xXUO7+Tg2D0fxbpS62Vs1ZTxToz6No6Re6VOeK1vQUrAoa7CdhuU6a7BMD87RWiuGrask/tCK
+XKor3vw+zecTeuwq7Tg2z/w9b1oXY/tgRfbG+i1XJnaenUv27wIDCCuyN52JMU43rsglLLmIJ4sV
+aWl5bl8Tn2yd6yUdFozkkiV2zL3gi2eKV6uC0rvhjK3K6trZGTP3QOEbIRMt5bH6fazSMK8SIzf/
+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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+/4Mvf/jVI2FgDcStt23dX3z3Z7/3s6o4/fLFn33vs+8u7ocFAeth7QO7ko9+/Gs/fKFKF4j3fvi1
+jz+a3PUAsDew613i8K+/93Pfe/bFigvily+/+Oz3PvfeXx8W71oFi3oZWkGbuyce/euvfP+/Ki65
+l1/6r+9/5a8fnejefCteoteggb1bHLz42OPffKZMaBCx8cw3H3/s4qB4N5UzSI7dInScee37Pvud
+H1YUMz/8zmff99ozHcItTJItu+7G21uj4498+HPfJoKM1aGC7Nuf+/Aj49HW22+kggxUyeq7w/un
+3vAhIipforKSi8oPvWFqf/ju1bZawcJVBGH8909+5/s/fu6FX7xYKoxFh2gl4vvm9SIW959+8lv/
+/vSPkbx3iXtx/c0rShXEzUihnDz/und85JOf+/LXv/2v/+pWKDevLFNBRGWdOf/at/zJR/4G6azZ
+VRZXiube4xMXXvPIm95aSylStXv7+q3y7v0jZ8aS48kaapfaAWtuu1vYGgbNXlOx0yorVq297RXI
+drivtumAqyxbft31K27E1okH44RU4faPF/OHV6puYDkCFXGYYkmQ4iH3XYcgbHyBww==
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	NWLb8rXeitbN0/BwfRfSaWf6acGMwguffloGNSPtjJcLjVPQD02VVBzapFIY6DjPa6qYgoaHiUmu
+wWGpm1eqiFxgUFNzbcJ4XcwUWcxo0/rkjC49r27EFvHoeqBNdEVPmj5BenJMY9rB1jYMLQLVNE4P
+mdqGiTmstX6VqsQFvUNtt1OOhsHtyVWbWsCYbZh8WCzW1mEbOWa6iWt7uw/a+3Kfg6bmbiYbNtf4
+bD6Oljrrdp1fbak5q89vQIvqJIORpusSZXa0+PhtM+JpmPZN3p7rk4P9bc/i48JhzpwWTnZ1s1mH
+Jy5NZXSQwW5+gDoHTl7bRNE6tQOUX8mS2tDfQNYY6xr2QN43xlOVX7GtQE1LpAWtb4wBP+BqiVbr
+3G5YDBgA1hLRkvZRZNZXHfq8n02Y7sLZpjp+SYkair6uekHMFQ4+NeDar5igQHF/ABXRxtJsiJyE
+slEabF1E2DfczbJvyQo0rBPuvdf1IVtS87KChsIKuP0C9B66OEZd9KobDrxKgTD2fGjVfMw7+NOA
+R4MP+1ha5XWk8rqqKTxCHW1HtIwopjvYAt8x3lUqHXqxxot/s1PNIsGMAuNlcrOrxkve7OiNmCM9
+Dql3+hnqjXqzE41zY18UWLwHnM4UltPhTOvI1TaH5cjVOlN+z9T6PcV0Nnbkgs5hG0paAqY9Kmcw
+0uGC1xGimFHaxpxt1JJ6C0cIWAyLKOqSEACjmzL++dJIWYqTSNTTaH693zN4TtzZyUkEB4bDO6hh
+ChTfDhygJN+CxpioyiUxV6nZpxutmg0WA93/KHFoDk0bjvS5Vs02M3yinoZadMhuEa8jInZyd+TS
+LAvcWjMlGs81WvKW+yZz7WF3zni5nyvSUJE3W7ix5+daQUjrknCER1vxYAWpxeA2rODk7jCh1dO2
+HJt3A/++5IGS9yhNzQUDpJF8RnIJV3PF3mDCD553ufCgENgv8BvPiqDuPnxBl0CLgua85fpeP96S
+xJ/meJX7KBPURvPSkly0ouFB89LC2kzsQrJBBTYPILPzEQeaObYMVE4KDStSG5vmmiOdsAsV7boV
+hVpki1OpRebQZioyLwgVvwChNtVBozmxqj5ldAkqh9+tVkZLKCJ2L8cTJRTmKp/fsPYjh/iBtUWD
+5k8KKZoFDBr1co0mpphmFmqxpuVuq7FHx91WY+0xIAd3IztTSmBsThe7crc7hbvJJq4Z/V5bmzF3
+U/wCBmdQsLbtuZuyPWv3sz1wNzBzJO5mnguAisxzN72XQ6hod+4Ga9nDKS6qiHGc5C+65VOgEKbZ
+qDxhuFS6n7HsbPwEkqy4xP03mrhOYBTpvOrwt12PcmV58+la0FkSp8ZWAjv+ak3a1aLz3hzTBbXd
+20xxXHjiQWO6WwZUqHf1PbK41Qb7NmoLmDlNwBSV2RhXxKf4U2sRfDagot2jKlAtFLNbe5BvXJH6
+DJ/TLU06ikC17cPJLQhH0EMfUjnU8hH8HNhF+8eWavfgZrW7Ufj4wOv8wr0cVPn4YEr7N/Dcwtp2
+1/5fFiThaFqswZkz7wEjiDVY0S7aP1aLLBx3EGuoIoL2T6pFMXEpFfHKR7ZwFJjNy2Jn+agSju/a
+I2eBDPh5L6FOkBURo7wk6akKzVJCO6j6wfuSMS34aPp5jvAeH3dxcmvPCEBtu+5zrGGETW4Q3c0Y
+NC5NWJpNRIZmMoEJDXLteMYxbAkM6T2uDm4TsadpE3VZCFFDhvtMK6lKwYBOTJWCIT7bk0NSRYuP
+A2oEID00juYXAG2L8o0mxybrrfYY2gtqo579KK4h3jh+UFvMcXze3IszBQzakTm9gxLoCGfzPcjn
+uRVqo2z7DjPSV1gW6LAYrQyuZnEuC90mk4S0sIkVAZdPXEyJhoc4Dwi3t/qyBabX7zb//VvFFijE
+3iCCr0LC8lmEi2Z2h/PhYk2P5bNoQEtbw/nYWD6BQ+8BzkelirB8Fip00SScj43ls+DQxV3gfGws
+n1od3AHOx8byWVTQxR3gfGwsn4UBXTQF52Nj+SwIurgHOB+7nEVEfe8M59PtYBWWTzE8doTzsbF8
+gp5mDOdTBUAzkG4tV5WkiTMi7+lgJE0QDUebyA7isnGsuJcPtFXVWtJbB96WtYoxwYnA7SB+Lqs1
+AHPTh58UlrVRIFsP1bFXtWg16FVZ7rt5QGnDn+G9kb9Fc1LIqo0d5cXXQ8E7aATi4+6hxtFF2Df8
+Ax8y3yYiKgI2i+3oYrWJBN5DvTGF3+NiOxVNfAkWNWQOxrU2FV8ixqcRQ0zMu5tpvmbhYrOd3Vud
+gJ3dOdlaM4LdqQMuzboShQUNJn5XT7MAu6Md+2jMKCPYHd2IZZ9W4KyzwgwxUdmvRlZKRYOjsKgA
+zHy1qQO8IvoTn150YQjE5ONf3aopy1jYnjTjuBejh2qaAr1aEArvghMDaewDAONFOhhX9DS9r83I
+1zhOzTUeFfDuHTFAd5tDrxpVHaOC0XAFSotHM1THuDGFG8PIexOYwp4h/sau8nHRMXJ0EA5bzSZE
+3rty33Zas05JmFH6HBpH3nOHJQxqaq8ncQ4tvJjC1NIIk8NaEZqQeFjb3jCrS+XchAqMMVOb8cI3
+MWhqt+yug2YIXOXvpsLdths0tb84WnzsBNRBVHVNOL+FACjjU3N1rmK9HSbv+RuKr5MN3dPUQalg
+fKAR0oQ6PqJvEfjng7nP6xz2oGIUGtiDX3Vue5BWgS4Scos6jO5xAXNtka//4EPtbTVL72EOeSMp
+OuTtAcF2xt4Iyx+mLxvC4yh2nm71s9B6mthBxoiw9BnQJfb9LNLc8GmYmZUOQuAurzlGHT9YoS3o
+n4Y5XxDBlhIVKAOsno4B0WFZa6KA30ZPa/DufWXj0/W0n4Y5XxAd8acLTtp6qL4NXBLivnFzrAOT
+3htVm1T2DWxW1IynhNEm9a7mEGuMoYrztskgJN4Ynsdqk+6WkaDGbyzAovbhvTlD3ptdw+CAluzg
+8N5IJ4UGACFHJujcxXuD+wXOdvfegArcrJARE3i4bbw3Fh10cXfvDcTDabw3GuWWHysYN+W9IZ8R
+nHEAhPjQQRAtCDYex4LmCxGESUrCakX6XFGkGbHqPIp07OTOZ+dYERY2QnJ+vp/YCDQ3mWvXfjxA
+oHMZt1EEMQ8ebsuoeZW8gUg2ui/KBIxNFwxhIUIXjSB+pgN0CcGwCOLHGRPIhPhhYFaNymEy7OSc
+eb8Wto1xrZMZDtjS368Kf+OUfFJvqEFP+0HmITL7CNtjI/MYp7j7ROYRw65bv/tG5u2C8TCBzGMG
+w+4PmYfc3TtuRQ5knnKwYhyEuAMyTx1qJb3k2jcyz6K9S1UA5+0bmYcdSBoLs+2ReepDL46Qzu2Q
+eTprjXYuBDF1ewD+Q5G3t9BLUJU69JKqdfKEXt7PuEIvDbnAahzbVTUooZgLvoBL44r8hkuAsyIe
+FAu1FlFPQxXtAVCmi41gRd4bczeI86M70PTx1RYsmw8lxNq18OpCrF0Lg8nQbEa6a+jxfpf9qOCf
+cPfDrvsR1Ma8BofI06j7sTPn3Y8sVR2OuTmbkrjc9nTVMarI3DYim7ioor3gMsshTrFmWBH9vmPa
+VWC0wG79fceG17mpvdmaU9wPj1/v8oIoOPaNVIZmt+yz+YwcbBt2gvWadmvyNn5oWNs7B6yVFyTb
+Pejx+BYMYIf7Acm+LPYEkoUV7QUkC3Fru4NkYS17AcnCivguutbYzcTYQbRR6FfBmo5f8gSkJaDe
+j48770cNKI/C0/YNyhNwBMxYoX2A8shzs3dQ3g6+TvWgsU18M7bnDqA83J8m4PL+CiiP5H74C6A8
+ij+N04LrsDRGnClY8PuhWeirb2pYLM/t9xo9rRQ0sJt448hgVQk+JySH4xnWRr+fz6xmo7tC2ezJ
+hAWDync4z4BYNw8Dxk6SgRgZY9S1FuL3Qr3ARysrZJcqQVwoOxmm0vOTCIrzgFKA5q++a5P77nvZ
+PthUqmnH6Vu1nW9VTkNrFxQE1fbJUQelWy8/VZanhXqyfVYqBvulUjF0DtMu3M4l+XQ4UTda9E+p
+EWEk9Bsyo0Sg1DMdAJe6zrTwRaaG3R33ry5wpzVGNfHtPczaZhYa2C/eeWTB7gYhKtVwtV1kgv0O
+r0YXXRrVDwbVWiCNUdUiwjK+Fe6208Lu4o/fTTlpowaKduBmwe4iQQ1VizpP4fEvDeyXtNsXyc0L
+DXb3zEK//RqA/WbtNpWqszn8HtCoDg3yFF4/0qlWLp9r1BF2TGPH7zSqULnVTS3YumLH0SdxuWc4
+yx2TyonuB1XR+EuTq8q4pyWUE4VpM0lQUS9lMypf3Uy0Mpblc+aI71Urt76p2BvVKVPLOdsPuIgj
+GFbrYKHn9FpwtAk/W2M0yygO1ih4RDRx95lej5RyxUK4AYbDF8VKr2fObfdc5o7ENABnCjdcmogd
+NMqsx44d5F9VBpn1qD3Und+UORKt8PaQI7sC98Ab5VjR3ga3Q1I9E/umNqTnY6KG1vJm5TNwEG8D
+7NvSZ2MW2EeyEiS33R6Bfbz32ewI7CN5EXX7ZndgHwnVZ9kWiEkH9pHc+JQA/12AfaqBETevclK4
+N2AfqSqLwWUmWwD7thXSJoF9pHMeRXruDdhHQvWp/AL7AfaRUH28UUMmgH0kL71k4u4R2EeaYcFB
+vFdgH0nlUUWp7gfYR0L1WShX6+8A7NO36dvOUKC2BfaR1FY0aPsF9pHmkBRqtSOwT1uVcQbmrYB9
+VK1zv8A+E4O2C7BPU5XuhH1PwL7tBs00sI+N9NobsI+C+t43sI9UASSzZ2Af6bBFG3m/B2AfiVFo
+TNx9APuMDlb2BOzjkDf7APaRhgNT1fcF7DMElO0H2EdC9ZFDRup7sREDio2IDdpPw9ydU/ScZvoc
+nhoziht9tTDY9qrxj89oKscOWfx0bVqjY6J9Z/FjqBx8Q7X2uUwNlTJO6oBLCBI11DY414EKGmGh
+wLFpzdK0iZcpyKdRjGapz7a2ahMaNNAsU3mqWW0ix2bQmQ1jqBh5qin8E4k1tcl0EjlbaUymmCM9
+N8gIz3blyWKNmf9v5+R/FuyOLk59fZvkf1Rmo8r/t23n5GvfLDRAGR+mjyvmwiAeWsn/t9t81Tpz
+C0+aHaZTiyv5n7ETEo7Nzsn/JM2Gnf9v5+R/FgGFZ5D/j+/4aX6+jzu6Yid3EfZEmsB4nO8t/Gl+
+rqjjpHAe7s7lPLyrlH5MBNP2GUY4Gq1SCOiDJjbbec+F6eOJoIZkjPCO9MgQbrAjJMMIbjQRpAYH
+iOos1CxovnxjgLTdpYU0watgqb22kG61oh0Y1Vq/W+LL1KFWYGkZxKBzh1qBqozj07hDrUBtnEHk
+7EhqxAj3A8Tc/SQF5lpk3HouLQHOirhy4JJqwQPHbvexFVEtOpi9hQhgNkbao9q40L7UzBdatO/t
+VI/2vZ3u8XpDWNte8j4LKw20l4ex4cKMOppt0miS5wY3NllR21796TAEBepDttkGOw==
+	]]>
+	<![CDATA[
+	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
+	]]>
+	<![CDATA[
+	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
+v8CX5BfA0r2qWv78P8LvWtk=
+	]]>
+</i:pgf>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_1.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,33 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0" x2="19.814" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="11.0552" x2="35.3105" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="url(#SVGID_2_)"/>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="0" x2="19.814" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="url(#SVGID_3_)"/>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="11.0552" x2="35.3105" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="url(#SVGID_4_)"/>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="#424242"/>
+<linearGradient gradientTransform="matrix(1 0 0 1 -1269.75 -3487.3887)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="1306.4873" x2="1311.042" y1="3494.2671" y2="3494.2671">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="41.3,6.9 36.7,13.8 36.7,0 41.3,6.9 "/>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="#424242"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_2.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,33 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0" x2="19.814" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="11.0552" x2="35.3105" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="0" x2="19.814" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="url(#SVGID_4_)"/>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="#5AB85B"/>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="#424242"/>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="#424242"/>
+<linearGradient gradientTransform="matrix(0.7071 0.7071 -0.7071 0.7071 1584.3986 -3389.3784)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="1327.9453" x2="1332.5" y1="3487.8726" y2="3487.8726">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="60.3,19.1 52.2,20.8 62,11.1 60.3,19.1 "/>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="#5AB85B"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_3.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,33 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0" x2="19.814" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="11.0552" x2="35.3105" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_3_)"/>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_4_)"/>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="#424242"/>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="#5AB85B"/>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="#5AB85B"/>
+<linearGradient gradientTransform="matrix(0 1 -1 0 3546.5811 -1312.6934)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="1349.4316" x2="1353.9863" y1="3481.4136" y2="3481.4136">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="65.2,41.3 58.3,36.7 72,36.7 65.2,41.3 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_4.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,33 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="11.0552" x2="35.3105" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_2_)"/>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_3_)"/>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="#5AB85B"/>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientTransform="matrix(-0.7071 0.7071 -0.7071 -0.7071 3493.6553 1560.1959)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="1367.8477" x2="1372.4023" y1="3493.5483" y2="3493.5483">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="52.9,60.3 51.3,52.2 61,62 52.9,60.3 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_5.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,33 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="#424242"/>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_1_)"/>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_2_)"/>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="36.7383" x2="60.9922" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientTransform="matrix(-1 0 0 -1 1424.6426 3552.2568)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="1389.332" x2="1393.8867" y1="3487.0864" y2="3487.0864">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_5_)" points="30.8,65.2 35.3,58.3 35.3,72 30.8,65.2 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_6.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,37 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="#424242"/>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_1_)"/>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="#5AB85B"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="11.0552" x2="35.3105" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="36.7383" x2="60.9922" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientTransform="matrix(-0.7071 -0.7071 0.7071 -0.7071 -1461.6281 3526.3462)" gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="1409.8438" x2="1414.3984" y1="3497.7866" y2="3497.7866">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_6_)" points="11.5,52.9 19.6,51.3 9.9,61 11.5,52.9 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_7.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,41 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="#424242"/>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="0" x2="19.814" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="11.0552" x2="35.3105" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="36.7383" x2="60.9922" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_6_)"/>
+<linearGradient gradientTransform="matrix(0 -1 1 0 -3505.6865 1466.1221)" gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="1430.8135" x2="1435.3682" y1="3512.5659" y2="3512.5659">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_7_)" points="6.9,30.8 13.8,35.3 0,35.3 6.9,30.8 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_8.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,45 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0" x2="19.814" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="url(#SVGID_1_)"/>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="#424242"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="0" x2="19.814" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="11.0552" x2="35.3105" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="36.7383" x2="60.9922" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="url(#SVGID_6_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_7_)"/>
+<linearGradient gradientTransform="matrix(0.7071 -0.7071 0.7071 0.7071 -3490.3384 -1437.3785)" gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="1452.3613" x2="1456.915" y1="3506.2817" y2="3506.2817">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<polygon fill="url(#SVGID_8_)" points="19.1,11.7 20.8,19.8 11.1,10.1 19.1,11.7 "/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_anim_longtap_9.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,44 @@
+<?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="75px" version="1.1" viewBox="-1.5 -1.6 75 75" width="75px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="0" x2="19.814" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M13.8,35.3c0.2-5.6,2.4-10.7,6-14.5L10,11.1C4,17.4,0.2,25.9,0,35.3H13.8z" fill="url(#SVGID_1_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="11.0552" x2="35.3105" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M20.8,19.8c3.8-3.6,8.9-5.8,14.5-6V0c-9.4,0.2-17.9,4-24.3,10L20.8,19.8z" fill="url(#SVGID_2_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="36.7383" x2="60.9922" y1="9.9063" y2="9.9063">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M36.7,0v13.8c5.6,0.2,10.7,2.4,14.5,6L61,10C54.7,4,46.1,0.2,36.7,0z" fill="url(#SVGID_3_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="0" x2="19.814" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M19.8,51.2c-3.6-3.8-5.8-8.9-6-14.5H0C0.2,46.1,4,54.7,10,61L19.8,51.2z" fill="url(#SVGID_4_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="52.2354" x2="72.0469" y1="23.1826" y2="23.1826">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M52.2,20.8c3.6,3.8,5.8,8.9,6,14.5H72c-0.2-9.4-4-17.9-10-24.3L52.2,20.8z" fill="url(#SVGID_5_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_6_" x1="11.0552" x2="35.3105" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M35.3,58.2c-5.6-0.2-10.7-2.4-14.5-6L11.1,62c6.3,6.1,14.8,9.9,24.3,10V58.2z" fill="url(#SVGID_6_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_7_" x1="36.7383" x2="60.9922" y1="62.1421" y2="62.1421">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M51.2,52.2c-3.8,3.6-8.9,5.8-14.5,6V72c9.4-0.2,17.9-4,24.3-10L51.2,52.2z" fill="url(#SVGID_7_)"/>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_8_" x1="52.2354" x2="72.0469" y1="48.8647" y2="48.8647">
+<stop offset="0" style="stop-color:#3B87C0"/>
+<stop offset="1" style="stop-color:#0069B2"/>
+</linearGradient>
+<path d="M58.3,36.7L58.3,36.7c-0.2,5.6-2.5,10.7-6.1,14.5L62,61c6.1-6.3,9.9-14.8,10-24.3H58.3z" fill="url(#SVGID_8_)"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_b.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 62 10" width="62px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="url(#SVGID_1_)" height="9" width="62"/>
+<rect fill-opacity="0.4" height="1" stroke-opacity="0.4" width="62" y="9"/>
+<rect fill="#FFFFFF" fill-opacity="0.2" height="1" stroke-opacity="0.2" width="62" y="8"/>
+<rect fill="none" height="10" width="62"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.0005" x2="31.0005" y1="8.9072" y2="-70.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_bl.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 10 10" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M1,2c0,3.859,3.14,7,7,7h2V0H1V2z" fill="url(#SVGID_1_)"/>
+<path d="M1,0v2c0,3.859,3.14,7,7,7h2V8H8C4.691,8,2,5.309,2,2V0H1z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M0,0v2c0,4.411,3.589,8,8,8h2V9H8C4.14,9,1,5.859,1,2V0H0z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="10" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="5.5" x2="5.5" y1="8.9072" y2="-70.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_br.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 10 10" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M0,9h2c3.859,0,7-3.141,7-7V0H0V9z" fill="url(#SVGID_1_)"/>
+<path d="M8,2c0,3.309-2.691,6-6,6H0v1h2c3.859,0,7-3.141,7-7V0H8V2z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M9,2c0,3.859-3.141,7-7,7H0v1h2c4.411,0,8-3.589,8-8V0H9V2z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="10" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="4.5" x2="4.5" y1="8.9072" y2="-70.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_c.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,12 @@
+<?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="62px" version="1.1" viewBox="0 0 62 62" width="62px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="url(#SVGID_1_)" height="62" width="62"/>
+<rect fill="none" height="62" width="62"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.0005" x2="31.0005" y1="70.9072" y2="-8.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_l.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="62px" version="1.1" viewBox="0 0 10 62" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="url(#SVGID_1_)" height="62" width="9" x="1"/>
+<rect fill-opacity="0.4" height="62" stroke-opacity="0.4" width="1"/>
+<rect fill="#FFFFFF" fill-opacity="0.2" height="62" stroke-opacity="0.2" width="1" x="1"/>
+<rect fill="none" height="62" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="5.5" x2="5.5" y1="70.9072" y2="-8.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_r.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="62px" version="1.1" viewBox="0 0 10 62" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="url(#SVGID_1_)" height="62" width="9"/>
+<rect fill="#FFFFFF" fill-opacity="0.2" height="62" stroke-opacity="0.2" width="1" x="8"/>
+<rect fill-opacity="0.4" height="62" stroke-opacity="0.4" width="1" x="9"/>
+<rect fill="none" height="62" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="4.5" x2="4.5" y1="70.9072" y2="-8.8759">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_t.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 62 10" width="62px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="url(#SVGID_1_)" height="9" width="62" y="1"/>
+<rect fill-opacity="0.4" height="1" stroke-opacity="0.4" width="62"/>
+<rect fill="#FFFFFF" fill-opacity="0.2" height="1" stroke-opacity="0.2" width="62" y="1"/>
+<rect fill="none" height="10" width="62"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="31.0005" x2="31.0005" y1="80.9072" y2="1.1241">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tl.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 10 10" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M10,1H8C4.14,1,1,4.141,1,8v2h9V1z" fill="url(#SVGID_1_)"/>
+<path d="M2,8c0-3.309,2.691-6,6-6h2V1H8C4.14,1,1,4.141,1,8v2h1V8z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M1,8c0-3.859,3.14-7,7-7h2V0H8C3.589,0,0,3.589,0,8v2h1V8z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="10" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="5.5" x2="5.5" y1="80.9072" y2="1.1241">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsitems_pressed_tr.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<?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="10px" version="1.1" viewBox="0 0 10 10" width="10px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<path d="M9,8c0-3.859-3.141-7-7-7H0v9h9V8z" fill="url(#SVGID_1_)"/>
+<path d="M9,8c0-3.859-3.141-7-7-7H0v1h2c3.309,0,6,2.691,6,6v2h1V8z" fill="#FFFFFF" fill-opacity="0.2" stroke-opacity="0.2"/>
+<path d="M10,8c0-4.411-3.589-8-8-8H0v1h2c3.859,0,7,3.141,7,7v2h1V8z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="none" height="10" width="10"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="4.5" x2="4.5" y1="80.9072" y2="1.1241">
+<stop offset="0" style="stop-color:#009DD9"/>
+<stop offset="1" style="stop-color:#004F80"/>
+</linearGradient>
+</defs>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_b.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="62px" height="10px" viewBox="0 0 62 10" enable-background="new 0 0 62 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="62" height="10"/>
+<rect opacity="0.1" fill="#14141E" width="62" height="10"/>
+<rect opacity="0.2" fill="#14141E" width="62" height="9"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="30.9995" y1="-70.8745" x2="30.9995" y2="7.9514">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<rect opacity="0.9" fill="url(#SVGID_1_)" width="62" height="8"/>
+<rect y="7" opacity="0.4" fill="#FFFFFF" width="62" height="1"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_bl.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#14141E" d="M0,3c0,3.859,3.14,7,7,7h3V0H0V3z"/>
+<path opacity="0.2" fill="#14141E" d="M1,3c0,3.3,2.7,6,6,6h3V0H1V3z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.5" y1="-70.8745" x2="5.5" y2="7.9514">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<path opacity="0.9" fill="url(#SVGID_1_)" d="M1,2c0,3.3,2.7,6,6,6h3V0H1V2z"/>
+<path opacity="0.4" fill="#FFFFFF" d="M1,0v2c0,3.3,2.7,6,6,6h3V7H7C4.243,7,2,4.757,2,2V0H1z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_br.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#14141E" d="M0,10h3c3.859,0,7-3.141,7-7V0H0V10z"/>
+<path opacity="0.2" fill="#14141E" d="M0,9h3c3.3,0,6-2.7,6-6V0H0V9z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="4.5" y1="-70.8745" x2="4.5" y2="7.9514">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<path opacity="0.9" fill="url(#SVGID_1_)" d="M0,8h3c3.3,0,6-2.7,6-6V0H0V8z"/>
+<path opacity="0.4" fill="#FFFFFF" d="M8,2c0,2.757-2.243,5-5,5H0v1h3c3.3,0,6-2.7,6-6V0H8V2z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_c.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="62px" height="62px" viewBox="0 0 62 62" enable-background="new 0 0 62 62" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="62" height="62"/>
+<rect opacity="0.1" fill="#14141E" width="62" height="62"/>
+<rect opacity="0.2" fill="#14141E" width="62" height="62"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="30.9995" y1="-8.875" x2="30.9995" y2="69.9518">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<rect opacity="0.9" fill="url(#SVGID_1_)" width="62" height="62"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_l.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="62px" viewBox="0 0 10 62" enable-background="new 0 0 10 62" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="62"/>
+<rect opacity="0.1" fill="#14141E" width="10" height="62"/>
+<rect x="1" opacity="0.2" fill="#14141E" width="9" height="62"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.5" y1="-8.875" x2="5.5" y2="69.9518">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<rect x="1" opacity="0.9" fill="url(#SVGID_1_)" width="9" height="62"/>
+<rect x="1" opacity="0.4" fill="#FFFFFF" width="1" height="62"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_r.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="62px" viewBox="0 0 10 62" enable-background="new 0 0 10 62" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="62"/>
+<rect opacity="0.1" fill="#14141E" width="10" height="62"/>
+<rect opacity="0.2" fill="#14141E" width="9" height="62"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="4.5" y1="-8.875" x2="4.5" y2="69.9518">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<rect opacity="0.9" fill="url(#SVGID_1_)" width="9" height="62"/>
+<rect x="8" opacity="0.4" fill="#FFFFFF" width="1" height="62"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_t.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="62px" height="10px" viewBox="0 0 62 10" enable-background="new 0 0 62 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="62" height="10"/>
+<rect opacity="0.1" fill="#14141E" width="62" height="10"/>
+<rect y="2" opacity="0.2" fill="#14141E" width="62" height="8"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="30.9995" y1="1.125" x2="30.9995" y2="79.951">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<rect y="1" opacity="0.9" fill="url(#SVGID_1_)" width="62" height="9"/>
+<rect y="1" opacity="0.4" fill="#FFFFFF" width="62" height="1"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tl.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#14141E" d="M10,0H7C3.14,0,0,3.14,0,7v3h10V0z"/>
+<path opacity="0.2" fill="#14141E" d="M10,2H7C3.7,2,1,4.7,1,8v2h9V2z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="5.5" y1="1.125" x2="5.5" y2="79.951">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<path opacity="0.9" fill="url(#SVGID_1_)" d="M10,1H7C3.7,1,1,3.7,1,7v3h9V1z"/>
+<path opacity="0.4" fill="#FFFFFF" d="M2,7c0-2.757,2.243-5,5-5h3V1H7C3.7,1,1,3.7,1,7v3h1V7z"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_fr_hsshortcut_normal_tr.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 14.0.0, SVG Export Plug-In  -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+	<!ENTITY ns_flows "http://ns.adobe.com/Flows/1.0/">
+]>
+<svg version="1.1"
+	 xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:a="http://ns.adobe.com/AdobeSVGViewerExtensions/3.0/"
+	 x="0px" y="0px" width="10px" height="10px" viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve">
+<defs>
+</defs>
+<rect fill="none" width="10" height="10"/>
+<path opacity="0.1" fill="#14141E" d="M10,7c0-3.86-3.141-7-7-7H0v10h10V7z"/>
+<path opacity="0.2" fill="#14141E" d="M9,8c0-3.3-2.7-6-6-6H0v8h9V8z"/>
+<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="4.5" y1="1.125" x2="4.5" y2="79.951">
+	<stop  offset="0" style="stop-color:#FFFFFF"/>
+	<stop  offset="0" style="stop-color:#FDFDFE"/>
+	<stop  offset="0.9" style="stop-color:#E6E6F0"/>
+	<stop  offset="1" style="stop-color:#DCDCE6"/>
+</linearGradient>
+<path opacity="0.9" fill="url(#SVGID_1_)" d="M9,7c0-3.3-2.7-6-6-6H0v9h9V7z"/>
+<path opacity="0.4" fill="#FFFFFF" d="M9,7c0-3.3-2.7-6-6-6H0v1h3c2.757,0,5,2.243,5,5v3h1V7z"/>
+</svg>
--- a/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_bg.svg	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_bg.svg	Mon May 03 12:24:59 2010 +0300
@@ -1,23 +1,623 @@
 <?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">
+<svg baseProfile="tiny" height="218px" version="1.1" viewBox="0 0 218 218" width="218px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="218" width="218"/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 -197 -69)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="306" x2="306" y1="-69" y2="-287">
+<stop offset="0" style="stop-color:#808080"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M109,218C48.897,218,0,169.104,0,109  C0,48.896,48.897,0,109,0c60.104,0,109,48.896,109,109C218,169.104,169.104,218,109,218L109,218z" fill="url(#SVGID_1_)" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 -197 -69)" gradientUnits="userSpaceOnUse" id="SVGID_2_" x1="306" x2="306" y1="-78.873" y2="-286.0985">
+<stop offset="0" style="stop-color:#666666"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+<path d="M109,217C49.448,217,1,168.551,1,109S49.448,1,109,1  s108,48.449,108,108S168.552,217,109,217L109,217z" fill="url(#SVGID_2_)" fill-opacity="0.4" stroke-opacity="0.4"/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 -197 -69)" gradientUnits="userSpaceOnUse" id="SVGID_3_" x1="306" x2="306" y1="-69.7686" y2="-285.5244">
+<stop offset="0" style="stop-color:#DBDBDB"/>
+<stop offset="0.5333" style="stop-color:#DBDBDB"/>
+<stop offset="0.5333" style="stop-color:#C1C1C1"/>
+<stop offset="1" style="stop-color:#A8A8A8"/>
+</linearGradient>
+<circle cx="109" cy="109" fill="url(#SVGID_3_)" r="107"/>
+<path d="M109,2C49.905,2,2,49.905,2,109c0,59.096,47.905,107,107,107  c59.096,0,107-47.904,107-107C216,49.905,168.096,2,109,2z M109,215C50.552,215,3,167.449,3,109S50.552,3,109,3s106,47.551,106,106  S167.448,215,109,215z" fill="#FFFFFF" fill-opacity="0.4" stroke-opacity="0.4"/>
+<path d="M109,207c-54.037,0-98-43.963-98-98s43.963-98,98-98s98,43.963,98,98S163.037,207,109,207L109,207z" fill="#E6E6E6"/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 -197 -69)" gradientUnits="userSpaceOnUse" id="SVGID_4_" x1="306" x2="306" y1="-81.4502" y2="-272.0043">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="0.5636" style="stop-color:#CCCCCC"/>
+<stop offset="1" style="stop-color:#E6E6E6"/>
+</linearGradient>
+<circle cx="109" cy="109" fill="url(#SVGID_4_)" r="96"/>
+<path d="M109,13c-53.02,0-96,42.98-96,96c0,53.02,42.98,96,96,96c53.02,0,96-42.98,96-96  C205,55.98,162.02,13,109,13z M109,204.01c-52.389,0-95.011-42.621-95.011-95.01c0-52.389,42.622-95.01,95.011-95.01  c52.389,0,95.012,42.621,95.012,95.01C204.012,161.389,161.389,204.01,109,204.01z" fill-opacity="0.5" stroke-opacity="0.5"/>
+<linearGradient gradientTransform="matrix(1 0 0 -1 -197 -69)" gradientUnits="userSpaceOnUse" id="SVGID_5_" x1="344.4795" x2="344.4795" y1="-115.0068" y2="-170.5441">
+<stop offset="0" style="stop-color:#FFFFFF"/>
+<stop offset="1" style="stop-color:#B3B3B3"/>
+</linearGradient>
+<path d="M125.486,102.714c-6.047,0-9.375-3.503-9.375-9.863  v-21.79c0-6.603,5.479-8.945,10.174-8.945h0.443c0.39,0,0.424-0.001,0.739-0.013l0.257-0.009c2.535-0.089,5.243-1.922,5.239-6.803  c-0.003-4.134,1.12-7.164,3.338-9.008c1.896-1.574,4.155-1.905,5.72-1.905c1.108,0,1.886,0.169,1.918,0.176  c21.873,3.771,33.553,22.157,34.844,34.006c0.367,3.37-0.855,7.082-3.192,9.688c-1.563,1.744-4.358,3.822-8.794,3.822  c-6.643,0-9.273,2.29-10.676,4.013l-0.396,0.495c-1.824,2.295-4.877,6.136-11.425,6.136H125.486z" fill="url(#SVGID_5_)" fill-opacity="0.5" stroke-opacity="0.5"/>
+<path d="M178.783,78.56c-1.291-11.849-12.971-30.235-34.844-34.006  c-0.032-0.007-0.81-0.176-1.918-0.176c-1.563,0-3.824,0.331-5.72,1.905c-2.218,1.844-3.341,4.874-3.338,9.008  c0.004,4.881-2.704,6.714-5.239,6.803l-0.257,0.009c-0.315,0.012-0.351,0.013-0.739,0.013h-0.443  c-4.693,0-10.174,2.343-10.174,8.945v21.79c0,6.36,3.328,9.863,9.375,9.863H144.3c6.548,0,9.601-3.841,11.425-6.136l0.396-0.495  c1.4-1.723,4.033-4.013,10.676-4.013c4.436,0,7.23-2.078,8.794-3.822C177.928,85.642,179.15,81.93,178.783,78.56z M166.797,91.07  c-7.016,0-9.889,2.461-11.451,4.381c-1.82,2.242-4.516,6.263-11.045,6.263c-6.527,0-11.668,0-18.814,0  c-7.147,0-8.375-5.071-8.375-8.863c0-3.793,0-21.79,0-21.79c0-5.885,4.763-7.945,9.175-7.945c0.996,0,0.752,0.003,1.476-0.022  c3.309-0.115,6.209-2.57,6.204-7.804c-0.008-11.916,9.761-9.759,9.761-9.759c21.521,3.711,32.832,21.829,34.063,33.138  C178.365,83.943,174.637,91.07,166.797,91.07z" fill="#B3B3B3" fill-opacity="0.4" stroke-opacity="0.4"/>
+<g>
+<g>
+<rect fill="#1B75BB" height="0.426" width="2.779" x="163.654" y="72.951"/>
+<rect fill="#1B75BB" height="0.426" width="4.707" x="161.725" y="75.387"/>
+<rect fill="#1B75BB" height="0.426" width="2.723" x="163.711" y="77.445"/>
+<rect fill="#1B75BB" height="0.428" width="2.723" x="163.711" y="79.5"/>
+<rect fill="#1B75BB" height="0.426" width="2.723" x="163.711" y="81.557"/>
+<rect fill="#1B75BB" height="0.427" width="2.723" x="163.711" y="83.611"/>
+<rect fill="#1B75BB" height="0.426" width="5" x="161.434" y="64.729"/>
+<rect fill="#1B75BB" height="0.426" width="2.723" x="163.711" y="62.521"/>
+<rect fill="#1B75BB" height="0.425" width="2.723" x="163.711" y="66.787"/>
+<rect fill="#1B75BB" height="0.427" width="2.723" x="163.711" y="68.842"/>
+<rect fill="#1B75BB" height="0.426" width="2.723" x="163.711" y="70.898"/>
+</g>
+</g>
+<ellipse cx="109" cy="59.999" fill="#FFFFFF" fill-opacity="0.25" rx="65" ry="44.001" stroke-opacity="0.25"/>
+<g>
+<g>
+<g>
+<g>
+<g>
+<path d="M131.604,121.963c-0.129,0-0.256-0.066-0.326-0.188l-1.416-2.453c-0.104-0.18-0.043-0.408,0.138-0.512       c0.175-0.104,0.405-0.043,0.513,0.137l1.418,2.453c0.104,0.18,0.041,0.408-0.139,0.513       C131.73,121.947,131.667,121.963,131.604,121.963L131.604,121.963z" fill="#808080"/>
+</g>
+<g>
+<path d="M151.748,156.855c-0.129,0-0.255-0.066-0.325-0.188l-1.417-2.454c-0.104-0.179-0.042-0.407,0.139-0.512       c0.174-0.104,0.405-0.043,0.513,0.137l1.417,2.454c0.104,0.18,0.042,0.409-0.139,0.514       C151.877,156.84,151.813,156.855,151.748,156.855L151.748,156.855z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M140.967,119.454c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,119.286,141.174,119.454,140.967,119.454L140.967,119.454z" fill="#808080"/>
+</g>
+<g>
+<path d="M140.967,159.745c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,159.577,141.174,159.745,140.967,159.745L140.967,159.745z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M150.331,121.963c-0.063,0-0.129-0.016-0.188-0.051c-0.18-0.104-0.24-0.332-0.138-0.512l1.417-2.453       c0.104-0.18,0.336-0.24,0.514-0.137c0.18,0.104,0.24,0.332,0.138,0.512l-1.417,2.453       C150.586,121.896,150.46,121.963,150.331,121.963L150.331,121.963z" fill="#808080"/>
+</g>
+<g>
+<path d="M130.186,156.855c-0.063,0-0.129-0.017-0.188-0.049c-0.18-0.104-0.241-0.334-0.139-0.514l1.418-2.453       c0.104-0.181,0.337-0.238,0.513-0.138c0.181,0.104,0.241,0.334,0.138,0.513l-1.416,2.453       C130.439,156.789,130.314,156.855,130.186,156.855L130.186,156.855z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M157.188,128.818c-0.129,0-0.256-0.068-0.326-0.188c-0.104-0.18-0.041-0.409,0.139-0.513l2.454-1.415       c0.183-0.104,0.409-0.043,0.513,0.137c0.104,0.181,0.042,0.408-0.138,0.513l-2.454,1.416       C157.314,128.802,157.25,128.818,157.188,128.818L157.188,128.818z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.293,148.964c-0.129,0-0.256-0.067-0.325-0.188c-0.104-0.18-0.042-0.408,0.138-0.512l2.455-1.416       c0.182-0.104,0.408-0.041,0.513,0.139s0.042,0.408-0.138,0.512l-2.455,1.416C122.421,148.947,122.355,148.964,122.293,148.964       L122.293,148.964z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M162.529,138.184L162.529,138.184h-2.834c-0.206,0-0.375-0.168-0.375-0.375s0.169-0.375,0.375-0.375       l0,0h2.834c0.207,0,0.375,0.168,0.375,0.375S162.736,138.184,162.529,138.184L162.529,138.184z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.236,138.184L122.236,138.184h-2.832c-0.207,0-0.375-0.168-0.375-0.375s0.168-0.375,0.375-0.375       l0,0h2.832c0.207,0,0.375,0.168,0.375,0.375S122.443,138.184,122.236,138.184L122.236,138.184z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M159.641,148.965c-0.063,0-0.129-0.016-0.188-0.051L157,147.498c-0.18-0.104-0.241-0.334-0.139-0.514       c0.105-0.18,0.338-0.238,0.514-0.137l2.453,1.418c0.18,0.104,0.24,0.332,0.138,0.512       C159.896,148.896,159.77,148.965,159.641,148.965L159.641,148.965z" fill="#808080"/>
+</g>
+<g>
+<path d="M124.746,128.818c-0.064,0-0.129-0.017-0.188-0.051l-2.453-1.416c-0.181-0.104-0.242-0.334-0.139-0.514       c0.104-0.181,0.336-0.24,0.514-0.138l2.453,1.418c0.18,0.104,0.24,0.332,0.137,0.512       C125.001,128.751,124.875,128.818,124.746,128.818L124.746,128.818z" fill="#808080"/>
+</g>
+</g>
+</g>
+<g>
+<g>
+<g>
+<path d="M140.967,119.454c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,119.286,141.174,119.454,140.967,119.454L140.967,119.454z" fill="#808080"/>
+</g>
+<g>
+<path d="M140.967,159.745c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,159.577,141.174,159.745,140.967,159.745L140.967,159.745z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M150.331,121.963c-0.063,0-0.129-0.016-0.188-0.051c-0.18-0.104-0.24-0.332-0.138-0.512l1.417-2.453       c0.104-0.18,0.336-0.24,0.514-0.137c0.18,0.104,0.24,0.332,0.138,0.512l-1.417,2.453       C150.586,121.896,150.46,121.963,150.331,121.963L150.331,121.963z" fill="#808080"/>
+</g>
+<g>
+<path d="M130.186,156.855c-0.063,0-0.129-0.017-0.188-0.049c-0.18-0.104-0.241-0.334-0.139-0.514l1.418-2.453       c0.104-0.181,0.337-0.238,0.513-0.138c0.181,0.104,0.241,0.334,0.138,0.513l-1.416,2.453       C130.439,156.789,130.314,156.855,130.186,156.855L130.186,156.855z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M157.188,128.818c-0.129,0-0.256-0.068-0.326-0.188c-0.104-0.18-0.041-0.409,0.139-0.513l2.454-1.415       c0.183-0.104,0.409-0.043,0.513,0.137c0.104,0.181,0.042,0.408-0.138,0.513l-2.454,1.416       C157.314,128.802,157.25,128.818,157.188,128.818L157.188,128.818z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.293,148.964c-0.129,0-0.256-0.067-0.325-0.188c-0.104-0.18-0.042-0.408,0.138-0.512l2.455-1.416       c0.182-0.104,0.408-0.041,0.513,0.139s0.042,0.408-0.138,0.512l-2.455,1.416C122.421,148.947,122.355,148.964,122.293,148.964       L122.293,148.964z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M162.529,138.184L162.529,138.184h-2.834c-0.206,0-0.375-0.168-0.375-0.375s0.169-0.375,0.375-0.375       l0,0h2.834c0.207,0,0.375,0.168,0.375,0.375S162.736,138.184,162.529,138.184L162.529,138.184z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.236,138.184L122.236,138.184h-2.832c-0.207,0-0.375-0.168-0.375-0.375s0.168-0.375,0.375-0.375       l0,0h2.832c0.207,0,0.375,0.168,0.375,0.375S122.443,138.184,122.236,138.184L122.236,138.184z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M159.641,148.965c-0.063,0-0.129-0.016-0.188-0.051L157,147.498c-0.18-0.104-0.241-0.334-0.139-0.514       c0.105-0.18,0.338-0.238,0.514-0.137l2.453,1.418c0.18,0.104,0.24,0.332,0.138,0.512       C159.896,148.896,159.77,148.965,159.641,148.965L159.641,148.965z" fill="#808080"/>
+</g>
+<g>
+<path d="M124.746,128.818c-0.064,0-0.129-0.017-0.188-0.051l-2.453-1.416c-0.181-0.104-0.242-0.334-0.139-0.514       c0.104-0.181,0.336-0.24,0.514-0.138l2.453,1.418c0.18,0.104,0.24,0.332,0.137,0.512       C125.001,128.751,124.875,128.818,124.746,128.818L124.746,128.818z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M151.748,156.857c-0.129,0-0.255-0.067-0.325-0.188l-1.416-2.453c-0.104-0.18-0.042-0.409,0.138-0.513       c0.183-0.104,0.408-0.042,0.514,0.138l1.416,2.453c0.104,0.181,0.042,0.408-0.139,0.513       C151.876,156.842,151.813,156.857,151.748,156.857L151.748,156.857z" fill="#808080"/>
+</g>
+<g>
+<path d="M131.602,121.963c-0.129,0-0.254-0.068-0.324-0.188l-1.416-2.455c-0.104-0.178-0.043-0.408,0.138-0.512       c0.183-0.104,0.408-0.041,0.513,0.137l1.416,2.455c0.104,0.179,0.043,0.408-0.138,0.512       C131.729,121.945,131.665,121.963,131.602,121.963L131.602,121.963z" fill="#808080"/>
+</g>
+</g>
+</g>
+<g>
+<g>
+<g>
+<path d="M150.331,121.963c-0.063,0-0.129-0.016-0.188-0.051c-0.18-0.104-0.24-0.332-0.138-0.512l1.417-2.453       c0.104-0.18,0.336-0.24,0.514-0.137c0.18,0.104,0.24,0.332,0.138,0.512l-1.417,2.453       C150.586,121.896,150.46,121.963,150.331,121.963L150.331,121.963z" fill="#808080"/>
+</g>
+<g>
+<path d="M130.186,156.855c-0.063,0-0.129-0.017-0.188-0.049c-0.18-0.104-0.241-0.334-0.139-0.514l1.418-2.453       c0.104-0.181,0.337-0.238,0.513-0.138c0.181,0.104,0.241,0.334,0.138,0.513l-1.416,2.453       C130.439,156.789,130.314,156.855,130.186,156.855L130.186,156.855z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M157.188,128.818c-0.129,0-0.256-0.068-0.326-0.188c-0.104-0.18-0.041-0.409,0.139-0.513l2.454-1.415       c0.183-0.104,0.409-0.043,0.513,0.137c0.104,0.181,0.042,0.408-0.138,0.513l-2.454,1.416       C157.314,128.802,157.25,128.818,157.188,128.818L157.188,128.818z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.293,148.964c-0.129,0-0.256-0.067-0.325-0.188c-0.104-0.18-0.042-0.408,0.138-0.512l2.455-1.416       c0.182-0.104,0.408-0.041,0.513,0.139s0.042,0.408-0.138,0.512l-2.455,1.416C122.421,148.947,122.355,148.964,122.293,148.964       L122.293,148.964z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M162.529,138.184L162.529,138.184h-2.834c-0.206,0-0.375-0.168-0.375-0.375s0.169-0.375,0.375-0.375       l0,0h2.834c0.207,0,0.375,0.168,0.375,0.375S162.736,138.184,162.529,138.184L162.529,138.184z" fill="#808080"/>
+</g>
+<g>
+<path d="M122.236,138.184L122.236,138.184h-2.832c-0.207,0-0.375-0.168-0.375-0.375s0.168-0.375,0.375-0.375       l0,0h2.832c0.207,0,0.375,0.168,0.375,0.375S122.443,138.184,122.236,138.184L122.236,138.184z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M159.641,148.965c-0.063,0-0.129-0.016-0.188-0.051L157,147.498c-0.18-0.104-0.241-0.334-0.139-0.514       c0.105-0.18,0.338-0.238,0.514-0.137l2.453,1.418c0.18,0.104,0.24,0.332,0.138,0.512       C159.896,148.896,159.77,148.965,159.641,148.965L159.641,148.965z" fill="#808080"/>
+</g>
+<g>
+<path d="M124.746,128.818c-0.064,0-0.129-0.017-0.188-0.051l-2.453-1.416c-0.181-0.104-0.242-0.334-0.139-0.514       c0.104-0.181,0.336-0.24,0.514-0.138l2.453,1.418c0.18,0.104,0.24,0.332,0.137,0.512       C125.001,128.751,124.875,128.818,124.746,128.818L124.746,128.818z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M151.748,156.857c-0.129,0-0.255-0.067-0.325-0.188l-1.416-2.453c-0.104-0.18-0.042-0.409,0.138-0.513       c0.183-0.104,0.408-0.042,0.514,0.138l1.416,2.453c0.104,0.181,0.042,0.408-0.139,0.513       C151.876,156.842,151.813,156.857,151.748,156.857L151.748,156.857z" fill="#808080"/>
+</g>
+<g>
+<path d="M131.602,121.963c-0.129,0-0.254-0.068-0.324-0.188l-1.416-2.455c-0.104-0.178-0.043-0.408,0.138-0.512       c0.183-0.104,0.408-0.041,0.513,0.137l1.416,2.455c0.104,0.179,0.043,0.408-0.138,0.512       C131.729,121.945,131.665,121.963,131.602,121.963L131.602,121.963z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M140.967,159.746c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,159.578,141.174,159.746,140.967,159.746L140.967,159.746z" fill="#808080"/>
+</g>
+<g>
+<path d="M140.967,119.453c-0.207,0-0.375-0.168-0.375-0.375v-2.833c0-0.207,0.168-0.375,0.375-0.375       s0.375,0.168,0.375,0.375v2.833C141.342,119.285,141.174,119.453,140.967,119.453L140.967,119.453z" fill="#808080"/>
+</g>
+</g>
+</g>
+</g>
+</g>
+<g>
+<g>
+<path d="M99.961,36.396h-0.064l-3.673,1.983l-0.553-2.178l4.615-2.47h2.438v21.126h-2.763V36.396z" fill="#808080"/>
+<path d="M107.987,54.857v-1.755l2.242-2.178c5.396-5.135,7.865-7.865,7.865-11.05c0-2.145-1.008-4.128-4.16-4.128    c-1.916,0-3.51,0.975-4.484,1.788l-0.91-2.015c1.432-1.203,3.543-2.145,5.947-2.145c4.552,0,6.47,3.12,6.47,6.143    c0,3.9-2.828,7.053-7.281,11.343l-1.655,1.56v0.065h9.457v2.373L107.987,54.857L107.987,54.857z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M112.551,163.688c-0.584-0.033-1.332,0.031-2.145,0.162c-4.518,0.715-6.858,3.965-7.345,7.476h0.064    c1.008-1.365,2.796-2.47,5.136-2.47c3.737,0,6.37,2.729,6.37,6.824c0,3.9-2.633,7.475-7.052,7.475    c-4.485,0-7.442-3.51-7.442-9.002c0-4.159,1.462-7.442,3.574-9.522c1.756-1.723,4.096-2.795,6.76-3.119    c0.846-0.131,1.562-0.163,2.08-0.163V163.688z M111.738,175.875c0-3.023-1.723-4.844-4.355-4.844    c-1.723,0-3.348,1.041-4.127,2.601c-0.163,0.325-0.293,0.716-0.293,1.235c0.032,3.479,1.657,6.078,4.681,6.078    C110.082,180.945,111.738,178.896,111.738,175.875z" fill="#808080"/>
+</g>
+</g>
 <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"/>
+<path d="M35.731,116.213c0.617,0.064,1.333,0,2.308-0.098c1.657-0.227,3.218-0.877,4.42-2.047    c1.397-1.269,2.405-3.12,2.795-5.59h-0.097c-1.171,1.43-2.86,2.243-5.006,2.243c-3.77,0-6.207-2.86-6.207-6.468    c0-3.998,2.893-7.508,7.215-7.508c4.322,0,6.987,3.478,6.987,8.938c0,4.616-1.56,7.866-3.64,9.879    c-1.625,1.594-3.868,2.567-6.143,2.828c-1.04,0.162-1.95,0.194-2.633,0.162L35.731,116.213L35.731,116.213z M36.771,104.09    c0,2.633,1.593,4.485,4.063,4.485c1.918,0,3.413-0.942,4.16-2.21c0.163-0.292,0.26-0.585,0.26-1.073    c0-3.607-1.332-6.37-4.354-6.37C38.494,98.923,36.771,101.068,36.771,104.09z" fill="#808080"/>
+</g>
 </g>
-<rect fill="none" height="177.5" width="177.5"/>
+<line fill="none" x1="117.941" x2="117.631" y1="20.827" y2="23.813"/>
+<line fill="none" x1="117.941" x2="117.631" y1="20.827" y2="23.813"/>
+<path d="M117.631,23.983c-0.008,0-0.012,0-0.02-0.002c-0.094-0.009-0.16-0.093-0.152-0.188l0.313-2.985  c0.011-0.095,0.101-0.157,0.191-0.152c0.09,0.01,0.16,0.094,0.15,0.188l-0.313,2.985C117.791,23.918,117.717,23.983,117.631,23.983  L117.631,23.983z" fill="#808080"/>
+<line fill="none" x1="99.688" x2="99.369" y1="194.559" y2="197.538"/>
+<line fill="none" x1="99.688" x2="99.369" y1="194.559" y2="197.538"/>
+<path d="M99.369,197.71c0,0-0.012,0-0.016-0.001c-0.096-0.011-0.162-0.095-0.154-0.188l0.318-2.983  c0.008-0.095,0.096-0.16,0.188-0.152c0.096,0.011,0.162,0.095,0.154,0.188l-0.318,2.982C99.531,197.645,99.457,197.71,99.369,197.71  L99.369,197.71z" fill="#808080"/>
+<line fill="none" x1="127.129" x2="126.506" y1="22.281" y2="25.219"/>
+<line fill="none" x1="127.129" x2="126.506" y1="22.281" y2="25.219"/>
+<path d="M126.506,25.39c-0.012,0-0.025-0.001-0.037-0.005c-0.092-0.02-0.15-0.111-0.131-0.203l0.623-2.937  c0.018-0.094,0.104-0.151,0.201-0.133c0.094,0.021,0.154,0.112,0.133,0.204l-0.621,2.937  C126.656,25.333,126.584,25.39,126.506,25.39L126.506,25.39z" fill="#808080"/>
+<line fill="none" x1="90.813" x2="90.186" y1="193.148" y2="196.084"/>
+<line fill="none" x1="90.813" x2="90.186" y1="193.148" y2="196.084"/>
+<path d="M90.186,196.254c-0.01,0-0.021,0-0.035-0.002c-0.092-0.021-0.15-0.111-0.131-0.203l0.627-2.936  c0.018-0.09,0.105-0.148,0.201-0.131c0.092,0.021,0.152,0.109,0.133,0.203l-0.627,2.934C90.336,196.2,90.266,196.254,90.186,196.254  L90.186,196.254z" fill="#808080"/>
+<line fill="none" x1="136.109" x2="135.182" y1="24.687" y2="27.541"/>
+<line fill="none" x1="136.109" x2="135.182" y1="24.687" y2="27.541"/>
+<path d="M135.182,27.715c-0.016,0-0.033-0.003-0.053-0.009c-0.088-0.029-0.137-0.126-0.107-0.215l0.927-2.856  c0.03-0.091,0.125-0.14,0.217-0.11c0.09,0.029,0.14,0.126,0.108,0.217l-0.928,2.855C135.322,27.669,135.256,27.715,135.182,27.715  L135.182,27.715z" fill="#808080"/>
+<line fill="none" x1="82.133" x2="81.205" y1="190.824" y2="193.677"/>
+<line fill="none" x1="82.133" x2="81.205" y1="190.824" y2="193.677"/>
+<path d="M81.205,193.85c-0.018,0-0.035-0.002-0.055-0.011c-0.09-0.028-0.139-0.125-0.109-0.216l0.93-2.854  c0.031-0.09,0.127-0.139,0.215-0.109c0.092,0.029,0.141,0.127,0.111,0.218l-0.93,2.853C81.342,193.802,81.275,193.85,81.205,193.85  L81.205,193.85z" fill="#808080"/>
+<line fill="none" x1="144.793" x2="143.572" y1="28.02" y2="30.763"/>
+<line fill="none" x1="144.793" x2="143.572" y1="28.02" y2="30.763"/>
+<path d="M143.572,30.935c-0.023,0-0.047-0.004-0.068-0.015c-0.088-0.039-0.127-0.14-0.088-0.227l1.221-2.744  c0.039-0.086,0.139-0.125,0.225-0.086c0.089,0.038,0.125,0.14,0.091,0.226l-1.224,2.743  C143.699,30.896,143.639,30.935,143.572,30.935L143.572,30.935z" fill="#808080"/>
+<line fill="none" x1="73.744" x2="72.523" y1="187.604" y2="190.346"/>
+<line fill="none" x1="73.744" x2="72.523" y1="187.604" y2="190.346"/>
+<path d="M72.523,190.516c-0.025,0-0.049-0.004-0.07-0.015c-0.088-0.04-0.125-0.142-0.088-0.228l1.223-2.739  c0.039-0.086,0.141-0.124,0.227-0.086c0.088,0.038,0.125,0.139,0.088,0.227l-1.225,2.739  C72.65,190.479,72.59,190.516,72.523,190.516L72.523,190.516z" fill="#808080"/>
+<line fill="none" x1="160.879" x2="159.113" y1="37.307" y2="39.735"/>
+<line fill="none" x1="160.879" x2="159.113" y1="37.307" y2="39.735"/>
+<path d="M159.113,39.907c-0.033,0-0.07-0.011-0.1-0.033c-0.078-0.056-0.095-0.164-0.037-0.239l1.764-2.43  c0.055-0.077,0.164-0.094,0.24-0.037c0.076,0.056,0.092,0.161,0.035,0.24l-1.763,2.428  C159.219,39.883,159.166,39.907,159.113,39.907L159.113,39.907z" fill="#808080"/>
+<line fill="none" x1="58.203" x2="56.438" y1="178.632" y2="181.059"/>
+<line fill="none" x1="58.203" x2="56.438" y1="178.632" y2="181.059"/>
+<path d="M56.438,181.229c-0.033,0-0.07-0.008-0.1-0.031c-0.078-0.057-0.094-0.164-0.039-0.238l1.768-2.426  c0.053-0.079,0.16-0.096,0.238-0.038c0.078,0.054,0.092,0.161,0.037,0.239l-1.764,2.425  C56.543,181.205,56.492,181.229,56.438,181.229L56.438,181.229z" fill="#808080"/>
+<line fill="none" x1="168.104" x2="166.096" y1="43.157" y2="45.39"/>
+<line fill="none" x1="168.104" x2="166.096" y1="43.157" y2="45.39"/>
+<path d="M166.096,45.563c-0.041,0-0.08-0.016-0.113-0.046c-0.069-0.063-0.075-0.17-0.014-0.24l2.01-2.232  c0.063-0.073,0.17-0.077,0.242-0.014c0.066,0.063,0.074,0.173,0.012,0.243l-2.008,2.231  C166.191,45.543,166.143,45.563,166.096,45.563L166.096,45.563z" fill="#808080"/>
+<line fill="none" x1="51.221" x2="49.213" y1="172.979" y2="175.205"/>
+<line fill="none" x1="51.221" x2="49.213" y1="172.979" y2="175.205"/>
+<path d="M49.213,175.377c-0.043,0-0.084-0.016-0.117-0.045c-0.07-0.063-0.076-0.17-0.012-0.242l2.01-2.227  c0.064-0.071,0.174-0.077,0.24-0.012c0.072,0.062,0.078,0.168,0.016,0.24l-2.01,2.229C49.305,175.357,49.258,175.377,49.213,175.377  L49.213,175.377z" fill="#808080"/>
+<line fill="none" x1="174.68" x2="172.451" y1="49.734" y2="51.743"/>
+<line fill="none" x1="174.68" x2="172.451" y1="49.734" y2="51.743"/>
+<path d="M172.451,51.915c-0.047,0-0.094-0.02-0.129-0.058c-0.064-0.069-0.057-0.178,0.012-0.242l2.232-2.01  c0.07-0.063,0.178-0.058,0.242,0.013c0.063,0.071,0.059,0.18-0.017,0.243l-2.228,2.009C172.531,51.9,172.49,51.915,172.451,51.915  L172.451,51.915z" fill="#808080"/>
+<line fill="none" x1="44.867" x2="42.637" y1="166.625" y2="168.629"/>
+<line fill="none" x1="44.867" x2="42.637" y1="166.625" y2="168.629"/>
+<path d="M42.637,168.801c-0.047,0-0.096-0.019-0.127-0.058c-0.066-0.068-0.059-0.177,0.012-0.24l2.23-2.007  c0.072-0.063,0.18-0.057,0.244,0.014c0.063,0.07,0.055,0.18-0.014,0.242l-2.234,2.006C42.719,168.787,42.676,168.801,42.637,168.801  L42.637,168.801z" fill="#808080"/>
+<line fill="none" x1="180.533" x2="178.104" y1="56.961" y2="58.727"/>
+<line fill="none" x1="180.533" x2="178.104" y1="56.961" y2="58.727"/>
+<path d="M178.104,58.899c-0.053,0-0.104-0.026-0.139-0.073c-0.055-0.075-0.039-0.183,0.039-0.24l2.428-1.764  c0.078-0.056,0.187-0.037,0.24,0.038c0.055,0.076,0.039,0.185-0.037,0.238l-2.43,1.767  C178.176,58.888,178.139,58.899,178.104,58.899L178.104,58.899z" fill="#808080"/>
+<line fill="none" x1="39.213" x2="36.783" y1="159.643" y2="161.402"/>
+<line fill="none" x1="39.213" x2="36.783" y1="159.643" y2="161.402"/>
+<path d="M36.783,161.574c-0.053,0-0.105-0.023-0.139-0.07c-0.055-0.078-0.035-0.186,0.039-0.238l2.43-1.763  c0.076-0.056,0.184-0.038,0.236,0.038c0.059,0.075,0.041,0.184-0.037,0.24l-2.428,1.76  C36.854,161.563,36.818,161.574,36.783,161.574L36.783,161.574z" fill="#808080"/>
+<line fill="none" x1="189.82" x2="187.076" y1="73.046" y2="74.268"/>
+<line fill="none" x1="189.82" x2="187.076" y1="73.046" y2="74.268"/>
+<path d="M187.076,74.439c-0.064,0-0.127-0.036-0.152-0.102c-0.041-0.086,0-0.188,0.086-0.227l2.74-1.223  c0.088-0.039,0.188,0,0.227,0.088c0.039,0.086,0,0.187-0.086,0.225l-2.742,1.225C187.125,74.435,187.104,74.439,187.076,74.439  L187.076,74.439z" fill="#808080"/>
+<line fill="none" x1="30.24" x2="27.496" y1="144.102" y2="145.318"/>
+<line fill="none" x1="30.24" x2="27.496" y1="144.102" y2="145.318"/>
+<path d="M27.496,145.49c-0.066,0-0.127-0.038-0.156-0.104c-0.039-0.086,0-0.188,0.086-0.227l2.744-1.217  c0.088-0.039,0.188,0,0.225,0.087c0.039,0.087,0,0.188-0.086,0.226l-2.74,1.219C27.545,145.484,27.52,145.49,27.496,145.49  L27.496,145.49z" fill="#808080"/>
+<line fill="none" x1="193.154" x2="190.299" y1="81.728" y2="82.655"/>
+<line fill="none" x1="193.154" x2="190.299" y1="81.728" y2="82.655"/>
+<path d="M190.299,82.828c-0.074,0-0.141-0.046-0.164-0.118c-0.027-0.09,0.021-0.188,0.111-0.217l2.855-0.928  c0.086-0.03,0.184,0.02,0.213,0.109c0.031,0.09-0.019,0.187-0.107,0.215l-2.854,0.929C190.334,82.825,190.314,82.828,190.299,82.828  L190.299,82.828z" fill="#808080"/>
+<line fill="none" x1="27.02" x2="24.164" y1="135.713" y2="136.636"/>
+<line fill="none" x1="27.02" x2="24.164" y1="135.713" y2="136.636"/>
+<path d="M24.164,136.809c-0.072,0-0.139-0.045-0.164-0.119c-0.027-0.09,0.023-0.188,0.111-0.217l2.855-0.924  c0.088-0.027,0.188,0.021,0.215,0.111c0.029,0.089-0.02,0.186-0.109,0.215l-2.854,0.924  C24.199,136.807,24.182,136.809,24.164,136.809L24.164,136.809z" fill="#808080"/>
+<line fill="none" x1="195.561" x2="192.625" y1="90.709" y2="91.336"/>
+<line fill="none" x1="195.561" x2="192.625" y1="90.709" y2="91.336"/>
+<path d="M192.625,91.507c-0.08,0-0.152-0.054-0.168-0.135c-0.02-0.094,0.037-0.185,0.129-0.204l2.941-0.625  c0.096-0.019,0.182,0.041,0.199,0.132c0.021,0.092-0.037,0.183-0.131,0.203l-2.937,0.624  C192.648,91.506,192.637,91.507,192.625,91.507L192.625,91.507z" fill="#808080"/>
+<line fill="none" x1="24.691" x2="21.76" y1="127.032" y2="127.652"/>
+<line fill="none" x1="24.691" x2="21.76" y1="127.032" y2="127.652"/>
+<path d="M21.76,127.825c-0.082,0-0.15-0.056-0.168-0.136c-0.02-0.094,0.039-0.185,0.131-0.203l2.934-0.621  c0.098-0.018,0.186,0.039,0.203,0.134c0.021,0.091-0.037,0.183-0.129,0.201l-2.938,0.623  C21.781,127.824,21.77,127.825,21.76,127.825L21.76,127.825z" fill="#808080"/>
+<line fill="none" x1="197.016" x2="194.029" y1="99.894" y2="100.211"/>
+<line fill="none" x1="197.016" x2="194.029" y1="99.894" y2="100.211"/>
+<path d="M194.029,100.381c-0.086,0-0.162-0.065-0.17-0.153c-0.01-0.093,0.059-0.178,0.152-0.188l2.983-0.315  c0.094-0.009,0.182,0.059,0.19,0.152c0.006,0.094-0.059,0.179-0.151,0.188l-2.986,0.315  C194.041,100.381,194.035,100.381,194.029,100.381L194.029,100.381z" fill="#808080"/>
+<line fill="none" x1="23.287" x2="20.305" y1="118.159" y2="118.469"/>
+<line fill="none" x1="23.287" x2="20.305" y1="118.159" y2="118.469"/>
+<path d="M20.305,118.643c-0.086,0-0.164-0.066-0.172-0.154c-0.008-0.094,0.059-0.178,0.154-0.188l2.982-0.311  c0.1-0.009,0.182,0.059,0.189,0.153c0.008,0.094-0.061,0.18-0.154,0.187l-2.984,0.313C20.316,118.641,20.311,118.643,20.305,118.643  L20.305,118.643z" fill="#808080"/>
+<line fill="none" x1="197.016" x2="194.031" y1="118.468" y2="118.156"/>
+<line fill="none" x1="197.016" x2="194.031" y1="118.468" y2="118.156"/>
+<path d="M197.016,118.641c-0.008,0-0.012,0-0.02-0.002l-2.982-0.313c-0.096-0.01-0.162-0.096-0.154-0.188  c0.009-0.094,0.101-0.158,0.189-0.154l2.986,0.313c0.094,0.011,0.158,0.095,0.152,0.188  C197.178,118.575,197.102,118.641,197.016,118.641L197.016,118.641z" fill="#808080"/>
+<line fill="none" x1="23.285" x2="20.305" y1="100.214" y2="99.897"/>
+<line fill="none" x1="23.285" x2="20.305" y1="100.214" y2="99.897"/>
+<path d="M23.285,100.385c-0.006,0-0.012-0.001-0.016-0.001l-2.984-0.315c-0.094-0.011-0.16-0.097-0.152-0.189  c0.008-0.094,0.098-0.163,0.189-0.153l2.982,0.317c0.094,0.011,0.162,0.095,0.154,0.188  C23.451,100.319,23.373,100.385,23.285,100.385L23.285,100.385z" fill="#808080"/>
+<line fill="none" x1="195.563" x2="192.625" y1="127.652" y2="127.029"/>
+<line fill="none" x1="195.563" x2="192.625" y1="127.652" y2="127.029"/>
+<path d="M195.563,127.825c-0.014,0-0.024-0.001-0.035-0.002l-2.94-0.624c-0.09-0.02-0.147-0.112-0.129-0.204  c0.019-0.093,0.108-0.151,0.203-0.134l2.937,0.625c0.094,0.017,0.151,0.109,0.131,0.203  C195.711,127.77,195.641,127.825,195.563,127.825L195.563,127.825z" fill="#808080"/>
+<line fill="none" x1="24.691" x2="21.76" y1="91.339" y2="90.712"/>
+<line fill="none" x1="24.691" x2="21.76" y1="91.339" y2="90.712"/>
+<path d="M24.691,91.51c-0.01,0-0.023-0.002-0.035-0.003l-2.934-0.627c-0.092-0.021-0.15-0.111-0.131-0.204  c0.018-0.091,0.104-0.15,0.201-0.132l2.938,0.627c0.092,0.02,0.148,0.11,0.129,0.203C24.844,91.455,24.77,91.51,24.691,91.51  L24.691,91.51z" fill="#808080"/>
+<line fill="none" x1="193.154" x2="190.299" y1="136.636" y2="135.709"/>
+<line fill="none" x1="193.154" x2="190.299" y1="136.636" y2="135.709"/>
+<path d="M193.154,136.809c-0.016,0-0.033-0.002-0.053-0.01l-2.855-0.927c-0.09-0.029-0.137-0.127-0.109-0.215  c0.029-0.091,0.125-0.138,0.217-0.111l2.855,0.927c0.09,0.029,0.139,0.127,0.109,0.217  C193.295,136.764,193.227,136.809,193.154,136.809L193.154,136.809z" fill="#808080"/>
+<line fill="none" x1="27.016" x2="24.164" y1="82.66" y2="81.729"/>
+<line fill="none" x1="27.016" x2="24.164" y1="82.66" y2="81.729"/>
+<path d="M27.016,82.831c-0.014,0-0.033-0.003-0.051-0.009l-2.852-0.931c-0.09-0.028-0.141-0.125-0.111-0.215  c0.031-0.091,0.127-0.139,0.217-0.111l2.854,0.93c0.09,0.029,0.137,0.128,0.109,0.218C27.158,82.786,27.092,82.831,27.016,82.831  L27.016,82.831z" fill="#808080"/>
+<line fill="none" x1="189.82" x2="187.078" y1="145.318" y2="144.1"/>
+<line fill="none" x1="189.82" x2="187.078" y1="145.318" y2="144.1"/>
+<path d="M189.82,145.49c-0.021,0-0.045-0.006-0.068-0.016l-2.742-1.221c-0.086-0.038-0.125-0.14-0.086-0.227  c0.037-0.088,0.137-0.125,0.225-0.088l2.742,1.222c0.088,0.038,0.127,0.14,0.088,0.228  C189.949,145.452,189.887,145.49,189.82,145.49L189.82,145.49z" fill="#808080"/>
+<line fill="none" x1="30.24" x2="27.496" y1="74.27" y2="73.047"/>
+<line fill="none" x1="30.24" x2="27.496" y1="74.27" y2="73.047"/>
+<path d="M30.24,74.442c-0.027,0-0.051-0.004-0.07-0.015l-2.742-1.224c-0.084-0.038-0.127-0.14-0.088-0.226  c0.041-0.087,0.141-0.125,0.229-0.088l2.738,1.223c0.088,0.039,0.125,0.142,0.088,0.227C30.367,74.404,30.303,74.442,30.24,74.442  L30.24,74.442z" fill="#808080"/>
+<line fill="none" x1="180.535" x2="178.105" y1="161.402" y2="159.639"/>
+<line fill="none" x1="180.535" x2="178.105" y1="161.402" y2="159.639"/>
+<path d="M180.535,161.574c-0.035,0-0.07-0.01-0.102-0.03l-2.431-1.765c-0.076-0.059-0.092-0.164-0.035-0.24  c0.054-0.076,0.16-0.096,0.236-0.038l2.43,1.765c0.08,0.057,0.097,0.161,0.039,0.239  C180.641,161.552,180.588,161.574,180.535,161.574L180.535,161.574z" fill="#808080"/>
+<line fill="none" x1="39.209" x2="36.785" y1="58.729" y2="56.962"/>
+<line fill="none" x1="39.209" x2="36.785" y1="58.729" y2="56.962"/>
+<path d="M39.209,58.901c-0.033,0-0.07-0.013-0.1-0.034l-2.426-1.766c-0.074-0.056-0.094-0.164-0.039-0.24  c0.057-0.075,0.164-0.093,0.24-0.036l2.428,1.766c0.076,0.056,0.094,0.163,0.037,0.239C39.316,58.877,39.264,58.901,39.209,58.901  L39.209,58.901z" fill="#808080"/>
+<line fill="none" x1="174.684" x2="172.451" y1="168.631" y2="166.623"/>
+<line fill="none" x1="174.684" x2="172.451" y1="168.631" y2="166.623"/>
+<path d="M174.684,168.801c-0.041,0-0.084-0.013-0.113-0.042l-2.231-2.01c-0.069-0.063-0.077-0.17-0.014-0.241  c0.063-0.07,0.172-0.076,0.241-0.013l2.23,2.008c0.072,0.063,0.078,0.172,0.014,0.242  C174.777,168.783,174.73,168.801,174.684,168.801L174.684,168.801z" fill="#808080"/>
+<line fill="none" x1="44.865" x2="42.637" y1="51.747" y2="49.735"/>
+<line fill="none" x1="44.865" x2="42.637" y1="51.747" y2="49.735"/>
+<path d="M44.865,51.918c-0.041,0-0.082-0.016-0.115-0.045l-2.229-2.01c-0.07-0.064-0.078-0.173-0.012-0.242  c0.061-0.07,0.172-0.076,0.24-0.012l2.23,2.008c0.068,0.066,0.074,0.174,0.014,0.244C44.957,51.897,44.91,51.918,44.865,51.918  L44.865,51.918z" fill="#808080"/>
+<line fill="none" x1="168.105" x2="166.098" y1="175.207" y2="172.975"/>
+<line fill="none" x1="168.105" x2="166.098" y1="175.207" y2="172.975"/>
+<path d="M168.105,175.379c-0.045,0-0.092-0.021-0.125-0.057l-2.01-2.232c-0.063-0.07-0.058-0.179,0.014-0.24  c0.067-0.065,0.178-0.06,0.24,0.012l2.01,2.23c0.063,0.07,0.057,0.18-0.012,0.242C168.189,175.363,168.146,175.379,168.105,175.379  L168.105,175.379z" fill="#808080"/>
+<line fill="none" x1="51.217" x2="49.213" y1="45.393" y2="43.159"/>
+<line fill="none" x1="51.217" x2="49.213" y1="45.393" y2="43.159"/>
+<path d="M51.217,45.563c-0.045,0-0.094-0.018-0.125-0.057l-2.008-2.232c-0.063-0.071-0.057-0.18,0.012-0.242  c0.072-0.064,0.18-0.06,0.244,0.014l2.008,2.232c0.061,0.07,0.055,0.179-0.016,0.241C51.299,45.551,51.26,45.563,51.217,45.563  L51.217,45.563z" fill="#808080"/>
+<line fill="none" x1="160.881" x2="159.115" y1="181.061" y2="178.631"/>
+<line fill="none" x1="160.881" x2="159.115" y1="181.061" y2="178.631"/>
+<path d="M160.881,181.23c-0.055,0-0.105-0.024-0.139-0.071l-1.766-2.429c-0.058-0.078-0.039-0.186,0.039-0.238  c0.075-0.059,0.184-0.04,0.237,0.037l1.767,2.429c0.055,0.075,0.039,0.185-0.037,0.239  C160.951,181.221,160.914,181.23,160.881,181.23L160.881,181.23z" fill="#808080"/>
+<line fill="none" x1="58.201" x2="56.438" y1="39.737" y2="37.308"/>
+<line fill="none" x1="58.201" x2="56.438" y1="39.737" y2="37.308"/>
+<path d="M58.201,39.909c-0.053,0-0.104-0.024-0.137-0.069l-1.766-2.431c-0.053-0.078-0.039-0.184,0.039-0.24  c0.076-0.055,0.184-0.039,0.242,0.039l1.758,2.432c0.057,0.073,0.041,0.182-0.035,0.237C58.27,39.899,58.234,39.909,58.201,39.909  L58.201,39.909z" fill="#808080"/>
+<line fill="none" x1="144.793" x2="143.574" y1="190.346" y2="187.604"/>
+<line fill="none" x1="144.793" x2="143.574" y1="190.346" y2="187.604"/>
+<path d="M144.793,190.518c-0.063,0-0.125-0.039-0.154-0.103l-1.221-2.742c-0.037-0.086,0-0.188,0.086-0.226  c0.088-0.038,0.189,0,0.227,0.086l1.224,2.742c0.037,0.086-0.002,0.188-0.09,0.228C144.842,190.512,144.818,190.518,144.793,190.518  L144.793,190.518z" fill="#808080"/>
+<line fill="none" x1="73.742" x2="72.525" y1="30.766" y2="28.022"/>
+<line fill="none" x1="73.742" x2="72.525" y1="30.766" y2="28.022"/>
+<path d="M73.742,30.938c-0.066,0-0.129-0.038-0.156-0.104l-1.217-2.743c-0.039-0.087,0-0.187,0.086-0.225  c0.084-0.041,0.188,0,0.227,0.086l1.219,2.745c0.037,0.085-0.002,0.186-0.09,0.225C73.789,30.933,73.766,30.938,73.742,30.938  L73.742,30.938z" fill="#808080"/>
+<line fill="none" x1="136.113" x2="135.186" y1="193.68" y2="190.822"/>
+<line fill="none" x1="136.113" x2="135.186" y1="193.68" y2="190.822"/>
+<path d="M136.113,193.852c-0.072,0-0.139-0.047-0.164-0.119l-0.928-2.856c-0.027-0.09,0.021-0.187,0.11-0.216  c0.091-0.028,0.188,0.02,0.218,0.109l0.928,2.855c0.027,0.091-0.021,0.188-0.111,0.216  C136.148,193.848,136.129,193.852,136.113,193.852L136.113,193.852z" fill="#808080"/>
+<line fill="none" x1="82.131" x2="81.205" y1="27.545" y2="24.689"/>
+<line fill="none" x1="82.131" x2="81.205" y1="27.545" y2="24.689"/>
+<path d="M82.131,27.717c-0.072,0-0.139-0.048-0.164-0.119l-0.926-2.855c-0.027-0.091,0.021-0.188,0.113-0.217  c0.088-0.028,0.186,0.021,0.217,0.111l0.926,2.855c0.025,0.089-0.023,0.187-0.113,0.216C82.166,27.715,82.146,27.717,82.131,27.717  L82.131,27.717z" fill="#808080"/>
+<line fill="none" x1="127.131" x2="126.506" y1="196.086" y2="193.148"/>
+<line fill="none" x1="127.131" x2="126.506" y1="196.086" y2="193.148"/>
+<path d="M127.131,196.257c-0.078,0-0.15-0.056-0.166-0.137l-0.625-2.935c-0.021-0.095,0.039-0.187,0.131-0.203  c0.098-0.021,0.187,0.039,0.203,0.129l0.625,2.938c0.02,0.093-0.039,0.185-0.133,0.204  C127.156,196.255,127.143,196.257,127.131,196.257L127.131,196.257z" fill="#808080"/>
+<line fill="none" x1="90.811" x2="90.188" y1="25.22" y2="22.284"/>
+<line fill="none" x1="90.811" x2="90.188" y1="25.22" y2="22.284"/>
+<path d="M90.811,25.392c-0.08,0-0.152-0.057-0.166-0.137l-0.621-2.938c-0.021-0.09,0.037-0.183,0.127-0.201  c0.1-0.02,0.186,0.039,0.205,0.131l0.621,2.936c0.02,0.093-0.039,0.185-0.131,0.205C90.834,25.39,90.822,25.392,90.811,25.392  L90.811,25.392z" fill="#808080"/>
+<line fill="none" x1="117.945" x2="117.633" y1="197.539" y2="194.555"/>
+<line fill="none" x1="117.945" x2="117.633" y1="197.539" y2="194.555"/>
+<path d="M117.945,197.712c-0.086,0-0.162-0.065-0.17-0.151l-0.314-2.987c-0.01-0.095,0.059-0.179,0.154-0.188  c0.094-0.007,0.176,0.059,0.189,0.151l0.313,2.987c0.008,0.095-0.059,0.179-0.154,0.188c-0.004,0.001-0.012,0.001-0.012,0.001  L117.945,197.712L117.945,197.712z" fill="#808080"/>
+<line fill="none" x1="99.684" x2="99.373" y1="23.814" y2="20.828"/>
+<line fill="none" x1="99.684" x2="99.373" y1="23.814" y2="20.828"/>
+<path d="M99.684,23.985c-0.088,0-0.162-0.065-0.17-0.154l-0.313-2.984c-0.008-0.094,0.059-0.18,0.154-0.188  c0.096-0.007,0.178,0.059,0.188,0.152l0.311,2.985c0.01,0.094-0.057,0.178-0.15,0.188c-0.008,0-0.014,0.002-0.014,0.002  L99.684,23.985L99.684,23.985z" fill="#808080"/>
+<line fill="none" x1="99.371" x2="99.686" y1="197.539" y2="194.555"/>
+<line fill="none" x1="99.371" x2="99.686" y1="197.539" y2="194.555"/>
+<path d="M99.371,197.712c0,0-0.012,0-0.016-0.001c-0.096-0.01-0.162-0.094-0.154-0.188l0.314-2.988  c0.01-0.094,0.098-0.158,0.189-0.151c0.094,0.011,0.16,0.095,0.154,0.188l-0.316,2.986  C99.533,197.646,99.459,197.712,99.371,197.712L99.371,197.712z" fill="#808080"/>
+<line fill="none" x1="117.631" x2="117.945" y1="23.814" y2="20.828"/>
+<line fill="none" x1="117.631" x2="117.945" y1="23.814" y2="20.828"/>
+<path d="M117.631,23.985c-0.008,0-0.012-0.002-0.02-0.002c-0.094-0.01-0.16-0.094-0.152-0.188l0.316-2.985  c0.008-0.093,0.096-0.158,0.188-0.151c0.094,0.009,0.162,0.095,0.154,0.189l-0.316,2.983  C117.791,23.92,117.717,23.985,117.631,23.985L117.631,23.985z" fill="#808080"/>
+<line fill="none" x1="90.188" x2="90.813" y1="196.087" y2="193.148"/>
+<line fill="none" x1="90.188" x2="90.813" y1="196.087" y2="193.148"/>
+<path d="M90.188,196.258c-0.012,0-0.023-0.002-0.037-0.004c-0.092-0.021-0.15-0.111-0.129-0.204l0.623-2.937  c0.02-0.092,0.107-0.15,0.203-0.131c0.092,0.02,0.152,0.108,0.131,0.203l-0.623,2.938C90.338,196.201,90.266,196.258,90.188,196.258  L90.188,196.258z" fill="#808080"/>
+<line fill="none" x1="126.506" x2="127.131" y1="25.219" y2="22.284"/>
+<line fill="none" x1="126.506" x2="127.131" y1="25.219" y2="22.284"/>
+<path d="M126.506,25.391c-0.012,0-0.025-0.001-0.037-0.003c-0.092-0.021-0.15-0.112-0.131-0.205l0.625-2.936  c0.02-0.092,0.105-0.151,0.201-0.131c0.096,0.019,0.154,0.111,0.133,0.201l-0.623,2.938  C126.656,25.333,126.584,25.391,126.506,25.391L126.506,25.391z" fill="#808080"/>
+<line fill="none" x1="81.205" x2="82.131" y1="193.68" y2="190.822"/>
+<line fill="none" x1="81.205" x2="82.131" y1="193.68" y2="190.822"/>
+<path d="M81.205,193.852c-0.018,0-0.035-0.004-0.053-0.011c-0.09-0.026-0.141-0.124-0.111-0.214l0.93-2.855  c0.029-0.092,0.127-0.141,0.215-0.11c0.092,0.028,0.139,0.125,0.111,0.216l-0.928,2.855  C81.344,193.805,81.277,193.852,81.205,193.852L81.205,193.852z" fill="#808080"/>
+<line fill="none" x1="135.182" x2="136.113" y1="27.543" y2="24.689"/>
+<line fill="none" x1="135.182" x2="136.113" y1="27.543" y2="24.689"/>
+<path d="M135.182,27.716c-0.016,0-0.033-0.002-0.053-0.009c-0.088-0.029-0.137-0.126-0.107-0.215l0.929-2.854  c0.028-0.091,0.127-0.141,0.217-0.111c0.09,0.03,0.14,0.128,0.108,0.216l-0.93,2.855C135.322,27.669,135.256,27.716,135.182,27.716  L135.182,27.716z" fill="#808080"/>
+<line fill="none" x1="72.523" x2="73.744" y1="190.348" y2="187.604"/>
+<line fill="none" x1="72.523" x2="73.744" y1="190.348" y2="187.604"/>
+<path d="M72.523,190.518c-0.025,0-0.047-0.006-0.068-0.014c-0.088-0.04-0.127-0.143-0.09-0.229l1.221-2.742  c0.041-0.085,0.143-0.124,0.229-0.086c0.086,0.037,0.125,0.14,0.088,0.226l-1.223,2.742C72.65,190.479,72.59,190.518,72.523,190.518  L72.523,190.518z" fill="#808080"/>
+<line fill="none" x1="143.572" x2="144.793" y1="30.763" y2="28.022"/>
+<line fill="none" x1="143.572" x2="144.793" y1="30.763" y2="28.022"/>
+<path d="M143.572,30.937c-0.023,0-0.047-0.005-0.068-0.016c-0.088-0.04-0.127-0.14-0.088-0.228l1.223-2.741  c0.037-0.086,0.139-0.124,0.226-0.086c0.088,0.039,0.125,0.141,0.088,0.228l-1.224,2.74  C143.699,30.896,143.639,30.937,143.572,30.937L143.572,30.937z" fill="#808080"/>
+<line fill="none" x1="56.438" x2="58.203" y1="181.061" y2="178.631"/>
+<line fill="none" x1="56.438" x2="58.203" y1="181.061" y2="178.631"/>
+<path d="M56.438,181.23c-0.033,0-0.07-0.01-0.102-0.032c-0.076-0.058-0.092-0.163-0.037-0.24l1.766-2.427  c0.055-0.078,0.162-0.096,0.24-0.038c0.078,0.055,0.092,0.159,0.037,0.239l-1.764,2.43C56.543,181.206,56.492,181.23,56.438,181.23  L56.438,181.23z" fill="#808080"/>
+<line fill="none" x1="159.113" x2="160.879" y1="39.737" y2="37.311"/>
+<line fill="none" x1="159.113" x2="160.879" y1="39.737" y2="37.311"/>
+<path d="M159.113,39.907c-0.035,0-0.07-0.01-0.102-0.033c-0.076-0.054-0.095-0.162-0.037-0.237l1.766-2.428  c0.055-0.078,0.162-0.094,0.24-0.039c0.076,0.056,0.094,0.162,0.035,0.24l-1.765,2.428  C159.219,39.884,159.166,39.907,159.113,39.907L159.113,39.907z" fill="#808080"/>
+<line fill="none" x1="49.213" x2="51.221" y1="175.207" y2="172.977"/>
+<line fill="none" x1="49.213" x2="51.221" y1="175.207" y2="172.977"/>
+<path d="M49.213,175.379c-0.043,0-0.084-0.015-0.117-0.045c-0.07-0.063-0.076-0.172-0.012-0.241l2.008-2.231  c0.064-0.069,0.174-0.076,0.242-0.012c0.07,0.063,0.076,0.172,0.016,0.241l-2.014,2.232  C49.305,175.357,49.258,175.379,49.213,175.379L49.213,175.379z" fill="#808080"/>
+<line fill="none" x1="166.096" x2="168.105" y1="45.391" y2="43.162"/>
+<line fill="none" x1="166.096" x2="168.105" y1="45.391" y2="43.162"/>
+<path d="M166.096,45.563c-0.041,0-0.082-0.013-0.113-0.045c-0.069-0.063-0.075-0.171-0.014-0.241l2.01-2.229  c0.064-0.071,0.17-0.078,0.242-0.012c0.068,0.062,0.076,0.17,0.014,0.241l-2.012,2.229  C166.189,45.544,166.143,45.563,166.096,45.563L166.096,45.563z" fill="#808080"/>
+<line fill="none" x1="42.637" x2="44.867" y1="168.632" y2="166.623"/>
+<line fill="none" x1="42.637" x2="44.867" y1="168.632" y2="166.623"/>
+<path d="M42.637,168.803c-0.049,0-0.096-0.02-0.129-0.058c-0.064-0.068-0.059-0.179,0.014-0.241l2.23-2.008  c0.07-0.063,0.18-0.059,0.242,0.013c0.063,0.07,0.057,0.179-0.014,0.242l-2.232,2.009C42.717,168.789,42.676,168.803,42.637,168.803  L42.637,168.803z" fill="#808080"/>
+<line fill="none" x1="172.451" x2="174.68" y1="51.745" y2="49.737"/>
+<line fill="none" x1="172.451" x2="174.68" y1="51.745" y2="49.737"/>
+<path d="M172.451,51.916c-0.047,0-0.096-0.02-0.129-0.057c-0.064-0.07-0.057-0.18,0.012-0.243l2.232-2.006  c0.07-0.063,0.18-0.06,0.242,0.012c0.063,0.07,0.059,0.179-0.015,0.243l-2.229,2.007C172.531,51.9,172.49,51.916,172.451,51.916  L172.451,51.916z" fill="#808080"/>
+<line fill="none" x1="36.783" x2="39.213" y1="161.404" y2="159.641"/>
+<line fill="none" x1="36.783" x2="39.213" y1="161.404" y2="159.641"/>
+<path d="M36.783,161.575c-0.053,0-0.105-0.023-0.139-0.069c-0.057-0.076-0.037-0.186,0.039-0.24l2.43-1.764  c0.076-0.057,0.182-0.038,0.236,0.037c0.057,0.076,0.041,0.184-0.037,0.24l-2.428,1.765  C36.854,161.566,36.818,161.575,36.783,161.575L36.783,161.575z" fill="#808080"/>
+<line fill="none" x1="178.104" x2="180.533" y1="58.728" y2="56.963"/>
+<line fill="none" x1="178.104" x2="180.533" y1="58.728" y2="56.963"/>
+<path d="M178.104,58.899c-0.053,0-0.104-0.026-0.139-0.071c-0.055-0.076-0.041-0.184,0.039-0.238l2.43-1.765  c0.074-0.057,0.185-0.039,0.238,0.037c0.055,0.077,0.039,0.186-0.037,0.24l-2.432,1.764  C178.176,58.889,178.139,58.899,178.104,58.899L178.104,58.899z" fill="#808080"/>
+<line fill="none" x1="27.496" x2="30.24" y1="145.32" y2="144.1"/>
+<line fill="none" x1="27.496" x2="30.24" y1="145.32" y2="144.1"/>
+<path d="M27.496,145.492c-0.066,0-0.127-0.039-0.158-0.104c-0.037-0.086,0.002-0.188,0.088-0.228l2.744-1.22  c0.088-0.039,0.188,0,0.225,0.086c0.039,0.088,0,0.188-0.086,0.228l-2.742,1.222C27.543,145.486,27.52,145.492,27.496,145.492  L27.496,145.492z" fill="#808080"/>
+<line fill="none" x1="187.076" x2="189.82" y1="74.268" y2="73.049"/>
+<line fill="none" x1="187.076" x2="189.82" y1="74.268" y2="73.049"/>
+<path d="M187.076,74.439c-0.064,0-0.129-0.036-0.156-0.102c-0.037-0.086,0.004-0.188,0.088-0.227l2.742-1.22  c0.088-0.036,0.189,0,0.227,0.088c0.039,0.086,0,0.188-0.086,0.225l-2.744,1.222C187.123,74.437,187.1,74.439,187.076,74.439  L187.076,74.439z" fill="#808080"/>
+<line fill="none" x1="24.162" x2="27.02" y1="136.639" y2="135.711"/>
+<line fill="none" x1="24.162" x2="27.02" y1="136.639" y2="135.711"/>
+<path d="M24.162,136.811c-0.072,0-0.137-0.045-0.162-0.121c-0.029-0.088,0.021-0.186,0.111-0.213l2.855-0.929  c0.088-0.028,0.188,0.021,0.215,0.111c0.029,0.089-0.018,0.185-0.109,0.214l-2.857,0.927  C24.199,136.807,24.182,136.811,24.162,136.811L24.162,136.811z" fill="#808080"/>
+<line fill="none" x1="190.297" x2="193.152" y1="82.655" y2="81.729"/>
+<line fill="none" x1="190.297" x2="193.152" y1="82.655" y2="81.729"/>
+<path d="M190.297,82.828c-0.072,0-0.139-0.046-0.164-0.118c-0.029-0.09,0.021-0.188,0.111-0.217l2.855-0.927  c0.088-0.028,0.186,0.021,0.215,0.111c0.031,0.091-0.021,0.188-0.107,0.216l-2.855,0.925  C190.332,82.825,190.314,82.828,190.297,82.828L190.297,82.828z" fill="#808080"/>
+<line fill="none" x1="21.756" x2="24.691" y1="127.656" y2="127.032"/>
+<line fill="none" x1="21.756" x2="24.691" y1="127.656" y2="127.032"/>
+<path d="M21.756,127.826c-0.078,0-0.15-0.055-0.166-0.135c-0.02-0.092,0.039-0.185,0.133-0.203l2.934-0.625  c0.098-0.021,0.186,0.041,0.203,0.134c0.021,0.091-0.037,0.183-0.129,0.202l-2.938,0.624  C21.781,127.825,21.768,127.826,21.756,127.826L21.756,127.826z" fill="#808080"/>
+<line fill="none" x1="192.623" x2="195.559" y1="91.336" y2="90.713"/>
+<line fill="none" x1="192.623" x2="195.559" y1="91.336" y2="90.713"/>
+<path d="M192.623,91.507c-0.08,0-0.152-0.054-0.168-0.136c-0.02-0.093,0.039-0.184,0.129-0.203l2.939-0.622  c0.096-0.02,0.184,0.04,0.203,0.132c0.021,0.093-0.039,0.184-0.131,0.202l-2.938,0.622  C192.646,91.506,192.637,91.507,192.623,91.507L192.623,91.507z" fill="#808080"/>
+<line fill="none" x1="20.305" x2="23.287" y1="118.473" y2="118.157"/>
+<line fill="none" x1="20.305" x2="23.287" y1="118.473" y2="118.157"/>
+<path d="M20.305,118.643c-0.088,0-0.166-0.064-0.172-0.153c-0.01-0.095,0.059-0.177,0.152-0.188l2.984-0.314  c0.094-0.006,0.182,0.059,0.189,0.152c0.008,0.096-0.061,0.18-0.154,0.188l-2.984,0.313  C20.316,118.643,20.311,118.643,20.305,118.643L20.305,118.643z" fill="#808080"/>
+<line fill="none" x1="194.027" x2="197.012" y1="100.211" y2="99.897"/>
+<line fill="none" x1="194.027" x2="197.012" y1="100.211" y2="99.897"/>
+<path d="M194.027,100.381c-0.086,0-0.16-0.065-0.17-0.153c-0.01-0.093,0.059-0.178,0.154-0.188l2.983-0.313  c0.094-0.008,0.18,0.06,0.188,0.153c0.008,0.093-0.061,0.178-0.154,0.188l-2.983,0.313  C194.047,100.381,194.035,100.381,194.027,100.381L194.027,100.381z" fill="#808080"/>
+<line fill="none" x1="20.305" x2="23.287" y1="99.897" y2="100.211"/>
+<line fill="none" x1="20.305" x2="23.287" y1="99.897" y2="100.211"/>
+<path d="M23.287,100.383c-0.008,0-0.012,0-0.018,0l-2.984-0.314c-0.094-0.011-0.162-0.096-0.152-0.188  c0.008-0.095,0.098-0.161,0.188-0.153l2.984,0.313c0.094,0.011,0.162,0.096,0.154,0.188  C23.451,100.316,23.373,100.383,23.287,100.383L23.287,100.383z" fill="#808080"/>
+<line fill="none" x1="194.029" x2="197.012" y1="118.156" y2="118.473"/>
+<line fill="none" x1="194.029" x2="197.012" y1="118.156" y2="118.473"/>
+<path d="M197.012,118.643c0,0-0.01,0-0.016,0l-2.984-0.315c-0.096-0.011-0.162-0.095-0.154-0.188  c0.011-0.094,0.097-0.156,0.189-0.152l2.984,0.315c0.094,0.011,0.162,0.093,0.154,0.188  C197.176,118.577,197.1,118.643,197.012,118.643L197.012,118.643z" fill="#808080"/>
+<line fill="none" x1="21.756" x2="24.691" y1="90.713" y2="91.337"/>
+<line fill="none" x1="21.756" x2="24.691" y1="90.713" y2="91.337"/>
+<path d="M24.691,91.508c-0.01,0-0.021-0.001-0.035-0.004l-2.934-0.624c-0.094-0.019-0.152-0.109-0.133-0.202  c0.02-0.092,0.105-0.151,0.203-0.132l2.938,0.624c0.092,0.019,0.15,0.109,0.129,0.203C24.846,91.455,24.773,91.508,24.691,91.508  L24.691,91.508z" fill="#808080"/>
+<line fill="none" x1="192.623" x2="195.559" y1="127.029" y2="127.656"/>
+<line fill="none" x1="192.623" x2="195.559" y1="127.029" y2="127.656"/>
+<path d="M195.559,127.826c-0.01,0-0.022-0.001-0.035-0.003l-2.938-0.624c-0.092-0.02-0.148-0.112-0.131-0.204  c0.02-0.093,0.107-0.151,0.203-0.134l2.938,0.627c0.092,0.02,0.152,0.111,0.131,0.205  C195.711,127.771,195.639,127.826,195.559,127.826L195.559,127.826z" fill="#808080"/>
+<line fill="none" x1="24.162" x2="27.02" y1="81.729" y2="82.657"/>
+<line fill="none" x1="24.162" x2="27.02" y1="81.729" y2="82.657"/>
+<path d="M27.02,82.828c-0.018,0-0.035-0.002-0.053-0.008l-2.855-0.929c-0.09-0.026-0.141-0.124-0.111-0.214  c0.031-0.091,0.127-0.14,0.215-0.111l2.857,0.929c0.092,0.028,0.139,0.126,0.109,0.216C27.158,82.784,27.094,82.828,27.02,82.828  L27.02,82.828z" fill="#808080"/>
+<line fill="none" x1="190.299" x2="193.152" y1="135.709" y2="136.639"/>
+<line fill="none" x1="190.299" x2="193.152" y1="135.709" y2="136.639"/>
+<path d="M193.152,136.811c-0.019,0-0.037-0.004-0.053-0.011l-2.855-0.928c-0.09-0.031-0.139-0.127-0.109-0.215  c0.029-0.091,0.127-0.138,0.217-0.111l2.854,0.929c0.09,0.029,0.142,0.125,0.108,0.215  C193.289,136.766,193.225,136.811,193.152,136.811L193.152,136.811z" fill="#808080"/>
+<line fill="none" x1="27.496" x2="30.24" y1="73.049" y2="74.269"/>
+<line fill="none" x1="27.496" x2="30.24" y1="73.049" y2="74.269"/>
+<path d="M30.24,74.44c-0.025,0-0.049-0.004-0.07-0.014l-2.744-1.223c-0.086-0.038-0.125-0.139-0.088-0.225  c0.041-0.088,0.143-0.124,0.229-0.088l2.742,1.221c0.086,0.039,0.125,0.141,0.086,0.227C30.367,74.403,30.305,74.44,30.24,74.44  L30.24,74.44z" fill="#808080"/>
+<line fill="none" x1="187.076" x2="189.82" y1="144.1" y2="145.32"/>
+<line fill="none" x1="187.076" x2="189.82" y1="144.1" y2="145.32"/>
+<path d="M189.82,145.491c-0.023,0-0.049-0.005-0.072-0.015l-2.738-1.223c-0.086-0.038-0.127-0.141-0.086-0.227  c0.037-0.088,0.137-0.125,0.223-0.088l2.744,1.222c0.086,0.039,0.123,0.142,0.086,0.228  C189.947,145.453,189.885,145.491,189.82,145.491L189.82,145.491z" fill="#808080"/>
+<line fill="none" x1="36.783" x2="39.211" y1="56.963" y2="58.728"/>
+<line fill="none" x1="36.783" x2="39.211" y1="56.963" y2="58.728"/>
+<path d="M39.211,58.899c-0.035,0-0.07-0.011-0.1-0.033l-2.428-1.764c-0.076-0.056-0.096-0.163-0.039-0.24  c0.057-0.076,0.164-0.094,0.24-0.037l2.428,1.765c0.078,0.056,0.094,0.162,0.037,0.238C39.316,58.877,39.264,58.899,39.211,58.899  L39.211,58.899z" fill="#808080"/>
+<line fill="none" x1="178.105" x2="180.531" y1="159.639" y2="161.402"/>
+<line fill="none" x1="178.105" x2="180.531" y1="159.639" y2="161.402"/>
+<path d="M180.531,161.575c-0.033,0-0.068-0.011-0.1-0.031l-2.429-1.767c-0.078-0.057-0.094-0.162-0.037-0.238  c0.056-0.077,0.158-0.096,0.238-0.04l2.43,1.767c0.076,0.057,0.093,0.162,0.037,0.24  C180.639,161.552,180.584,161.575,180.531,161.575L180.531,161.575z" fill="#808080"/>
+<line fill="none" x1="42.637" x2="44.865" y1="49.736" y2="51.747"/>
+<line fill="none" x1="42.637" x2="44.865" y1="49.736" y2="51.747"/>
+<path d="M44.865,51.916c-0.039,0-0.08-0.014-0.113-0.043l-2.23-2.009c-0.072-0.064-0.078-0.173-0.014-0.243  c0.061-0.07,0.172-0.076,0.24-0.011l2.232,2.006c0.068,0.066,0.076,0.173,0.014,0.243C44.959,51.896,44.912,51.916,44.865,51.916  L44.865,51.916z" fill="#808080"/>
+<line fill="none" x1="172.451" x2="174.68" y1="166.623" y2="168.632"/>
+<line fill="none" x1="172.451" x2="174.68" y1="166.623" y2="168.632"/>
+<path d="M174.68,168.803c-0.039,0-0.082-0.014-0.113-0.044l-2.229-2.01c-0.07-0.063-0.078-0.171-0.014-0.241  c0.063-0.072,0.172-0.078,0.242-0.013l2.227,2.009c0.074,0.063,0.078,0.173,0.016,0.241  C174.773,168.783,174.729,168.803,174.68,168.803L174.68,168.803z" fill="#808080"/>
+<line fill="none" x1="49.213" x2="51.219" y1="43.162" y2="45.391"/>
+<line fill="none" x1="49.213" x2="51.219" y1="43.162" y2="45.391"/>
+<path d="M51.219,45.563c-0.045,0-0.094-0.017-0.127-0.056l-2.008-2.23c-0.064-0.071-0.059-0.18,0.012-0.241  c0.07-0.067,0.178-0.06,0.24,0.012l2.012,2.229c0.061,0.071,0.057,0.18-0.016,0.241C51.301,45.55,51.26,45.563,51.219,45.563  L51.219,45.563z" fill="#808080"/>
+<line fill="none" x1="166.098" x2="168.104" y1="172.975" y2="175.207"/>
+<line fill="none" x1="166.098" x2="168.104" y1="172.975" y2="175.207"/>
+<path d="M168.104,175.379c-0.045,0-0.094-0.021-0.125-0.059l-2.008-2.231c-0.063-0.069-0.059-0.179,0.012-0.239  c0.07-0.065,0.181-0.06,0.242,0.012l2.008,2.23c0.063,0.07,0.056,0.18-0.012,0.242C168.184,175.363,168.146,175.379,168.104,175.379  L168.104,175.379z" fill="#808080"/>
+<line fill="none" x1="56.438" x2="58.201" y1="37.31" y2="39.737"/>
+<line fill="none" x1="56.438" x2="58.201" y1="37.31" y2="39.737"/>
+<path d="M58.201,39.908c-0.053,0-0.104-0.024-0.137-0.07l-1.766-2.428c-0.055-0.078-0.039-0.185,0.039-0.24  c0.074-0.056,0.182-0.039,0.24,0.038l1.764,2.429c0.055,0.075,0.039,0.185-0.039,0.238C58.271,39.897,58.236,39.908,58.201,39.908  L58.201,39.908z" fill="#808080"/>
+<line fill="none" x1="159.115" x2="160.879" y1="178.63" y2="181.061"/>
+<line fill="none" x1="159.115" x2="160.879" y1="178.63" y2="181.061"/>
+<path d="M160.879,181.23c-0.053,0-0.105-0.025-0.139-0.071l-1.764-2.429c-0.058-0.078-0.041-0.186,0.039-0.238  c0.075-0.059,0.184-0.04,0.237,0.035l1.763,2.431c0.057,0.075,0.041,0.185-0.035,0.237  C160.949,181.221,160.914,181.23,160.879,181.23L160.879,181.23z" fill="#808080"/>
+<line fill="none" x1="72.523" x2="73.744" y1="28.022" y2="30.765"/>
+<line fill="none" x1="72.523" x2="73.744" y1="28.022" y2="30.765"/>
+<path d="M73.744,30.937c-0.066,0-0.129-0.04-0.158-0.103l-1.221-2.743c-0.037-0.084,0-0.187,0.088-0.225  c0.086-0.041,0.186,0,0.225,0.086l1.223,2.743c0.037,0.086,0,0.188-0.088,0.226C73.791,30.932,73.768,30.937,73.744,30.937  L73.744,30.937z" fill="#808080"/>
+<line fill="none" x1="143.572" x2="144.793" y1="187.604" y2="190.346"/>
+<line fill="none" x1="143.572" x2="144.793" y1="187.604" y2="190.346"/>
+<path d="M144.793,190.518c-0.064,0-0.127-0.039-0.156-0.103l-1.221-2.742c-0.039-0.087,0.002-0.188,0.088-0.228  c0.088-0.037,0.188,0,0.227,0.088l1.222,2.742c0.036,0.086,0,0.187-0.089,0.228C144.84,190.512,144.816,190.518,144.793,190.518  L144.793,190.518z" fill="#808080"/>
+<line fill="none" x1="81.205" x2="82.131" y1="24.689" y2="27.544"/>
+<line fill="none" x1="81.205" x2="82.131" y1="24.689" y2="27.544"/>
+<path d="M82.131,27.717c-0.072,0-0.137-0.048-0.162-0.119l-0.928-2.855c-0.029-0.091,0.02-0.188,0.109-0.217  c0.09-0.028,0.188,0.021,0.217,0.111l0.93,2.855c0.027,0.089-0.021,0.187-0.113,0.215C82.166,27.714,82.15,27.717,82.131,27.717  L82.131,27.717z" fill="#808080"/>
+<line fill="none" x1="135.186" x2="136.113" y1="190.82" y2="193.677"/>
+<line fill="none" x1="135.186" x2="136.113" y1="190.82" y2="193.677"/>
+<path d="M136.113,193.85c-0.074,0-0.141-0.045-0.164-0.119l-0.928-2.854c-0.029-0.09,0.021-0.187,0.11-0.216  c0.089-0.028,0.188,0.02,0.216,0.109l0.928,2.855c0.029,0.091-0.021,0.188-0.109,0.215  C136.146,193.848,136.129,193.85,136.113,193.85L136.113,193.85z" fill="#808080"/>
+<line fill="none" x1="90.186" x2="90.813" y1="22.283" y2="25.219"/>
+<line fill="none" x1="90.186" x2="90.813" y1="22.283" y2="25.219"/>
+<path d="M90.813,25.391c-0.08,0-0.152-0.058-0.168-0.136l-0.625-2.938c-0.02-0.09,0.039-0.183,0.131-0.201  c0.098-0.02,0.186,0.039,0.203,0.131l0.625,2.936c0.02,0.093-0.039,0.185-0.131,0.205C90.834,25.39,90.822,25.391,90.813,25.391  L90.813,25.391z" fill="#808080"/>
+<line fill="none" x1="126.506" x2="127.131" y1="193.146" y2="196.086"/>
+<line fill="none" x1="126.506" x2="127.131" y1="193.146" y2="196.086"/>
+<path d="M127.131,196.256c-0.08,0-0.152-0.056-0.168-0.137l-0.623-2.936c-0.021-0.094,0.037-0.185,0.131-0.203  c0.096-0.019,0.184,0.039,0.203,0.131l0.623,2.938c0.021,0.092-0.039,0.184-0.133,0.203  C127.154,196.254,127.141,196.256,127.131,196.256L127.131,196.256z" fill="#808080"/>
+<line fill="none" x1="99.369" x2="99.686" y1="20.828" y2="23.813"/>
+<line fill="none" x1="99.369" x2="99.686" y1="20.828" y2="23.813"/>
+<path d="M99.686,23.983c-0.088,0-0.162-0.063-0.17-0.152L99.2,20.847c-0.006-0.094,0.061-0.18,0.154-0.189  c0.094-0.006,0.18,0.06,0.188,0.152l0.314,2.985c0.01,0.095-0.059,0.179-0.15,0.188C99.705,23.983,99.691,23.983,99.686,23.983  L99.686,23.983z" fill="#808080"/>
+<line fill="none" x1="117.631" x2="117.945" y1="194.555" y2="197.538"/>
+<line fill="none" x1="117.631" x2="117.945" y1="194.555" y2="197.538"/>
+<path d="M117.945,197.71c-0.088,0-0.162-0.063-0.17-0.151l-0.314-2.985c-0.01-0.095,0.059-0.179,0.152-0.188  c0.096-0.011,0.178,0.059,0.188,0.151l0.314,2.987c0.008,0.093-0.062,0.177-0.154,0.188c-0.004,0-0.014,0-0.014,0L117.945,197.71  L117.945,197.71z" fill="#808080"/>
+<g>
+<g>
+<path d="M152.297,32.437l-0.913,1.564c0.079,0.038,0.218,0.115,0.414,0.23c0.627,0.366,1.012,0.813,1.153,1.34    c0.143,0.528,0.029,1.108-0.34,1.741c-0.42,0.719-0.915,1.146-1.486,1.283c-0.57,0.136-1.234-0.017-1.99-0.458    c-0.431-0.251-0.855-0.583-1.273-0.997l0.434-0.742l0.008,0.005c0.439,0.44,0.8,0.744,1.081,0.908    c0.422,0.246,0.797,0.319,1.126,0.218c0.328-0.1,0.629-0.387,0.904-0.859c0.243-0.416,0.314-0.793,0.215-1.133    c-0.1-0.339-0.372-0.638-0.816-0.896c-0.307-0.18-0.623-0.345-0.947-0.497l1.783-3.058l3.248,1.895l-0.424,0.726L152.297,32.437z" fill="#808080"/>
 </g>
+</g>
+<g>
+<g>
+<path d="M180.662,67.353l-0.679,0.387l-2.133-3.747l0.679-0.386l0.759,1.332l4.735-2.695l-1.063-1.158l0.679-0.387    l1.655,1.535l0.351,0.615l-5.699,3.244L180.662,67.353z" fill="#808080"/>
+<path d="M188.047,67.032c0.372,0.653,0.422,1.279,0.146,1.877c-0.273,0.598-0.998,1.23-2.172,1.898    c-1.287,0.733-2.257,1.062-2.909,0.984c-0.651-0.076-1.165-0.443-1.54-1.104c-0.329-0.576-0.424-1.1-0.285-1.567    c0.137-0.468,0.414-0.88,0.83-1.234s0.955-0.72,1.617-1.097c1.152-0.656,2.063-0.947,2.732-0.876    C187.138,65.986,187.664,66.358,188.047,67.032z M182.271,70.279c0.164,0.288,0.447,0.407,0.847,0.358    c0.4-0.051,1.146-0.385,2.235-1.005c1.046-0.595,1.676-1.046,1.891-1.352c0.213-0.305,0.241-0.599,0.082-0.878    c-0.146-0.255-0.354-0.385-0.626-0.389s-0.58,0.072-0.926,0.229c-0.346,0.158-0.802,0.398-1.37,0.722    c-1.121,0.638-1.798,1.111-2.03,1.419C182.142,69.692,182.107,69.991,182.271,70.279z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M180.184,150.64l-0.734-0.429l2.195-3.762l0.46,0.27c0.438,0.256,0.784,0.559,1.035,0.908    c0.251,0.351,0.434,0.707,0.544,1.069c0.111,0.362,0.211,0.798,0.299,1.305c0.105,0.608,0.221,1.021,0.346,1.237    c0.126,0.217,0.282,0.379,0.468,0.487c0.326,0.19,0.622,0.247,0.887,0.17c0.267-0.076,0.499-0.288,0.701-0.634    c0.214-0.365,0.378-0.863,0.493-1.494l0.005-0.008l0.751,0.438c-0.147,0.646-0.371,1.227-0.674,1.744    c-0.372,0.639-0.795,1.042-1.268,1.211c-0.474,0.168-0.983,0.094-1.529-0.225c-0.306-0.179-0.564-0.43-0.773-0.752    c-0.21-0.322-0.385-0.895-0.525-1.72c-0.082-0.462-0.158-0.831-0.23-1.106c-0.073-0.276-0.179-0.535-0.318-0.776    c-0.141-0.242-0.332-0.441-0.575-0.599L180.184,150.64z" fill="#808080"/>
+<path d="M184.033,156.956c-0.379,0.649-0.896,1.006-1.551,1.069c-0.654,0.063-1.565-0.247-2.731-0.928    c-1.28-0.746-2.05-1.422-2.312-2.023c-0.26-0.604-0.199-1.231,0.184-1.887c0.334-0.573,0.739-0.918,1.213-1.033    c0.475-0.115,0.969-0.082,1.484,0.101c0.517,0.182,1.103,0.465,1.761,0.849c1.145,0.668,1.854,1.31,2.127,1.926    C184.482,155.645,184.424,156.287,184.033,156.956z M178.328,153.588c-0.168,0.286-0.129,0.59,0.114,0.912    c0.243,0.321,0.907,0.797,1.99,1.43c1.04,0.606,1.745,0.926,2.117,0.959c0.371,0.031,0.638-0.092,0.801-0.37    c0.147-0.253,0.155-0.499,0.022-0.735c-0.133-0.238-0.354-0.467-0.662-0.688c-0.31-0.22-0.746-0.494-1.312-0.824    c-1.113-0.649-1.862-0.998-2.245-1.044C178.771,153.181,178.495,153.301,178.328,153.588z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M150.271,181.026l-0.42-0.738l3.785-2.154l0.264,0.462c0.251,0.441,0.397,0.877,0.439,1.307    c0.042,0.429,0.021,0.829-0.066,1.197c-0.085,0.37-0.217,0.795-0.395,1.279c-0.215,0.578-0.32,0.993-0.32,1.244    c0,0.25,0.053,0.469,0.159,0.656c0.187,0.328,0.415,0.525,0.683,0.591c0.269,0.067,0.576,0.001,0.924-0.196    c0.369-0.21,0.76-0.559,1.176-1.046l0.008-0.005l0.43,0.756c-0.449,0.484-0.936,0.875-1.456,1.172    c-0.642,0.365-1.21,0.502-1.704,0.411c-0.494-0.092-0.897-0.412-1.21-0.961c-0.175-0.308-0.272-0.654-0.293-1.038    s0.116-0.968,0.407-1.752c0.162-0.439,0.281-0.798,0.355-1.072c0.076-0.276,0.114-0.553,0.115-0.832    c-0.001-0.279-0.066-0.548-0.198-0.807L150.271,181.026z" fill="#808080"/>
+<path d="M150.576,187.286l-0.896-1.574c-0.072,0.049-0.209,0.13-0.406,0.242c-0.631,0.359-1.211,0.468-1.738,0.327    c-0.529-0.142-0.975-0.53-1.336-1.167c-0.412-0.725-0.533-1.367-0.365-1.931c0.169-0.562,0.634-1.06,1.395-1.492    c0.434-0.247,0.934-0.447,1.5-0.602l0.426,0.747l-0.008,0.005c-0.603,0.159-1.046,0.319-1.328,0.48    c-0.425,0.241-0.676,0.529-0.753,0.863c-0.077,0.335,0.019,0.739,0.289,1.215c0.238,0.418,0.529,0.67,0.873,0.754    c0.343,0.083,0.738-0.003,1.186-0.257c0.308-0.176,0.61-0.366,0.905-0.571l1.75,3.076l-3.268,1.859l-0.414-0.729L150.576,187.286z    " fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M68.851,185.211c-0.826-0.482-1.392-0.699-1.695-0.65c-0.304,0.049-0.558,0.248-0.761,0.597    c-0.179,0.306-0.231,0.585-0.157,0.835s0.274,0.472,0.601,0.662c0.287,0.167,0.732,0.331,1.335,0.491l0.009,0.005l-0.433,0.742    c-0.606-0.176-1.122-0.39-1.549-0.639c-0.644-0.376-1.052-0.787-1.225-1.234c-0.172-0.448-0.107-0.931,0.194-1.447    c0.208-0.356,0.484-0.607,0.829-0.752c0.343-0.144,0.728-0.163,1.153-0.059c-0.353-0.3-0.558-0.641-0.616-1.023    s0.028-0.77,0.256-1.159c0.375-0.644,0.845-1.018,1.409-1.121c0.563-0.103,1.22,0.065,1.97,0.503    c0.45,0.264,0.873,0.598,1.268,1.006l-0.428,0.734l-0.008-0.006c-0.471-0.459-0.865-0.781-1.183-0.967    c-0.383-0.224-0.726-0.295-1.031-0.215c-0.305,0.081-0.57,0.313-0.794,0.699c-0.241,0.412-0.299,0.776-0.174,1.091    s0.606,0.716,1.441,1.203L68.851,185.211z" fill="#808080"/>
+<path d="M62.112,183.806l0.913-1.564c-0.08-0.038-0.217-0.115-0.414-0.23c-0.627-0.366-1.012-0.813-1.154-1.341    c-0.143-0.527-0.029-1.107,0.34-1.74c0.42-0.72,0.915-1.147,1.487-1.284c0.571-0.135,1.235,0.018,1.991,0.459    c0.43,0.251,0.854,0.583,1.273,0.996l-0.433,0.743l-0.008-0.005c-0.44-0.441-0.8-0.744-1.082-0.908    c-0.421-0.246-0.796-0.319-1.125-0.218c-0.328,0.1-0.629,0.387-0.905,0.858c-0.243,0.416-0.314,0.794-0.215,1.134    c0.1,0.339,0.373,0.638,0.816,0.896c0.307,0.179,0.623,0.345,0.948,0.497l-1.784,3.058l-3.248-1.895l0.423-0.727L62.112,183.806z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M35.021,150.684l0.73-0.415l0.372,0.653l1.392-0.792l0.652,1.146l-1.393,0.793l1.449,2.546l-0.696,0.396    l-4.387-0.138l-1.374-0.044l-0.613-1.078l4.239-2.412L35.021,150.684z M36.99,154.143l-0.944-1.659l-2.788,1.587L36.99,154.143z" fill="#808080"/>
+<path d="M29.165,150.332c-0.372-0.653-0.421-1.279-0.147-1.877s0.998-1.23,2.172-1.898    c1.288-0.733,2.257-1.062,2.91-0.984c0.652,0.076,1.166,0.443,1.541,1.104c0.328,0.576,0.424,1.1,0.285,1.567    c-0.138,0.468-0.415,0.88-0.831,1.234s-0.955,0.72-1.617,1.097c-1.152,0.656-2.063,0.947-2.732,0.876    C30.074,151.378,29.548,151.006,29.165,150.332z M34.939,147.085c-0.164-0.288-0.446-0.407-0.846-0.358    c-0.401,0.051-1.146,0.385-2.235,1.005c-1.046,0.595-1.677,1.046-1.892,1.352c-0.213,0.305-0.241,0.599-0.081,0.878    c0.145,0.255,0.354,0.385,0.625,0.389s0.581-0.072,0.926-0.229c0.345-0.158,0.802-0.398,1.371-0.722    c1.12-0.638,1.797-1.111,2.029-1.419C35.069,147.672,35.104,147.373,34.939,147.085z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M23.939,107.463l0.84,0.002l-0.002,0.752l1.602,0.004l-0.003,1.318l-1.602-0.004l-0.007,2.93l-0.801-0.002    l-3.739-2.299l-1.171-0.72l0.003-1.24l4.878,0.012L23.939,107.463z M23.931,111.443l0.004-1.91l-3.208-0.008L23.931,111.443z" fill="#808080"/>
+<path d="M19.947,104.934l1.812,0.004c-0.007-0.088-0.01-0.246-0.009-0.474c0.001-0.726,0.195-1.283,0.58-1.671    s0.943-0.582,1.676-0.58c0.833,0.002,1.452,0.216,1.857,0.642c0.403,0.426,0.604,1.077,0.603,1.952    c-0.001,0.498-0.076,1.032-0.224,1.601l-0.859-0.002v-0.01c0.16-0.602,0.242-1.065,0.242-1.391    c0.002-0.488-0.124-0.849-0.376-1.083c-0.251-0.233-0.65-0.351-1.197-0.352c-0.481-0.001-0.844,0.126-1.088,0.383    c-0.243,0.257-0.365,0.642-0.366,1.156c-0.001,0.355,0.015,0.711,0.046,1.069l-3.54-0.008l0.01-3.76l0.84,0.002L19.947,104.934z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M192.402,108.758l-0.781-0.002l0.011-4.312l0.781,0.002l-0.004,1.533l5.449,0.013l-0.348-1.534    l0.781,0.002l0.673,2.155l-0.001,0.708l-6.558-0.016L192.402,108.758z" fill="#808080"/>
+<path d="M198.055,111.463l-1.812-0.005c0.007,0.088,0.01,0.245,0.009,0.474c-0.001,0.727-0.195,1.283-0.58,1.671    s-0.943,0.581-1.676,0.579c-0.833-0.002-1.452-0.215-1.857-0.641c-0.403-0.426-0.604-1.077-0.603-1.953    c0.001-0.498,0.076-1.031,0.224-1.601l0.859,0.002v0.01c-0.16,0.603-0.242,1.065-0.242,1.392    c-0.002,0.488,0.124,0.849,0.376,1.082c0.251,0.233,0.65,0.351,1.197,0.352c0.481,0.002,0.844-0.126,1.088-0.383    c0.243-0.257,0.365-0.643,0.366-1.156c0.001-0.355-0.015-0.711-0.046-1.069l3.54,0.009l-0.01,3.76l-0.84-0.002L198.055,111.463z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M30.184,66.438l1.564,0.913c0.038-0.08,0.115-0.217,0.23-0.414c0.366-0.627,0.813-1.012,1.34-1.154    c0.528-0.143,1.108-0.029,1.741,0.34c0.719,0.42,1.146,0.916,1.283,1.487c0.136,0.571-0.017,1.235-0.458,1.991    c-0.251,0.43-0.583,0.854-0.997,1.273l-0.742-0.433l0.005-0.008c0.44-0.44,0.744-0.8,0.908-1.081    c0.246-0.422,0.319-0.797,0.218-1.126c-0.1-0.328-0.387-0.629-0.859-0.905c-0.416-0.243-0.793-0.314-1.133-0.215    c-0.339,0.1-0.638,0.373-0.896,0.816c-0.18,0.307-0.345,0.623-0.497,0.948l-3.058-1.784l1.895-3.248l0.726,0.423L30.184,66.438z" fill="#808080"/>
+<path d="M32.548,60.564c0.379-0.649,0.896-1.006,1.551-1.069c0.654-0.063,1.565,0.247,2.731,0.927    c1.28,0.747,2.05,1.421,2.312,2.024c0.26,0.603,0.199,1.231-0.184,1.886c-0.334,0.573-0.739,0.918-1.213,1.033    c-0.475,0.115-0.969,0.082-1.484-0.101c-0.517-0.182-1.103-0.465-1.761-0.849c-1.145-0.668-1.854-1.309-2.127-1.925    C32.099,61.875,32.157,61.233,32.548,60.564z M38.253,63.933c0.168-0.287,0.129-0.591-0.114-0.912    c-0.243-0.322-0.907-0.798-1.99-1.43c-1.04-0.607-1.745-0.927-2.117-0.959c-0.371-0.031-0.638,0.091-0.801,0.37    c-0.147,0.253-0.155,0.499-0.022,0.736c0.133,0.238,0.354,0.466,0.662,0.687c0.31,0.22,0.746,0.495,1.312,0.824    c1.113,0.65,1.862,0.998,2.245,1.044C37.811,64.34,38.086,64.22,38.253,63.933z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M62.019,33.284l0.896,1.574c0.073-0.049,0.208-0.129,0.407-0.242c0.631-0.359,1.21-0.468,1.738-0.327    c0.527,0.141,0.973,0.53,1.335,1.167c0.412,0.724,0.534,1.367,0.366,1.93c-0.17,0.562-0.635,1.06-1.396,1.493    c-0.433,0.247-0.933,0.447-1.501,0.601l-0.425-0.747l0.009-0.005c0.602-0.159,1.045-0.319,1.328-0.48    c0.424-0.242,0.675-0.529,0.752-0.864c0.078-0.335-0.019-0.739-0.289-1.214c-0.238-0.418-0.529-0.67-0.873-0.754    c-0.344-0.083-0.738,0.003-1.186,0.257c-0.309,0.175-0.609,0.366-0.905,0.571l-1.751-3.077l3.268-1.859l0.416,0.729L62.019,33.284    z" fill="#808080"/>
+<path d="M66.868,30.524l0.896,1.574c0.072-0.05,0.209-0.13,0.406-0.243c0.631-0.359,1.211-0.467,1.738-0.326    c0.529,0.141,0.975,0.53,1.336,1.167c0.412,0.724,0.533,1.367,0.365,1.93c-0.169,0.561-0.634,1.06-1.395,1.493    c-0.434,0.246-0.934,0.447-1.5,0.601l-0.426-0.747l0.008-0.004c0.603-0.159,1.046-0.319,1.328-0.48    c0.425-0.242,0.676-0.529,0.753-0.864c0.077-0.334-0.019-0.739-0.289-1.214c-0.238-0.419-0.529-0.67-0.873-0.754    c-0.343-0.083-0.738,0.002-1.186,0.257c-0.308,0.175-0.61,0.366-0.905,0.571l-1.75-3.077l3.268-1.859l0.414,0.73L66.868,30.524z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M112.979,196.258c-0.957-0.003-1.555,0.094-1.793,0.288c-0.238,0.195-0.357,0.494-0.358,0.897    c-0.001,0.354,0.094,0.622,0.283,0.802c0.19,0.179,0.475,0.27,0.852,0.271c0.332,0.001,0.8-0.081,1.402-0.246l0.01,0.001    l-0.002,0.859c-0.612,0.151-1.166,0.227-1.661,0.225c-0.745-0.001-1.305-0.152-1.679-0.453c-0.373-0.301-0.56-0.75-0.558-1.349    c0.001-0.413,0.115-0.769,0.339-1.066c0.226-0.297,0.549-0.507,0.969-0.63c-0.455-0.082-0.805-0.274-1.047-0.575    c-0.241-0.303-0.361-0.68-0.36-1.132c0.002-0.745,0.22-1.305,0.655-1.677c0.436-0.371,1.088-0.556,1.957-0.554    c0.521,0.001,1.055,0.079,1.602,0.233l-0.002,0.85h-0.01c-0.639-0.161-1.141-0.242-1.508-0.243c-0.443-0.001-0.776,0.109-1,0.332    s-0.336,0.557-0.337,1.003c-0.001,0.479,0.132,0.822,0.397,1.031c0.268,0.209,0.884,0.314,1.851,0.317L112.979,196.258z" fill="#808080"/>
+<path d="M105.76,199.341c-0.752-0.002-1.319-0.27-1.702-0.805c-0.383-0.535-0.572-1.479-0.569-2.829    c0.004-1.481,0.201-2.485,0.591-3.014c0.391-0.527,0.965-0.791,1.723-0.789c0.664,0.001,1.165,0.179,1.502,0.531    c0.338,0.352,0.558,0.797,0.659,1.334s0.151,1.188,0.149,1.949c-0.003,1.325-0.202,2.26-0.598,2.806    C107.12,199.07,106.535,199.343,105.76,199.341z M105.81,192.715c-0.332-0.001-0.576,0.185-0.731,0.557    c-0.156,0.373-0.235,1.187-0.238,2.439c-0.003,1.204,0.075,1.975,0.234,2.313c0.159,0.336,0.399,0.506,0.721,0.507    c0.293,0.001,0.509-0.116,0.648-0.351c0.139-0.233,0.226-0.539,0.261-0.917s0.053-0.894,0.055-1.548    c0.003-1.289-0.071-2.111-0.224-2.466C106.384,192.894,106.142,192.716,105.81,192.715z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M106.757,18.645c0.752,0.002,1.319,0.271,1.702,0.806c0.383,0.535,0.572,1.478,0.569,2.828    c-0.004,1.481-0.201,2.486-0.591,3.015c-0.391,0.527-0.965,0.79-1.723,0.788c-0.664-0.001-1.165-0.178-1.502-0.53    c-0.338-0.353-0.558-0.798-0.659-1.335s-0.151-1.187-0.149-1.948c0.003-1.325,0.202-2.261,0.598-2.807    C105.397,18.915,105.982,18.644,106.757,18.645z M106.707,25.271c0.332,0.001,0.576-0.185,0.731-0.557s0.235-1.186,0.238-2.438    c0.003-1.204-0.075-1.975-0.234-2.313c-0.159-0.336-0.399-0.506-0.721-0.507c-0.293,0-0.509,0.116-0.648,0.351    c-0.139,0.233-0.226,0.539-0.261,0.917s-0.053,0.894-0.055,1.548c-0.003,1.289,0.071,2.111,0.224,2.467    C106.133,25.092,106.375,25.271,106.707,25.271z" fill="#808080"/>
+<path d="M112.338,18.658c0.752,0.002,1.319,0.27,1.703,0.805c0.383,0.535,0.572,1.479,0.568,2.829    c-0.004,1.481-0.2,2.485-0.59,3.014c-0.391,0.527-0.965,0.791-1.724,0.789c-0.664-0.001-1.165-0.179-1.503-0.531    c-0.338-0.352-0.557-0.797-0.658-1.334s-0.15-1.188-0.148-1.949c0.002-1.325,0.201-2.26,0.598-2.806    C110.979,18.929,111.563,18.656,112.338,18.658z M112.288,25.284c0.332,0.001,0.575-0.185,0.731-0.557    c0.156-0.373,0.234-1.187,0.238-2.439c0.002-1.204-0.076-1.975-0.234-2.313c-0.158-0.336-0.398-0.506-0.721-0.507    c-0.293-0.001-0.51,0.116-0.648,0.351c-0.139,0.233-0.227,0.539-0.262,0.917s-0.053,0.894-0.055,1.548    c-0.003,1.289,0.072,2.111,0.225,2.466C111.714,25.105,111.956,25.283,112.288,25.284z" fill="#808080"/>
+</g>
+</g>
+<g>
+<g>
+<path d="M168.133,115.24c0.813,0.486,2.664,1.299,4.68,1.299c3.642,0,4.812-2.307,4.777-4.096    c-0.033-2.958-2.697-4.225-5.461-4.225h-1.592v-2.145h1.592c2.08,0,4.713-1.072,4.713-3.575c0-1.69-1.072-3.185-3.705-3.185    c-1.689,0-3.314,0.748-4.225,1.397l-0.779-2.08c1.137-0.813,3.281-1.625,5.557-1.625c4.16,0,6.045,2.47,6.045,5.038    c0,2.21-1.332,4.063-3.899,5.005v0.065c2.603,0.488,4.683,2.438,4.713,5.396c0,3.381-2.664,6.338-7.703,6.338    c-2.37,0-4.45-0.748-5.491-1.431L168.133,115.24z" fill="#808080"/>
+</g>
+</g>
+<polygon fill="#666666" points="69.436,42.469 68.24,40.408 69.971,39.404 71.166,41.465 "/>
+<polygon fill="#666666" points="148.031,178.596 146.835,176.535 148.564,175.531 149.762,177.59 "/>
+<polygon fill="#666666" points="108.002,31.6 107.996,29.219 109.996,29.213 110.002,31.595 "/>
+<polygon fill="#666666" points="108.004,188.786 107.998,186.404 109.998,186.4 110.004,188.781 "/>
+<polygon fill="#666666" points="148.568,42.467 146.836,41.469 148.023,39.404 149.758,40.403 "/>
+<polygon fill="#666666" points="69.977,178.596 68.244,177.598 69.433,175.533 71.166,176.531 "/>
+<polygon fill="#666666" points="176.533,71.164 175.532,69.434 177.594,68.241 178.596,69.973 "/>
+<polygon fill="#666666" points="40.404,149.759 39.406,148.025 41.469,146.836 42.469,148.568 "/>
+<polygon fill="#666666" points="188.784,110 186.402,110 186.402,108 188.784,108 "/>
+<polygon fill="#666666" points="31.598,110.001 29.216,110.001 29.216,108.001 31.598,108.001 "/>
+<polygon fill="#666666" points="177.596,149.758 175.533,148.566 176.531,146.835 178.596,148.025 "/>
+<polygon fill="#666666" points="41.467,71.166 39.404,69.974 40.405,68.242 42.468,69.435 "/>
+<polygon fill="#666666" points="108.002,31.6 107.996,29.219 109.996,29.213 110.002,31.595 "/>
+<polygon fill="#666666" points="108.004,188.786 107.998,186.404 109.998,186.4 110.004,188.781 "/>
+<polygon fill="#666666" points="148.568,42.467 146.836,41.469 148.023,39.404 149.758,40.403 "/>
+<polygon fill="#666666" points="69.977,178.596 68.244,177.598 69.433,175.533 71.166,176.531 "/>
+<polygon fill="#666666" points="176.533,71.164 175.532,69.434 177.594,68.241 178.596,69.973 "/>
+<polygon fill="#666666" points="40.404,149.759 39.406,148.025 41.469,146.836 42.469,148.568 "/>
+<polygon fill="#666666" points="188.784,110 186.402,110 186.402,108 188.784,108 "/>
+<polygon fill="#666666" points="31.598,110.001 29.216,110.001 29.216,108.001 31.598,108.001 "/>
+<polygon fill="#666666" points="177.596,149.758 175.533,148.566 176.531,146.835 178.596,148.025 "/>
+<polygon fill="#666666" points="41.467,71.166 39.404,69.974 40.405,68.242 42.468,69.435 "/>
+<polygon fill="#666666" points="148.027,178.596 146.835,176.533 148.566,175.531 149.759,177.594 "/>
+<polygon fill="#666666" points="69.433,42.469 68.241,40.404 69.974,39.404 71.165,41.469 "/>
+<polygon fill="#666666" points="148.568,42.467 146.836,41.469 148.023,39.404 149.758,40.403 "/>
+<polygon fill="#666666" points="69.977,178.596 68.244,177.598 69.433,175.533 71.166,176.531 "/>
+<polygon fill="#666666" points="176.533,71.164 175.532,69.434 177.594,68.241 178.596,69.973 "/>
+<polygon fill="#666666" points="40.404,149.759 39.406,148.025 41.469,146.836 42.469,148.568 "/>
+<polygon fill="#666666" points="188.784,110 186.402,110 186.402,108 188.784,108 "/>
+<polygon fill="#666666" points="31.598,110.001 29.216,110.001 29.216,108.001 31.598,108.001 "/>
+<polygon fill="#666666" points="177.596,149.758 175.533,148.566 176.531,146.835 178.596,148.025 "/>
+<polygon fill="#666666" points="41.467,71.166 39.404,69.974 40.405,68.242 42.468,69.435 "/>
+<polygon fill="#666666" points="148.027,178.596 146.835,176.533 148.566,175.531 149.759,177.594 "/>
+<polygon fill="#666666" points="69.433,42.469 68.241,40.404 69.974,39.404 71.165,41.469 "/>
+<polygon fill="#666666" points="110,188.784 108,188.784 108,186.402 110,186.402 "/>
+<polygon fill="#666666" points="110,31.599 108,31.599 108,29.216 110,29.216 "/>
 </svg>
--- a/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_hour.svg	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_hour.svg	Mon May 03 12:24:59 2010 +0300
@@ -1,8 +1,17 @@
 <?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 baseProfile="tiny" height="218px" version="1.1" viewBox="0 0 218 218" width="218px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="218" width="218"/>
+<polygon fill-opacity="0.4" points="104,124.774 104,61.933 109.249,57.226 114,61.97 114,124.774 " stroke-opacity="0.4"/>
+<polygon fill="#1A1A1A" points="113,123.774 105,123.774 105,62.317 109.198,58.774 113,62.317 "/>
+<path d="M108.999,118c-4.962,0-8.999-4.038-8.999-9.001s4.037-8.999,8.999-8.999c4.963,0,9.001,4.036,9.001,8.999  S113.962,118,108.999,118L108.999,118z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<circle cx="109" cy="108.999" fill="url(#SVGID_1_)" r="8.1"/>
+<path d="M108.999,116.199c-3.969,0-7.199-3.229-7.199-7.2c0-3.97,3.23-7.198,7.199-7.198  c3.97,0,7.201,3.229,7.201,7.198C116.2,112.97,112.969,116.199,108.999,116.199L108.999,116.199z" fill="#E6E6E6"/>
+<defs>
+<linearGradient gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="108.9995" x2="108.9995" y1="100.9004" y2="117.1001">
+<stop offset="0" style="stop-color:#999999"/>
+<stop offset="0.3091" style="stop-color:#4D4D4D"/>
+<stop offset="1" style="stop-color:#000000"/>
+</linearGradient>
+</defs>
 </svg>
--- a/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_min.svg	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_min.svg	Mon May 03 12:24:59 2010 +0300
@@ -1,8 +1,7 @@
 <?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 baseProfile="tiny" height="218px" version="1.1" viewBox="0 0 218 218" width="218px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="218" width="218"/>
+<polygon fill-opacity="0.4" points="105,128.274 105,44.433 109.249,39.726 113,44.47 113,128.274 " stroke-opacity="0.4"/>
+<polygon points="112,127.274 106,127.274 106,44.817 109.198,41.274 112,44.817 "/>
 </svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsapplication/themes/icons/hbdefault/scalable/qtg_graf_clock_day_sec.svg	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,7 @@
+<?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="218px" version="1.1" viewBox="0 0 218 218" width="218px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<rect fill="none" height="218" width="218"/>
+<path d="M108,145c-0.553,0-0.999-0.443-0.999-0.991L107,31.991c0-0.548,0.447-0.992,1-0.991h2  c0.552,0,0.999,0.444,0.999,0.991L111,144.009c0,0.548-0.447,0.991-1,0.991H108z" fill-opacity="0.4" stroke-opacity="0.4"/>
+<rect fill="#FFFFFF" height="112.018" width="2" x="108" y="31.991"/>
+</svg>
--- a/homescreenapp/hsdomainmodel/hsdomainmodel.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/hsdomainmodel.pri	Mon May 03 12:24:59 2010 +0300
@@ -23,14 +23,19 @@
            ./inc/hsshortcutservice.h \
            ./inc/hsshortcutservice_p.h \
            ./inc/hswallpaper.h \
-           ./inc/hswidgethost.h
-                               
+           ./inc/hswidgethost.h \
+           ./inc/hswidgetcomponentregistry.h \
+					 ./inc/hswidgetcomponent.h                               
+					 
 SOURCES += ./src/hscontentservice.cpp   \           
            ./src/hsdatabase.cpp  \                        
            ./src/hspage.cpp  \
            ./src/hsscene.cpp \                        
            ./src/hsshortcutservice.cpp \   
            ./src/hswallpaper.cpp \ 
-           ./src/hswidgethost.cpp
+           ./src/hswidgethost.cpp \
+           ./src/hswidgetcomponentregistry.cpp \
+					 ./src/hswidgetcomponent.cpp                               
+
                               
 
--- a/homescreenapp/hsdomainmodel/inc/hscontentservice.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hscontentservice.h	Mon May 03 12:24:59 2010 +0300
@@ -37,9 +37,14 @@
     bool createWidget(const QVariantHash &params);
     HsWidgetHost *createWidgetForPreview(const QVariantHash &params);
 
+    bool addWidget(const QString &uri, const QVariantHash &preferences);
+
+    static HsContentService *instance();
+
 private:
+    static QScopedPointer<HsContentService> mInstance;
+
     Q_DISABLE_COPY(HsContentService)
-
 };
 
 Q_DECLARE_METATYPE(HsContentService*)
--- a/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hsdomainmodeldatastructures.h	Mon May 03 12:24:59 2010 +0300
@@ -25,7 +25,9 @@
 {
 public:
     HsSceneData() 
-      : id(-1), defaultPageId(-1), maximumPageCount(-1)
+      : id(-1), defaultPageId(-1), maximumPageCount(-1),
+        maximumWidgetHeight(-1), maximumWidgetWidth(-1),
+        minimumWidgetHeight(-1), minimumWidgetWidth(-1)
     {}
     
     int     id;
@@ -33,6 +35,10 @@
     QString landscapeWallpaper;
     int     defaultPageId;
     int     maximumPageCount;
+    int     maximumWidgetHeight;
+    int     maximumWidgetWidth;
+    int     minimumWidgetHeight;
+    int     minimumWidgetWidth;
 };
 
 class HSDOMAINMODEL_EXPORT HsPageData
@@ -63,40 +69,19 @@
 {
 public:
     HsWidgetPresentationData()
-        : x(0), y(0), width(0), height(0), zValue(0), 
+        : x(0), y(0), zValue(0), 
           widgetId(-1)
     {}
 
-    QRectF geometry() const
-    {
-        return QRectF(x, y, width, height);
-    }
-
-    void setGeometry(const QRectF &geometry)
-    {
-        x      = geometry.x();
-        y      = geometry.y();
-        width  = geometry.width();
-        height = geometry.height();
-    }
-
     void setPos(const QPointF &pos)
     {
         x = pos.x();
         y = pos.y();
     }
 
-    void setSize(const QSizeF &size)
-    {
-        width  = size.width();
-        height = size.height();
-    }
-
     QString key;
     qreal   x;
     qreal   y;
-    qreal   width;
-    qreal   height;
     qreal   zValue;
     int     widgetId;
 };
--- a/homescreenapp/hsdomainmodel/inc/hspage.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hspage.h	Mon May 03 12:24:59 2010 +0300
@@ -47,16 +47,13 @@
     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();
-
+    
     static HsPage *createInstance(const HsPageData &pageData);
 
 public slots:
@@ -64,6 +61,8 @@
     void hideWidgets();
     void setOnline(bool online = true);
 
+    void updateZValues();
+
 private:
     void connectWidget(HsWidgetHost *widget);
     void disconnectWidget(HsWidgetHost *widget);
@@ -76,7 +75,6 @@
     bool mRemovable;
     QList<HsWidgetHost*> mWidgets;
     QList<HsWidgetHost*> mNewWidgets;
-    QMap<QString, QPointF> mStartPoint; 
     
     HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
 };
--- a/homescreenapp/hsdomainmodel/inc/hsscene.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hsscene.h	Mon May 03 12:24:59 2010 +0300
@@ -20,6 +20,8 @@
 
 #include <QObject>
 #include <QScopedPointer>
+#include <QSizeF>
+
 #include "hsdomainmodel_global.h"
 #include "hstest_global.h"
 
@@ -30,7 +32,7 @@
 class HsWallpaper;
 class HsPage;
 class HsWidgetHost;
-
+class HsSceneData;
 
 class HSDOMAINMODEL_EXPORT HsScene : public QObject
 {
@@ -55,7 +57,10 @@
     HsPage *activePage() const;
     int activePageIndex() const;
     int maximumPageCount() const;
-
+    QSizeF maximumWidgetSizeInPixels() const;
+    QSizeF minimumWidgetSizeInPixels() const;
+    QSizeF maximumWidgetSizeInUnits() const;
+    QSizeF minimumWidgetSizeInUnits() const;
     void setActiveWidget(HsWidgetHost *widget);
     HsWidgetHost *activeWidget() const;
 
@@ -66,20 +71,26 @@
     static HbMainWindow *mainWindow();
     static Qt::Orientation orientation();
 
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);
+
 private:
     HsScene(QObject *parent = 0);
+    void calculateWidgetSizeLimitations(HsSceneData &sceneData);
     Q_DISABLE_COPY(HsScene)
 
 private:
-    int mDatabaseId;
-    bool mIsOnline;
+    int mDatabaseId;    
     HsWallpaper *mWallpaper;
     QList<HsPage *> mPages;
-    int mMaximumPageCount;
     HsPage *mActivePage;
     HsWidgetHost *mActiveWidget;
-
-    
+    bool mIsOnline;
+    int mMaximumPageCount;
+    QSizeF mMaximumWidgetSizeInPixels;
+    QSizeF mMinimumWidgetSizeInPixels;
+    QSizeF mMaximumWidgetSizeInUnits;
+    QSizeF mMinimumWidgetSizeInUnits;
     static QScopedPointer<HsScene> mInstance;
 
     HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
--- a/homescreenapp/hsdomainmodel/inc/hswallpaper.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hswallpaper.h	Mon May 03 12:24:59 2010 +0300
@@ -25,7 +25,6 @@
 
 HOMESCREEN_TEST_CLASS(TestRuntimeServices)
 
-class HsWallpaperPrivate;
 class HSDOMAINMODEL_EXPORT HsWallpaper : public HbWidget
 {
     Q_OBJECT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswidgetcomponent.h	Mon May 03 12:24:59 2010 +0300
@@ -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 HSWIDGETCOMPONENT_H
+#define HSWIDGETCOMPONENT_H
+
+#include <QObject>
+#include <QTranslator>
+
+#include "hsdomainmodel_global.h"
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+#include "cadefs.h"
+
+class CaEntry;
+
+class HSDOMAINMODEL_EXPORT HsWidgetComponent : public QObject
+{
+    Q_OBJECT
+	Q_PROPERTY(QString rootPath READ rootPath)
+	Q_PROPERTY(QString uri READ uri)
+
+public:
+    ~HsWidgetComponent();
+
+	QString rootPath() const;
+	QString uri() const;
+
+signals:
+	void aboutToUninstall();
+	
+private:
+    Q_DISABLE_COPY(HsWidgetComponent)
+	HsWidgetComponent(const QString &uri, QObject *parent = 0);
+	void listenChangeEvents();
+	void resolveRootPath();
+    void installTranslator();
+	void uninstallTranslator();
+
+private slots:
+    void onEntryChanged(const CaEntry &entry, ChangeType changeType);
+
+private:	
+	QTranslator mTranslator;
+	QString mUri;
+	QString mRootPath;
+ 
+	friend class HsWidgetComponentRegistry;
+
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+
+#endif // HSWIDGETCOMPONENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/inc/hswidgetcomponentregistry.h	Mon May 03 12:24:59 2010 +0300
@@ -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 HSWIDGETCOMPONENTREGISTRY_H
+#define HSWIDGETCOMPONENTREGISTRY_H
+
+#include <QObject>
+
+#include "hsdomainmodeldatastructures.h"
+#include "hsdomainmodel_global.h"
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(TestRuntimeServices)
+
+class HsWidgetComponent;
+class QSignalMapper;
+
+class HSDOMAINMODEL_EXPORT HsWidgetComponentRegistry : public QObject
+{
+    Q_OBJECT
+
+public:
+    static HsWidgetComponentRegistry *instance();    
+    ~HsWidgetComponentRegistry();
+	
+	HsWidgetComponent *component(const QString &uri);
+
+private:
+    Q_DISABLE_COPY(HsWidgetComponentRegistry)
+    HsWidgetComponentRegistry(QObject *parent = 0);
+
+private slots:
+    void onAboutToUninstall(const QString &uri);
+
+private:
+	QHash<QString, HsWidgetComponent *> mRegistry;
+	static QScopedPointer<HsWidgetComponentRegistry> mInstance;
+    QScopedPointer<QSignalMapper> mSignalMapper;
+    HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
+};
+
+#endif // HSWIDGETCOMPONENTREGISTRY_H
--- a/homescreenapp/hsdomainmodel/inc/hswidgethost.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/inc/hswidgethost.h	Mon May 03 12:24:59 2010 +0300
@@ -28,10 +28,10 @@
 #include "hsdomainmodel_global.h"
 #include "hstest_global.h"
 
-#include "cadefs.h"
 
+class HbIconItem;
 class HsPage;
-class CaEntry;
+
 
 HOMESCREEN_TEST_CLASS(TestRuntimeServices)
 
@@ -93,18 +93,27 @@
     void startDragAnimation();
     void startDropAnimation();
     
+    void startTapAndHoldAnimation();
+    void stopTapAndHoldAnimation();
+
+protected:    
+    void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mouseMoveEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mousePressEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }
+    void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { Q_UNUSED(event) }    
+    bool eventFilter(QObject *obj, QEvent *event);
+    
 private:
     bool setProperty(const char *name, QMetaProperty &property); 
     bool setMethod(const char *signature, QMetaMethod &method);    
     bool hasSignal(const char *signature);
     bool setPreferencesToWidget();
+    void setNewSize(const QSizeF &newSize);
 
 private slots:
     void onSetPreferences(const QStringList &names);
     void onFinished();
     void onError();
-
-    void onEntryChanged(const CaEntry &entry, ChangeType changeType);
     
 private:
     Q_DISABLE_COPY(HsWidgetHost)
@@ -115,10 +124,12 @@
     QMetaMethod mOnHideMethod;
     QMetaMethod mOnUninitializeMethod;
     QMetaProperty mIsOnlineProperty;
+	QMetaProperty mRootPathProperty;
     State mState;
-    
+    QString mUri;
     int mDatabaseId;
-    QString mUri;
+
+    HbIconItem *mTapAndHoldIcon;
 
     HOMESCREEN_TEST_FRIEND_CLASS(TestRuntimeServices)
 };
--- a/homescreenapp/hsdomainmodel/src/hscontentservice.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hscontentservice.cpp	Mon May 03 12:24:59 2010 +0300
@@ -64,3 +64,45 @@
 
     return widget;
 }
+
+/*!
+
+*/
+bool HsContentService::addWidget(const QString &uri, const QVariantHash &preferences)
+{
+    HsWidgetData widgetData;
+    widgetData.uri = uri;
+
+    QScopedPointer<HsWidgetHost> widget(HsWidgetHost::createInstance(widgetData, preferences));
+    if (!widget.data()) {
+        return false;
+    }
+
+    HsPage *activePage = HsScene::instance()->activePage();
+    if (!widget->load() || !activePage->addNewWidget(widget.data())) {
+        widget->deleteFromDatabase();
+        return false;
+    }
+
+    HsWidgetHost *taken = widget.take();
+    taken->initializeWidget();
+    taken->showWidget();
+    activePage->layoutNewWidgets();
+    return true;
+}
+
+/*!
+
+*/
+HsContentService *HsContentService::instance()
+{
+    if (!mInstance) {
+        mInstance.reset(new HsContentService);
+    }
+    return mInstance.data();
+}
+
+/*!
+    Points to the content service instance.
+*/
+QScopedPointer<HsContentService> HsContentService::mInstance(0);
--- a/homescreenapp/hsdomainmodel/src/hsdatabase.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hsdatabase.cpp	Mon May 03 12:24:59 2010 +0300
@@ -30,7 +30,8 @@
     QVariantList toVariantList(const QList<T> &list)
     {
         QVariantList vlist;
-        foreach (T item, list) {
+        for (int i=0; i<list.count(); ++i) {
+            T item = list.at(i);
             vlist << item;
         }
         return vlist;
@@ -178,15 +179,21 @@
     QSqlQuery query(QSqlDatabase::database(mConnectionName));
 
     QString statement =
-        "SELECT id, portraitWallpaper, landscapeWallpaper, defaultPageId, maximumPageCount "
+        "SELECT id, portraitWallpaper, landscapeWallpaper, defaultPageId, "
+        "maximumPageCount, maximumWidgetHeight, maximumWidgetWidth, "
+        "minimumWidgetHeight, minimumWidgetWidth "
         "FROM Scene";
     
     if (query.prepare(statement) && query.exec() && query.next()) {        
-        data.id                 = query.value(0).toInt();
-        data.portraitWallpaper  = query.value(1).toString();
-        data.landscapeWallpaper = query.value(2).toString();
-        data.defaultPageId      = query.value(3).toInt();
-        data.maximumPageCount   = query.value(4).toInt();
+        data.id                  = query.value(0).toInt();
+        data.portraitWallpaper   = query.value(1).toString();
+        data.landscapeWallpaper  = query.value(2).toString();
+        data.defaultPageId       = query.value(3).toInt();
+        data.maximumPageCount    = query.value(4).toInt();
+        data.maximumWidgetHeight = query.value(5).toInt();
+        data.maximumWidgetWidth  = query.value(6).toInt();
+        data.minimumWidgetHeight = query.value(7).toInt();
+        data.minimumWidgetWidth  = query.value(8).toInt();
         return true;
     }
     
@@ -456,7 +463,9 @@
     if (!checkConnection()) {
         return false;
     }
-
+    if (data.uri.isEmpty()) {
+        return false;
+    }
     QSqlQuery query(QSqlDatabase::database(mConnectionName));
 
     QString statement =
@@ -561,7 +570,7 @@
     QSqlQuery query(QSqlDatabase::database(mConnectionName));
 
     QString statement =
-        "SELECT x, y, width, height, zValue "
+        "SELECT x, y, zValue "
         "FROM WidgetPresentations "
         "WHERE key = ? AND widgetId = ?";
 
@@ -571,9 +580,7 @@
         if (query.exec() && query.next()) {
             data.x      = query.value(0).toReal();
             data.y      = query.value(1).toReal();
-            data.width  = query.value(2).toReal();
-            data.height = query.value(3).toReal();
-            data.zValue = query.value(4).toReal();
+            data.zValue = query.value(2).toReal();
             return true;
         }
     }
@@ -594,15 +601,13 @@
 
     QString statement =
         "REPLACE INTO WidgetPresentations "
-        "(key, x, y, width, height, zValue, widgetId) "
-        "VALUES (?, ?, ?, ?, ?, ?, ?)";
+        "(key, x, y, zValue, widgetId) "
+        "VALUES (?, ?, ?, ?, ?)";
 
     if (query.prepare(statement)) {
         query.addBindValue(data.key);
         query.addBindValue(data.x);
         query.addBindValue(data.y);
-        query.addBindValue(data.width);
-        query.addBindValue(data.height);
         query.addBindValue(data.zValue);
         query.addBindValue(data.widgetId);
         return query.exec();
@@ -707,8 +712,8 @@
 
     QList<QString> deleteKeys = data.keys(QVariant());
     QVariantHash insertOrReplaceData(data);
-    foreach (QString key, deleteKeys) {
-        insertOrReplaceData.remove(key);
+    for (int i=0; i<deleteKeys.count(); ++i) {
+        insertOrReplaceData.remove(deleteKeys.at(i));
     }
 
     if (!deleteKeys.isEmpty()) {
--- a/homescreenapp/hsdomainmodel/src/hspage.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hspage.cpp	Mon May 03 12:24:59 2010 +0300
@@ -50,9 +50,6 @@
     setFlag(QGraphicsItem::ItemHasNoContents);
     setSizePolicy(QSizePolicy(QSizePolicy::Ignored, 
                               QSizePolicy::Ignored));
-                              
-    mStartPoint["portrait"] = QPointF();                              
-    mStartPoint["landscape"] = QPointF();                              
 }
 
 /*!
@@ -171,13 +168,12 @@
     if (!widgetHost->widgetPresentationData(key, presentation)) {
         presentation.key = key;
         presentation.setPos(QPointF());
-        presentation.setSize(widgetHost->preferredSize());
         presentation.zValue = 0;
         widgetHost->setWidgetPresentationData(presentation);
     }
 
     widgetHost->hide();
-    widgetHost->setGeometry(presentation.geometry());
+    widgetHost->setPos(presentation.x, presentation.y);
     widgetHost->setZValue(presentation.zValue);
     
     connectWidget(widgetHost);
@@ -208,7 +204,7 @@
         HsWidgetPositioningOnWidgetAdd::instance();
    
     QList<QRectF> calculatedRects = 
-        algorithm->convert(HsScene::mainWindow()->layoutRect(), rects, mStartPoint[key]);
+        algorithm->convert(HsScene::mainWindow()->layoutRect(), rects, QPointF());
     
     updateZValues();
 
@@ -221,18 +217,10 @@
         widget->setParentItem(this);
         widget->show();
     }
-    mStartPoint[key] = widget->geometry().bottomRight();
     mWidgets << mNewWidgets;
     mNewWidgets.clear();
 }
 
-/*!
-    Resets the new widgets list
-*/
-void HsPage::resetNewWidgets()
-{
-    mNewWidgets.clear();
-}
 
 bool HsPage::deleteFromDatabase()
 {
@@ -273,40 +261,6 @@
     mRemovable = removable; 
 }
 
-bool HsPage::updateZValues()
-{
-    int z = 0;
-
-    if (!mWidgets.isEmpty()) {
-        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);        
-        }
-        
-        foreach (HsWidgetHost *widget, sortedWidgets) {
-            widget->setZValue(z++);
-            widget->setWidgetPresentation();
-        }
-    }
-
-    if (!mNewWidgets.isEmpty()) {
-        foreach (HsWidgetHost *widget, mNewWidgets) {
-            widget->setZValue(z++);
-            widget->setWidgetPresentation();
-        }
-    }
-
-    return true;
-}
-
 HsPage *HsPage::createInstance(const HsPageData &pageData)
 {
     HsDatabase *db = HsDatabase::instance();
@@ -359,6 +313,38 @@
     }
 }
 
+void HsPage::updateZValues()
+{
+    int z = 0;
+
+    if (!mWidgets.isEmpty()) {
+        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);        
+        }
+        
+        foreach (HsWidgetHost *widget, sortedWidgets) {
+            widget->setZValue(z++);
+            widget->setWidgetPresentation();
+        }
+    }
+
+    if (!mNewWidgets.isEmpty()) {
+        foreach (HsWidgetHost *widget, mNewWidgets) {
+            widget->setZValue(z++);
+            widget->setWidgetPresentation();
+        }
+    }
+}
+
 void HsPage::connectWidget(HsWidgetHost *widget)
 {
     connect(widget, SIGNAL(widgetFinished(HsWidgetHost*)),
--- a/homescreenapp/hsdomainmodel/src/hsscene.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hsscene.cpp	Mon May 03 12:24:59 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -15,15 +15,18 @@
 *
 */
 
+#include <QApplication>
+
 #include <HbInstance>
+#include <HbMainWindow>
+#include <HbDeviceProfile>
+
 #include "hsdomainmodeldatastructures.h"
 #include "hsscene.h"
 #include "hspage.h"
 #include "hswidgethost.h"
 #include "hsdatabase.h"
 #include "hswallpaper.h"
-#include "hsdatabase.h"
-
 
 /*!
     Destructor.
@@ -54,6 +57,10 @@
         return false;
     }
 
+    mMaximumPageCount = sceneData.maximumPageCount;
+
+    calculateWidgetSizeLimitations(sceneData);
+
     if (sceneData.portraitWallpaper.isEmpty()) {
         mWallpaper->setImagesById();
     } else {
@@ -81,12 +88,31 @@
             mActivePage->setRemovable(false);
         }
     }
-   
-    mMaximumPageCount = sceneData.maximumPageCount;
+
+    QApplication::instance()->installEventFilter(this);
+
 	return true;
 }
 
 /*!
+    Calculate maximum and minimum widget sizes 
+*/
+void HsScene::calculateWidgetSizeLimitations(HsSceneData &sceneData)
+{
+    // 1un = 6.7px = 2mm
+    mMaximumWidgetSizeInUnits = QSizeF(sceneData.maximumWidgetWidth,
+                                       sceneData.maximumWidgetHeight);
+    mMinimumWidgetSizeInUnits = QSizeF(sceneData.minimumWidgetWidth,
+                                       sceneData.minimumWidgetHeight);
+    HbDeviceProfile profile;
+    qreal unitToPixelFactor = profile.unitValue();
+    mMaximumWidgetSizeInPixels = QSizeF(sceneData.maximumWidgetWidth * unitToPixelFactor,
+                                        sceneData.maximumWidgetHeight * unitToPixelFactor);
+    mMinimumWidgetSizeInPixels = QSizeF(sceneData.minimumWidgetWidth * unitToPixelFactor,
+                                        sceneData.minimumWidgetHeight * unitToPixelFactor);
+}
+
+/*!
     Return wallpaper. 
 */
 HsWallpaper *HsScene::wallpaper() const
@@ -245,6 +271,38 @@
 }
 
 /*!
+    Return maximum widget size in pixels.
+*/
+QSizeF HsScene::maximumWidgetSizeInPixels() const
+{
+    return mMaximumWidgetSizeInPixels;
+}
+
+/*!
+    Return minimum widget size in pixels.
+*/
+QSizeF HsScene::minimumWidgetSizeInPixels() const
+{
+    return mMinimumWidgetSizeInPixels;
+}
+
+/*!
+    Return maximum widget size in units.
+*/
+QSizeF HsScene::maximumWidgetSizeInUnits() const
+{
+    return mMaximumWidgetSizeInUnits;
+}
+
+/*!
+    Return minimum widget size in units.
+*/
+QSizeF HsScene::minimumWidgetSizeInUnits() const
+{
+    return mMinimumWidgetSizeInUnits;
+}
+
+/*!
     Set active widget \a widget.
 */
 void HsScene::setActiveWidget(HsWidgetHost *widget)
@@ -284,13 +342,21 @@
 */
 HsScene *HsScene::instance()
 {
-    if (mInstance.isNull()) {
+    if (!mInstance) {
         mInstance.reset(new HsScene);
     }
     return mInstance.data();
 }
 
 /*!
+    Return main window.
+*/
+HbMainWindow *HsScene::mainWindow()
+{
+    return hbInstance->allMainWindows().first();
+}
+
+/*!
     Return current orientation.
 */
 Qt::Orientation HsScene::orientation()
@@ -299,11 +365,21 @@
 }
 
 /*!
-    Return main window.
+    Listens for application background/foreground changes.
 */
-HbMainWindow *HsScene::mainWindow()
+bool HsScene::eventFilter(QObject *watched, QEvent *event)
 {
-    return hbInstance->allMainWindows().first();
+    switch (event->type()) {
+        case QEvent::ApplicationActivate:
+            mActivePage->showWidgets();
+            break;
+		case QEvent::ApplicationDeactivate:
+            mActivePage->hideWidgets();
+            break;
+        default:
+            break;
+	}
+    return QObject::eventFilter(watched, event);
 }
 
 /*!
@@ -311,13 +387,16 @@
 */
 HsScene::HsScene(QObject *parent)
   : QObject(parent),
-    mDatabaseId(-1),
+    mDatabaseId(-1),    
+    mWallpaper(0),    
+    mActivePage(0),
+    mActiveWidget(0),
     mIsOnline(true),
-    mWallpaper(0),
     mMaximumPageCount(1),
-    mActivePage(0),
-    mActiveWidget(0)
-
+    mMaximumWidgetSizeInPixels(341, 268),
+    mMinimumWidgetSizeInPixels(20, 20),
+    mMaximumWidgetSizeInUnits(51, 40),
+    mMinimumWidgetSizeInUnits(3, 3)
 {
     mWallpaper = new HsWallpaper;
 }
--- a/homescreenapp/hsdomainmodel/src/hswallpaper.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hswallpaper.cpp	Mon May 03 12:24:59 2010 +0300
@@ -95,7 +95,7 @@
         QDir::toNativeSeparators("c:/private/20022f35/wallpapers/");
 #else
     static QString directory = 
-        QDir::toNativeSeparators(QDir::currentPath() + "/wallpapers/");
+        QDir::toNativeSeparators(QDir::currentPath() + "/private/20022f35/wallpapers/");
 #endif
 
     return directory;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswidgetcomponent.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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:
+*
+*/
+
+#include <QCoreApplication>
+#include <QDir>
+
+#include "hswidgetcomponentregistry.h"
+#include "hswidgetcomponent.h"
+#include "hsapp_defs.h"
+#include "caservice.h"
+#include "caquery.h"
+#include "canotifier.h"
+
+/*!
+
+*/
+HsWidgetComponent::~HsWidgetComponent()
+{
+}
+
+/*!
+
+*/
+QString HsWidgetComponent::rootPath() const
+{
+    return mRootPath;
+}
+
+/*!
+
+*/
+QString HsWidgetComponent::uri() const
+{
+    return mUri;
+}
+
+/*!
+
+*/
+HsWidgetComponent::HsWidgetComponent(const QString &uri, QObject *parent)
+  : QObject(parent),
+    mUri(uri)
+{
+    listenChangeEvents();
+	resolveRootPath();
+	installTranslator();
+}
+
+/*!
+
+*/
+void HsWidgetComponent::listenChangeEvents()
+{
+	CaQuery query;
+    query.setEntryTypeNames(QStringList(widgetTypeName()));
+	CaNotifierFilter filter(query);  
+    CaNotifier *notifier = CaService::instance()->createNotifier(filter);
+    notifier->setParent(this);
+    connect(notifier,
+            SIGNAL(entryChanged(CaEntry,ChangeType)),
+            SLOT(onEntryChanged(CaEntry,ChangeType)));
+}
+
+/*!
+
+*/
+void HsWidgetComponent::resolveRootPath()
+{
+	CaQuery query;
+    query.setEntryTypeNames(QStringList(widgetTypeName()));
+	query.setAttribute(widgetUriAttributeName(), mUri);
+	QList< QSharedPointer<CaEntry> > widgetEntries = CaService::instance()->getEntries(query);
+	
+    if (widgetEntries.isEmpty()) {
+		return;
+	}
+    QSharedPointer<CaEntry> entry = widgetEntries.first();
+    mRootPath = entry->attribute(widgetPathAttributeName());
+}
+
+/*!
+
+*/
+void HsWidgetComponent::installTranslator()
+{
+    QStringList possiblePaths;
+#ifdef Q_OS_WIN32
+    possiblePaths << "resource/qt/translations";
+#else
+    
+    QDir currentDir(mRootPath);
+    if (!currentDir.exists() || mRootPath.isEmpty()) {
+        return;
+    }
+    while (currentDir.cdUp()) {}
+    QString drive = currentDir.path();
+    drive.append("resource/qt/translations");
+    possiblePaths << drive;
+    // if it is not in installed,then check z drive
+    possiblePaths << "z:/resource/qt/translations";
+#endif
+    
+    for(int i=0; i<possiblePaths.count(); ++i) {
+        QString candidate = QDir::toNativeSeparators(possiblePaths.at(i));   
+        if (QDir(candidate).exists()) {
+            QString fileName(mUri);
+		    fileName.append("_");
+		    fileName.append(QLocale::system().name());
+            if (mTranslator.load(fileName, candidate)) {
+                QCoreApplication::installTranslator(&mTranslator);
+		        break;
+            }
+	    }
+    }
+}
+
+/*!
+
+*/
+void HsWidgetComponent::uninstallTranslator()
+{
+    QCoreApplication::removeTranslator(&mTranslator);
+}
+
+/*!
+    This slot reacts to \a entry change that is described with 
+    \a changeType. On remove change type, aboutToUninstall() signal is
+    emitted.
+*/
+void HsWidgetComponent::onEntryChanged(const CaEntry &entry, ChangeType changeType)
+{
+    if (changeType == RemoveChangeType) {
+        QString uri = entry.attribute(widgetUriAttributeName());
+        if (uri == mUri) {
+           	uninstallTranslator();
+			emit aboutToUninstall();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsdomainmodel/src/hswidgetcomponentregistry.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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:
+*
+*/
+
+#include "hswidgetcomponentregistry.h"
+#include "hswidgetcomponent.h"
+#include <QSignalMapper>
+QScopedPointer<HsWidgetComponentRegistry> HsWidgetComponentRegistry::mInstance(0);
+
+/*!
+
+*/
+HsWidgetComponentRegistry* HsWidgetComponentRegistry::instance()
+{
+    if (!mInstance) {
+        mInstance.reset(new HsWidgetComponentRegistry);
+    }
+    return mInstance.data();
+}
+
+/*!
+
+*/
+HsWidgetComponentRegistry::~HsWidgetComponentRegistry()
+{
+    qDeleteAll(mRegistry);
+}
+
+/*!
+
+*/
+HsWidgetComponent *HsWidgetComponentRegistry::component(const QString &uri)
+{
+	if (mRegistry.contains(uri)) {
+        return mRegistry.value(uri);
+	}
+
+	QScopedPointer<HsWidgetComponent> c(new HsWidgetComponent(uri));
+	mRegistry.insert(uri, c.data());
+ 	connect(c.data(), SIGNAL(aboutToUninstall()), mSignalMapper.data(), 
+        SLOT(map()));
+    mSignalMapper->setMapping(c.data(),uri);
+	return c.take();
+}
+
+/*!
+
+*/
+HsWidgetComponentRegistry::HsWidgetComponentRegistry(QObject *parent)
+  : QObject(parent),mSignalMapper(new QSignalMapper())
+{
+    connect(mSignalMapper.data(),SIGNAL(mapped(QString)),SLOT(onAboutToUninstall(QString)));
+}
+
+/*!
+
+*/
+void HsWidgetComponentRegistry::onAboutToUninstall(const QString &uri)
+{
+    if (mRegistry.contains(uri)) {
+        mRegistry.take(uri)->deleteLater();
+    }
+}
--- a/homescreenapp/hsdomainmodel/src/hswidgethost.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsdomainmodel/src/hswidgethost.cpp	Mon May 03 12:24:59 2010 +0300
@@ -20,6 +20,8 @@
 #include <QParallelAnimationGroup>
 #include <QPropertyAnimation>
 #include <QGraphicsDropShadowEffect>
+#include <QGraphicsSceneResizeEvent>
+
 #include <qservicemanager.h>
 #include <qservicefilter.h>
 #include <qserviceinterfacedescriptor.h>
@@ -32,12 +34,8 @@
 #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"
+#include "hswidgetcomponentregistry.h"
+#include "hswidgetcomponent.h"
 
 QTM_USE_NAMESPACE
 
@@ -71,16 +69,10 @@
       mWidget(0),
       mPage(0),
       mState(Constructed),
-      mDatabaseId(databaseId)
+      mDatabaseId(databaseId),
+      mTapAndHoldIcon(0)
 {
-    CaQuery query;
-    query.setEntryTypeNames(QStringList(widgetTypeName()));
-    CaNotifierFilter filter(query);    
-    CaNotifier *notifier = CaService::instance()->createNotifier(filter);
-    notifier->setParent(this);
-    connect(notifier,
-            SIGNAL(entryChanged(CaEntry,ChangeType)),
-            SLOT(onEntryChanged(CaEntry,ChangeType)), Qt::QueuedConnection);
+    setFlags(QGraphicsItem::ItemClipsChildrenToShape);
 
     /* TODO: Uncomment after the Qt bug has been fixed.
     QGraphicsDropShadowEffect *effect = 
@@ -98,6 +90,7 @@
 HsWidgetHost::~HsWidgetHost()
 {
 }
+
 /*!
     Load hosted widget from plugin and validate it.
     Returns true if widget construction is successfull.
@@ -117,8 +110,7 @@
         return false;
     }
 
-    mUri = data.uri;
-
+	mUri = data.uri;
     // Create the hosted widget.
     QServiceManager manager;
     QServiceFilter filter("com.nokia.symbian.IHomeScreenWidget");
@@ -140,6 +132,8 @@
     }
     
     setProperty("isOnline", mIsOnlineProperty);
+	setProperty("rootPath", mRootPathProperty);
+
     setMethod("onInitialize()", mOnInitializeMethod);    
     setMethod("onUninitialize()", mOnUninitializeMethod);
        
@@ -155,13 +149,18 @@
         connect(mWidget, SIGNAL(error()),
                 SLOT(onError()));
     }
+    
+    mWidget->installEventFilter(this);    
 
-    loadWidgetPresentation();
+	loadWidgetPresentation();
 
-    QGraphicsLinearLayout *layout = new QGraphicsLinearLayout;
-    layout->setContentsMargins(0, 0, 0, 0);
-    layout->addItem(mWidget);
-    setLayout(layout);
+    HsScene *scene = HsScene::instance();
+    setMaximumSize(scene->maximumWidgetSizeInPixels());
+    setMinimumSize(scene->minimumWidgetSizeInPixels());
+
+    mWidget->setParentItem(this);
+    
+    setNewSize(mWidget->size());
     
     return true;
 }
@@ -243,7 +242,6 @@
     HsWidgetPresentationData data;    
     data.key      = key;
     data.setPos(pos());
-    data.setSize(size());
     data.zValue   = zValue();
     data.widgetId = databaseId();
     
@@ -251,8 +249,7 @@
 }
 
 /*!
-    Set widget presentation data. Return true if successfull
-
+    Set widget presentation data. Return true if successfull.
 */
 bool HsWidgetHost::setWidgetPresentationData(HsWidgetPresentationData &presentationData)
 {
@@ -316,7 +313,7 @@
         return false;
     }
 
-    setGeometry(data.geometry());
+    setPos(data.x, data.y);
     setZValue(data.zValue);
 
     return true;
@@ -358,7 +355,12 @@
     if (mState != Constructed) {
         return;
     }
-
+	// bind component to instance
+	HsWidgetComponent *component = HsWidgetComponentRegistry::instance()->component(mUri);
+	Q_ASSERT(component);
+    connect(component, SIGNAL(aboutToUninstall()), SLOT(onFinished()),Qt::QueuedConnection);
+	mRootPathProperty.write(mWidget, component->rootPath());
+	
     setPreferencesToWidget();
     setOnline(HsScene::instance()->isOnline());
     mOnInitializeMethod.invoke(mWidget);
@@ -405,7 +407,8 @@
 void HsWidgetHost::uninitializeWidget()
 {
     if (mState != Visible &&
-        mState != Hidden) {
+        mState != Hidden &&
+        mState != Finished) {
         return;
     }
 
@@ -480,6 +483,40 @@
 }
 
 /*!
+    Starts the tap-and-hold animation.
+*/
+void HsWidgetHost::startTapAndHoldAnimation()
+{
+    mTapAndHoldIcon = new HbIconItem("tapandhold_animation");
+    mTapAndHoldIcon->setZValue(1e6);
+    mTapAndHoldIcon->setParentItem(this);
+}
+ 
+/*!
+    Stops the tap-and-hold animation.
+*/
+void HsWidgetHost::stopTapAndHoldAnimation()
+{
+    delete mTapAndHoldIcon;
+    mTapAndHoldIcon = 0;
+}
+
+/*!
+    Filters resize events from widgets and resizes inside max/min size boundaries if needed.
+*/
+bool HsWidgetHost::eventFilter(QObject *obj, QEvent *event)
+{
+    if (event->type() == QEvent::GraphicsSceneResize ) {
+        QGraphicsSceneResizeEvent *resizeEvent = static_cast<QGraphicsSceneResizeEvent*>(event);
+        setNewSize(resizeEvent->newSize());
+        return true;
+    } else {
+         // standard event processing
+         return HbWidget::eventFilter(obj, event);
+    }
+}
+
+/*!
     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
@@ -544,6 +581,15 @@
 }
 
 /*!
+    Resizes and sets preferred size for widget layouts
+*/
+void HsWidgetHost::setNewSize(const QSizeF &newSize)
+{
+    resize(newSize);
+    setPreferredSize(newSize);
+}
+
+/*!
     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
@@ -595,18 +641,4 @@
     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();
-        }
-    }
-}
+
--- a/homescreenapp/hshomescreenclientplugin/hshomescreenclientplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/hshomescreenclientplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -16,11 +16,11 @@
 
 
 TEMPLATE = lib
-CONFIG += plugin hb mobility console
+CONFIG += plugin hb mobility console hs_public_plugin
 MOBILITY = serviceframework
 
-PLUGIN_SUBDIR = /hsresources/plugins/homescreenclientplugin
-
+PLUGIN_SUBDIR = /resource/qt/plugins
+                
 include (../common.pri)
 
 DEPENDPATH += 	./inc \
@@ -31,6 +31,7 @@
 symbian: {
     TARGET.UID3 = 0x20022F72
     LIBS += -lxqservice
+    LIBS += -lxqserviceutil
 }
 
 win32: {
--- a/homescreenapp/hshomescreenclientplugin/inc/hshomescreenclient.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/inc/hshomescreenclient.h	Mon May 03 12:24:59 2010 +0300
@@ -37,10 +37,12 @@
  
 public slots:
     bool addWidget(const QString &uri, const QVariantHash &preferences);
+    bool setWallpaper(const QString &fileName);
 private slots:
     void onRequestCompleted(const QVariant &result);
     void onRequestError(int error);
     void doAddWidget(const QString &uri, const QVariantHash &preferences);
+    void doSetWallpaper(const QString &fileName);
 signals:
     void requestFinished();
 private:
--- a/homescreenapp/hshomescreenclientplugin/resource/hshomescreenclientplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>hshomescreenclientplugin</name>
-    <filepath>z:/hsresources/plugins/homescreenclientplugin/hshomescreenclientplugin.qtplugin</filepath>
-    <description>Homescreen client plugin</description>
-    <interface>
-        <name>com.nokia.symbian.IHomeScreenClient</name>
-        <version>1.0</version>
-        <description>Homescreen exposed service interface </description>
-        <capabilities></capabilities>
-    </interface>
-</service>
--- a/homescreenapp/hshomescreenclientplugin/src/hshomescreenclient.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/src/hshomescreenclient.cpp	Mon May 03 12:24:59 2010 +0300
@@ -16,9 +16,24 @@
 */
 #include "hshomescreenclient.h"
 #include <xqservicerequest.h>
+#include <xqrequestinfo.h>
 #include <QEventLoop>
 
 const char INTERFACE_NAME[] = "com.nokia.services.hsapplication.IHomeScreenClient";
+
+
+/*!
+    \class HsHomescreenClient
+    \ingroup group_hshomescreenclient
+    \brief Implements home screen client api, see @page_homescreenclientapi for 
+    usage details.
+    
+*/
+
+
+/*!
+  Constructor
+*/
 HsHomescreenClient::HsHomescreenClient(QObject *parent)
     :QObject(parent),
     mAsyncRequest(0),
@@ -26,11 +41,20 @@
 {   
 }
 
+/*!
+  Destructor
+*/
 HsHomescreenClient::~HsHomescreenClient()
 {
     delete mAsyncRequest;
 }
 
+/*!
+    Adds new widget, with the given \a uri and \a preferences, 
+    to the active home screen page.
+    Note that \a preferences is dependent on the 
+    widget implementation and it can be empty if widget does not have any preferences see @ref sssection_setpreferences. 
+ */
 bool HsHomescreenClient::addWidget(
     const QString &uri, 
     const QVariantHash &preferences)
@@ -43,19 +67,46 @@
    
     return mRequestResult;
 }
+
+/*!
+   Sets wallpaper \a fileName. Filename should include full path to the image file.
+ */
+bool HsHomescreenClient::setWallpaper(const QString &fileName)
+{
+    QEventLoop eventLoop;
+    connect(this, SIGNAL(requestFinished()), &eventLoop, SLOT(quit()));
+    QMetaObject::invokeMethod(
+            this, 
+            "doSetWallpaper", 
+            Qt::QueuedConnection,
+            Q_ARG(QString,fileName));
+    eventLoop.exec();
+   
+    return mRequestResult;
+}
     
+/*!
+   Called when request is completed.
+ */
 void HsHomescreenClient::onRequestCompleted(const QVariant &result)
 {
     mRequestResult = result.toBool();
     emit requestFinished();
 }
     
+/*!
+   Called when request has some errors.
+ */
 void HsHomescreenClient::onRequestError(int error)
 {
     Q_UNUSED(error)
     emit requestFinished();
 }
     
+/*!
+ * Uses Qt Highway to send 'addWidget' request to home screen application.
+ * \a uri and \a preferences as in widget model.
+ */
 void HsHomescreenClient::doAddWidget(
     const QString &uri, 
     const QVariantHash &preferences)
@@ -63,18 +114,49 @@
     delete mAsyncRequest;
     mAsyncRequest = 0;
     mAsyncRequest = new XQServiceRequest(INTERFACE_NAME,
-                       "addWidget(QString,QVariantHash)",false);
+                       "addWidget(QString,QVariantHash)", false);
+    
+    XQRequestInfo requestInfo = mAsyncRequest->info();
+    requestInfo.setBackground(true);
+    mAsyncRequest->setInfo(requestInfo);
+    
     *mAsyncRequest << uri;
     *mAsyncRequest << preferences;
     
     connect(mAsyncRequest, SIGNAL(requestCompleted(QVariant)), 
-           SLOT(onRequestCompleted(QVariant)));
+            SLOT(onRequestCompleted(QVariant)));
     connect(mAsyncRequest, SIGNAL(requestError(int)), 
-              SLOT(onRequestError(int)));
+            SLOT(onRequestError(int)));
        
     mRequestResult = false;
-    bool res=mAsyncRequest->send();
-    if(!res){
+    if (!mAsyncRequest->send()) {
+       emit requestFinished();
+    }
+}
+
+/*!
+ * Uses Qt Highway to send 'setWallpaper' request to home screen application.
+ * \a fileName full path to the image file.
+ */
+void HsHomescreenClient::doSetWallpaper(const QString &fileName)
+{
+    delete mAsyncRequest;
+    mAsyncRequest = 0;
+    mAsyncRequest = new XQServiceRequest(INTERFACE_NAME,
+                        "setWallpaper(QString)", false);
+    XQRequestInfo requestInfo = mAsyncRequest->info();
+    requestInfo.setBackground(true);
+    mAsyncRequest->setInfo(requestInfo);
+    
+    *mAsyncRequest << fileName;
+    
+    connect(mAsyncRequest, SIGNAL(requestCompleted(QVariant)), 
+            SLOT(onRequestCompleted(QVariant)));
+    connect(mAsyncRequest, SIGNAL(requestError(int)),
+            SLOT(onRequestError(int)));
+       
+    mRequestResult = false;
+    if (!mAsyncRequest->send()) {
        emit requestFinished();
     }
     
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/decision_cov_emulator.pl	Mon May 03 12:24:59 2010 +0300
@@ -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: Script for running branch coverage test
+#
+
+#USAGE:
+#    Usage: decision_cov.pl [-make=command]
+#    -make=instrument || run || ctcpost
+
+# import module
+use Getopt::Long;
+
+# read options
+my $make = "all";
+my $success = GetOptions ("make=s"   => \$make);
+
+if($make) {
+    if (($make eq "instrument") || ($make eq "all")) {
+        system("del mon.sym");
+        system("del mon.dat");
+        system("del profile.txt");
+        system("rmdir /s /q CTCFUNCTION");
+        system("rmdir /s /q CTCDECISION");
+		system("call qmake -config coverage");
+		system("call sbs -c winscw_udeb.test");
+		system("call sbs -c winscw_udeb.test clean");
+		system("call sbs -c winscw_udeb clean");
+		system("call sbs -c winscw_udeb");
+		system("call ctcwrap -i fd -2comp -no-conf-check -C EXCLUDE=* -C NO_EXCLUDE=./../../src/* sbs -c winscw_udeb.test");
+	}
+    if (($make eq "run") || ($make eq "all")) {
+		system("call \\epoc32\\release\\winscw\\udeb\\t_hshomescreenclientplugin.exe -o c:\\t_hshomescreenclientplugin.log");
+	}
+	if (($make eq "ctcpost") || ($make eq "all")) {
+		system("call ctcpost -ff -p profile.txt");
+		system("call ctc2html -nsb -i profile.txt -o CTCFUNCTION");
+		system("call del profile.txt");
+		system("call ctcpost -fd -p profile.txt");
+		system("call ctc2html -nsb -i profile.txt -o CTCDECISION");
+		system("call del profile.txt");
+	}
+}	
+print "END.\n";
--- a/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/inc/t_hshomescreenclientplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/inc/t_hshomescreenclientplugin.h	Mon May 03 12:24:59 2010 +0300
@@ -39,6 +39,8 @@
      void testConstruction();
      void testAddWidget();
      void testAddInvalidWidget();
+     void testSetWallpaper();
+     void testOnRequestError();
 
 signals:
      void onRequestCompletedTest(const QVariant &result);
--- a/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/src/t_hshomescreenclientplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/src/t_hshomescreenclientplugin.cpp	Mon May 03 12:24:59 2010 +0300
@@ -85,4 +85,43 @@
     delete client;
 }
 
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsHomescreenClientPluginTest::testSetWallpaper()
+{  
+    HsHomescreenClient *client = new HsHomescreenClient;
+    
+    QSignalSpy requestFinishedSpy(client, SIGNAL(requestFinished()));
+    
+    bool result = client->setWallpaper("wallpaper");
+    
+    // but emit correct signals
+    connect(this, SIGNAL(onRequestCompletedTest(QVariant)), client, SLOT(onRequestCompleted(QVariant)));
+    emit onRequestCompletedTest(true);
+    
+    QVERIFY(requestFinishedSpy.count());
+    QVERIFY(client->mRequestResult);
+    
+    delete client;    
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsHomescreenClientPluginTest::testOnRequestError()
+{  
+    HsHomescreenClient *client = new HsHomescreenClient;
+    
+    QSignalSpy requestFinishedSpy(client, SIGNAL(requestFinished()));
+    
+    client->onRequestError(-1);
+    
+    QVERIFY(requestFinishedSpy.count());
+    QVERIFY(!client->mRequestResult);
+    
+    delete client;    
+}
+
+
 QTEST_MAIN(HsHomescreenClientPluginTest)
--- a/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/t_hshomescreenclientplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hshomescreenclientplugin/tsrc/t_hshomescreenclientplugin/t_hshomescreenclientplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -50,6 +50,7 @@
     TARGET.CAPABILITY = CAP_APPLICATION AllFiles
     TARGET.EPOCHEAPSIZE = 0x20000 0x1000000 // 128kB - 16MB
     LIBS += -lxqservice
+    LIBS += -lxqserviceutil
 } else {
     error("Only Symbian supported!")
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/hsmenuclientplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = lib
+
+CONFIG += plugin mobility hs_public_plugin
+MOBILITY = serviceframework
+
+PLUGIN_SUBDIR = /resource/qt/plugins
+
+LIBS += -lcaclient
+
+INCLUDEPATH += inc
+
+HEADERS +=  inc/hsmenuclient.h \
+            inc/hsmenuclientplugin.h \
+
+SOURCES +=  src/hsmenuclient.cpp \
+            src/hsmenuclientplugin.cpp \
+
+symbian: {
+	TARGET.UID3 = 0x20028715
+#export interface header to platform
+BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
+BLD_INF_RULES.prj_exports += "inc/hsmenuclient.h \
+	APP_LAYER_PLATFORM_EXPORT_PATH(hsmenuclient.h)"
+}
+
+include(../common.pri)
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/inc/hsmenuclient.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsmenuclient.h
+ *
+ */
+
+#ifndef HSMENUCLIENT_H
+#define HSMENUCLIENT_H
+
+#include <QObject>
+#include <QVariant>
+#include <qservicemanager.h>
+
+QTM_USE_NAMESPACE
+
+//mandatory keys
+const QString hsItemName("item:name");
+const QString hsitemLaunchUri("item:launchuri");
+const QString hsitemPublisherId("item:publisherId");
+
+//not mandatory
+const QString hsItemWidgetUri("widget:uri");
+const QString hsItemDescription("item:description");
+
+//for icon - not mandatory
+const QString hsIconFileName("icon:filename");//to display specific icon from file
+const QString hsIconName("icon:name");// HbIcon
+const QString hsIconApplicationId("icon:applicationid"); // icon from associated application
+
+
+class HsMenuClientPrivate;
+
+class HsMenuClient : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsMenuClient(QObject *parent = 0);
+    ~HsMenuClient();
+public slots:
+   bool add(const QVariantMap &entryPreference = QVariantMap());
+   bool remove(const QVariantMap &queryPreference = QVariantMap()) const;
+   
+   QList<QVariantMap > getList(const QVariantMap &queryPreference = QVariantMap());
+  
+private:
+   Q_DISABLE_COPY(HsMenuClient)
+    /**
+     * Pointer to a private implementation.
+     */
+   HsMenuClientPrivate * const m_d;
+};
+
+
+
+#endif // HSMENUCLIENT_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/inc/hsmenuclient_p.h	Mon May 03 12:24:59 2010 +0300
@@ -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: hsmenuclient_p.h
+ *
+ */
+
+#ifndef HSMENUCLIENT_PRIVATE_H
+#define HSMENUCLIENT_PRIVATE_H
+
+// hidden
+const QString hsItemId("id");
+
+class HsMenuClient;
+
+class HsMenuClientPrivate
+{
+
+public:
+
+    explicit HsMenuClientPrivate(HsMenuClient *publishPublic);
+    ~HsMenuClientPrivate();
+    bool add(const QVariantMap &entryPreference = QVariantMap());
+    bool remove(const QVariantMap &queryPreference = QVariantMap()) const;    
+    QList<QVariantMap > getList(const QVariantMap &queryPreference = QVariantMap());
+    
+private:
+    /**
+     * Points to the HsMenuClient instance that uses this private implementation.
+     */
+    HsMenuClient *const m_q;    
+};
+
+#endif //HSMENUCLIENT_PRIVATE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/inc/hsmenuclientplugin.h	Mon May 03 12:24:59 2010 +0300
@@ -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:  Plugin factory.
+*
+*/
+
+#ifndef HSMENUCLIENTPLUGIN_H
+#define HSMENUCLIENTPLUGIN_H
+
+#include <QObject>
+#include <qserviceplugininterface.h>
+
+QTM_USE_NAMESPACE
+
+class HsMenuClientPlugin : public QObject, public QServicePluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(QtMobility::QServicePluginInterface)
+
+public:
+    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
+                            QServiceContext *context,
+                            QAbstractSecuritySession *session);
+};
+
+#endif //HSMENUCLIENTPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/resource/hsmenuclientplugin.xml	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<service>
+    <name>hsmenuclientplugin</name>
+    <filepath>hsmenuclient</filepath>
+    <description>HsMenu Client plugin</description>
+    <interface>
+        <name>com.nokia.symbian.IMenuClient</name>
+        <version>1.0</version>
+        <description>HsMenu Client exposed service interface </description>
+        <capabilities></capabilities>
+    </interface>
+</service>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/src/hsmenuclient.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,220 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: hsmenuclient.cpp
+ *
+ */
+
+#include <QString>
+#include <QDebug>
+
+#include "hsapp_defs.h"
+#include "caquery.h"
+#include "caentry.h"
+#include "caicondescription.h"
+#include "caservice.h"
+
+#include "hsmenuclient.h"
+#include "hsmenuclient_p.h"
+
+
+/*!
+    \class HsMenuClient
+    \ingroup group_hsmenuclient
+    \brief Implements home screen menu api, see \ref page_hsmenuclient for 
+    usage details.
+    
+*/
+
+HsMenuClient::HsMenuClient(QObject *parent)
+    :QObject(parent), m_d(new HsMenuClientPrivate(this))
+{
+ 
+}
+
+HsMenuClient::~HsMenuClient()
+{
+    delete m_d;
+}
+
+/*!
+ Add an Templated Application Entry or Update if entryPreferences contains paramter id see 
+ \ref page_hsmenuclient for exmaple usages
+ \param entryPreference entry prefereneces
+ \retval true if operation was successful
+ */
+bool HsMenuClient::add(const QVariantMap &entryPreference)
+{    
+    return m_d->add(entryPreference);
+}
+/*!
+ Remove an Templated Application Entry see 
+ \ref page_gsmenuclient for exmaple usages
+ \param entry entry prefereneces
+ \retval true if operation was successful
+ */
+bool HsMenuClient::remove(const QVariantMap &entry) const
+{
+    return m_d->remove(entry);
+}
+/*!
+ Get list of Templated Application Entrys see 
+ \ref page_hsmenuclient for exmaple usages
+ \param queryPreference prefereneces for query db
+ \retval QList
+ */
+QList<QVariantMap > HsMenuClient::getList(const QVariantMap &queryPreference)
+{
+    return m_d->getList(queryPreference);
+}
+
+/*!
+ Constructor
+ \param publishPublic pointer to public contentPublish
+ */
+HsMenuClientPrivate::HsMenuClientPrivate(HsMenuClient *publishPublic) :
+    m_q(publishPublic)
+{
+
+}
+
+/*!
+ destructor
+ */
+HsMenuClientPrivate::~HsMenuClientPrivate()
+{
+    
+}
+
+bool HsMenuClientPrivate::add(const QVariantMap &entryPreference)
+{
+    bool result = false;
+    QMap<QString, QVariant> pref = entryPreference;
+    
+    CaIconDescription iconDesc;
+    if(pref.contains(hsItemId))
+        {
+            QSharedPointer<CaEntry> update_entry = CaService::instance()->getEntry(pref.take(hsItemId).toInt());
+            
+            update_entry->setText(pref.take(hsItemName).toString());
+            
+            update_entry->setDescription(pref.take(hsItemDescription).toString());
+            
+            iconDesc.setFilename(pref.take(hsIconFileName).toString());
+            iconDesc.setSkinId(pref.take(hsIconName).toString());
+            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());
+            update_entry->setIconDescription(iconDesc);
+            QMapIterator<QString, QVariant> k(pref);
+            while (k.hasNext()) {
+                k.next();
+                update_entry->setAttribute(k.key(),k.value().toString());
+            }
+            
+            result = CaService::instance()->updateEntry(*update_entry);
+        }
+    else if (pref.contains(hsItemName) && pref.contains(hsitemLaunchUri) && pref.contains(hsitemPublisherId))
+        {
+            CaEntry add_entry(ItemEntryRole);
+            add_entry.setEntryTypeName(templatedApplicationTypeName());
+            // mandatory values
+            add_entry.setText(pref.take(hsItemName).toString());
+            
+            iconDesc.setFilename(pref.take(hsIconFileName).toString());
+            iconDesc.setSkinId(pref.take(hsIconName).toString());
+            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());            
+            add_entry.setIconDescription(iconDesc);  
+            
+            add_entry.setDescription(pref.take(hsItemDescription).toString());
+            QMapIterator<QString, QVariant> k(pref);
+            while (k.hasNext()) {
+                k.next();
+                add_entry.setAttribute(k.key(),k.value().toString());
+            }
+
+            add_entry.setFlags(add_entry.flags() & ~RemovableEntryFlag);
+            
+            QSharedPointer<CaEntry> entry = CaService::instance()->createEntry(add_entry);
+            if (!entry.isNull()) {
+                result = true;
+            }      
+        }
+    else
+        {
+            return false;
+        }
+    return result;
+    
+  
+}
+bool HsMenuClientPrivate::remove(const QVariantMap &entry) const
+{
+    bool result = false;
+    if (entry.contains(hsItemId))
+        {    
+            result = CaService::instance()->removeEntry(entry.value(hsItemId).toInt());
+        }
+    return result;
+}
+
+QList<QVariantMap > HsMenuClientPrivate::getList(const QVariantMap &queryPreference)
+{
+    QList<QVariantMap> list;
+    QMap<QString, QVariant> map = queryPreference;
+    
+    map.remove(hsItemName);
+    map.remove(hsItemDescription);
+    
+    CaQuery query;
+    // define query
+    query.setFlagsOn(VisibleEntryFlag);
+    query.setEntryRoles(ItemEntryRole);
+    query.setEntryTypeNames(QStringList(templatedApplicationTypeName()));
+    
+    
+    // add atributes to caquery
+    QMapIterator<QString, QVariant> k(map);
+    while (k.hasNext()) {
+        k.next();
+        query.setAttribute(k.key(),k.value().toString());
+    }  
+    QList< QSharedPointer<CaEntry> > entries = CaService::instance()->getEntries(query);
+    map.clear();
+    if (entries.count()) {
+        QMap<QString, QString> attrMap;
+        QMapIterator<QString, QString> k(attrMap);
+        //walk trought entrys and extract keys into map
+        for (int i = 0; i < entries.count(); ++i) {
+            map[hsItemId] = entries.at(i)->id();
+            map[hsItemName] = entries.at(i)->text();
+            map[hsItemDescription] = entries.at(i)->description();
+            CaIconDescription iconDesc = entries.at(i)->iconDescription();
+            map[hsIconFileName] = iconDesc.filename();
+            map[hsIconName] = iconDesc.skinId();
+            map[hsIconApplicationId] = iconDesc.applicationId();
+            
+            // extract entry atributes
+            attrMap = entries.at(i)->attributes();
+            QMapIterator<QString, QString> k(attrMap);
+            // insert entrys attr into map
+            while (k.hasNext()) {
+                k.next();
+                map.insert(k.key(),k.value());
+            }
+            list.append(map); //append entry map to list
+            // clean used maps
+            map.clear();
+            attrMap.clear();
+        }
+    }
+    return list;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsmenuclientplugin/src/hsmenuclientplugin.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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: Plugin factory.
+*
+*/
+
+#include <qserviceinterfacedescriptor.h>
+#include <qabstractsecuritysession.h>
+#include <qservicecontext.h>
+
+#include "hsmenuclientplugin.h"
+#include "hsmenuclient.h"
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+QObject *HsMenuClientPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
+                                                QServiceContext *context,
+                                                QAbstractSecuritySession *session)
+{
+    Q_UNUSED(context);
+    Q_UNUSED(session);
+
+    if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IMenuClient")) {
+        return new HsMenuClient(this);
+    } else {
+        return 0;
+    }
+}
+
+Q_EXPORT_PLUGIN2(hsmenuclientplugin, HsMenuClientPlugin)
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- a/homescreenapp/hsmenucontentpublish/hsmenucontentpublish.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-
-CONFIG += plugin mobility
-MOBILITY = serviceframework
-
-PLUGIN_SUBDIR = /hsresources/plugins/hsmenucontentpublishplugin
-
-LIBS += -lcaclient
-
-INCLUDEPATH += inc
-
-HEADERS +=  inc/hsmenucontentpublish.h \
-            inc/hsmenucontentpublishplugin.h \
-
-SOURCES +=  src/hsmenucontentpublish.cpp \
-            src/hsmenucontentpublishplugin.cpp \
-
-symbian: {
-	TARGET.UID3 = 0x20028715
-#export interface header to platform
-BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include <platform_paths.hrh>"
-BLD_INF_RULES.prj_exports += "inc/hsmenucontentpublish.h \
-	APP_LAYER_PLATFORM_EXPORT_PATH(hsmenucontentpublish.h)"
-}
-
-include(../common.pri)
-
-
--- a/homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublish.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Nokia Corporation - initial contribution.
- *
- * Contributors:
- *
- * Description: hsmenucontentpublish.h
- *
- */
-
-#ifndef HSMENUCONTENTPUBLISH_H
-#define HSMENUCONTENTPUBLISH_H
-
-#include <QObject>
-#include <QVariant>
-#include <qservicemanager.h>
-
-QTM_USE_NAMESPACE
-
-//mandatory keys
-const QString hsItemName("item:name");
-const QString hsitemLaunchUri("item:launchuri");
-const QString hsitemPublisherId("item:publisherId");
-
-//not mandatory
-const QString hsItemWidgetUri("widget:uri");
-const QString hsItemDescription("item:description");
-
-//for icon - not mandatory
-const QString hsIconFileName("icon:filename");//to display specific icon from file
-const QString hsIconName("icon:name");// it is used in similar way in HbIcon
-const QString hsIconApplicationId("icon:applicationid"); //publisherid makes rest
-
-
-class HsMenuContentPublishPrivate;
-
-class HsMenuContentPublish : public QObject
-{
-    Q_OBJECT
-
-public:
-    HsMenuContentPublish(QObject *parent = 0);
-    ~HsMenuContentPublish();
-public slots:
-   bool add(const QVariantMap &entryPreference = QVariantMap());
-   bool remove(const QVariantMap &queryPreference = QVariantMap()) const;
-   
-   QList<QVariantMap > getList(const QVariantMap &queryPreference = QVariantMap());
-  
-private:
-   Q_DISABLE_COPY(HsMenuContentPublish)
-    /**
-     * Pointer to a private implementation.
-     */
-   HsMenuContentPublishPrivate * const m_d;
-};
-
-
-
-#endif // HSMENUCONTENTPUBLISH_H
--- a/homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublish_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: hsmenucontentpublish_p.h
- *
- */
-
-#ifndef HSMENUCONTENTPUBLISH_PRIVATE_H
-#define HSMENUCONTENTPUBLISH_PRIVATE_H
-
-// hidden
-const QString hsItemId("id");
-
-class HsMenuContentPublish;
-
-class HsMenuContentPublishPrivate
-{
-
-public:
-
-    explicit HsMenuContentPublishPrivate(HsMenuContentPublish *publishPublic);
-    ~HsMenuContentPublishPrivate();
-    bool add(const QVariantMap &entryPreference = QVariantMap());
-    bool remove(const QVariantMap &queryPreference = QVariantMap()) const;    
-    QList<QVariantMap > getList(const QVariantMap &queryPreference = QVariantMap());
-    
-private:
-    /**
-     * Points to the HsMenuContentPublish instance that uses this private implementation.
-     */
-    HsMenuContentPublish *const m_q;    
-};
-
-#endif //HSMENUCONTENTPUBLISH_PRIVATE_H
--- a/homescreenapp/hsmenucontentpublish/inc/hsmenucontentpublishplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Plugin factory.
-*
-*/
-
-#ifndef HSMENUCONTENTPUBLISHPLUGIN_H
-#define HSMENUCONTENTPUBLISHPLUGIN_H
-
-#include <QObject>
-#include <qserviceplugininterface.h>
-
-QTM_USE_NAMESPACE
-
-class HsMenuContentPublishPlugin : public QObject, public QServicePluginInterface
-{
-    Q_OBJECT
-    Q_INTERFACES(QtMobility::QServicePluginInterface)
-
-public:
-    QObject *createInstance(const QServiceInterfaceDescriptor &descriptor,
-                            QServiceContext *context,
-                            QAbstractSecuritySession *session);
-};
-
-#endif //HSMENUCONTENTPUBLISHPLUGIN_H
--- a/homescreenapp/hsmenucontentpublish/resource/hsmenucontentpublish.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>hsmenucontentpublishplugin</name>
-    <filepath>z:/hsresources/plugins/hsmenucontentpublishplugin/hsmenucontentpublish.qtplugin</filepath>
-    <description>HsMenu Client plugin</description>
-    <interface>
-        <name>com.nokia.symbian.IMenuClient</name>
-        <version>1.0</version>
-        <description>HsMenu Client exposed service interface </description>
-        <capabilities></capabilities>
-    </interface>
-</service>
--- a/homescreenapp/hsmenucontentpublish/resource/hsmenucontentpublish.xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<service>
-    <name>hsmenucontentpublishplugin</name>
-    <filepath>hsmenucontentpublish</filepath>
-    <description>HsMenu Client plugin</description>
-    <interface>
-        <name>com.nokia.symbian.IMenuClient</name>
-        <version>1.0</version>
-        <description>HsMenu Client exposed service interface </description>
-        <capabilities></capabilities>
-    </interface>
-</service>
\ No newline at end of file
--- a/homescreenapp/hsmenucontentpublish/src/hsmenucontentpublish.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,196 +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: hsmenucontentpublish.cpp
- *
- */
-
-#include <QString>
-#include <QDebug>
-
-#include "hsapp_defs.h"
-#include "caquery.h"
-#include "caentry.h"
-#include "caicondescription.h"
-#include "caservice.h"
-
-#include "hsmenucontentpublish.h"
-#include "hsmenucontentpublish_p.h"
-
-HsMenuContentPublish::HsMenuContentPublish(QObject *parent)
-    :QObject(parent), m_d(new HsMenuContentPublishPrivate(this))
-{
- 
-}
-
-HsMenuContentPublish::~HsMenuContentPublish()
-{
-    delete m_d;
-}
-
-bool HsMenuContentPublish::add(const QVariantMap &entryPreference)
-{    
-    return m_d->add(entryPreference);
-}
-bool HsMenuContentPublish::remove(const QVariantMap &entry) const
-{
-    return m_d->remove(entry);
-}
-
-QList<QVariantMap > HsMenuContentPublish::getList(const QVariantMap &queryPreference)
-{
-    return m_d->getList(queryPreference);
-}
-
-/*!
- Constructor
- \param publishPublic pointer to public contentPublish
- */
-HsMenuContentPublishPrivate::HsMenuContentPublishPrivate(HsMenuContentPublish *publishPublic) :
-    m_q(publishPublic)
-{
-
-}
-
-/*!
- destructor
- */
-HsMenuContentPublishPrivate::~HsMenuContentPublishPrivate()
-{
-    
-}
-
-bool HsMenuContentPublishPrivate::add(const QVariantMap &entryPreference)
-{
-    bool result = false;
-    QMap<QString, QVariant> pref = entryPreference;
-    
-    CaIconDescription iconDesc;
-    if(pref.contains(hsItemId))
-        {
-            CaEntry *update_entry = CaService::instance()->getEntry(pref.take(hsItemId).toInt());
-            
-            update_entry->setText(pref.take(hsItemName).toString());
-            
-            update_entry->setDescription(pref.take(hsItemDescription).toString());
-            
-            iconDesc.setFilename(pref.take(hsIconFileName).toString());
-            iconDesc.setSkinId(pref.take(hsIconName).toString());
-            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());
-            update_entry->setIconDescription(iconDesc);
-            QMapIterator<QString, QVariant> k(pref);
-            while (k.hasNext()) {
-                k.next();
-                update_entry->setAttribute(k.key(),k.value().toString());
-            }
-            
-            result = CaService::instance()->updateEntry(*update_entry);
-        }
-    else if (pref.contains(hsItemName) && pref.contains(hsitemLaunchUri) && pref.contains(hsitemPublisherId))
-        {
-            CaEntry add_entry(ItemEntryRole);
-            add_entry.setEntryTypeName(templatedApplicationTypeName());
-            // mandatory values
-            add_entry.setText(pref.take(hsItemName).toString());
-            
-            iconDesc.setFilename(pref.take(hsIconFileName).toString());
-            iconDesc.setSkinId(pref.take(hsIconName).toString());
-            iconDesc.setApplicationId(pref.take(hsIconApplicationId).toString());            
-            add_entry.setIconDescription(iconDesc);  
-            
-            add_entry.setDescription(pref.take(hsItemDescription).toString());
-            QMapIterator<QString, QVariant> k(pref);
-            while (k.hasNext()) {
-                k.next();
-                add_entry.setAttribute(k.key(),k.value().toString());
-            }
-
-            add_entry.setFlags(add_entry.flags() & ~RemovableEntryFlag);
-            
-            CaEntry *entry = CaService::instance()->createEntry(add_entry);
-            if (entry) {
-                result = true;
-                delete entry;
-            }      
-        }
-    else
-        {
-            return false;
-        }
-    return result;
-    
-  
-}
-bool HsMenuContentPublishPrivate::remove(const QVariantMap &entry) const
-{
-    bool result = false;
-    if (entry.contains(hsItemId))
-        {    
-            result = CaService::instance()->removeEntry(entry.value(hsItemId).toInt());
-        }
-    return result;
-}
-
-QList<QVariantMap > HsMenuContentPublishPrivate::getList(const QVariantMap &queryPreference)
-{
-    QList<QVariantMap> list;
-    QMap<QString, QVariant> map = queryPreference;
-    
-    map.remove(hsItemName);
-    map.remove(hsItemDescription);
-    
-    CaQuery query;
-    // define query
-    query.setFlagsOn(VisibleEntryFlag);
-    query.setEntryRoles(ItemEntryRole);
-    query.setEntryTypeNames(QStringList(templatedApplicationTypeName()));
-    
-    
-    // add atributes to caquery
-    QMapIterator<QString, QVariant> k(map);
-    while (k.hasNext()) {
-        k.next();
-        query.setAttribute(k.key(),k.value().toString());
-    }  
-    QList<CaEntry *> entries = CaService::instance()->getEntries(query);
-    map.clear();
-    if (entries.count()) {
-        QMap<QString, QString> attrMap;
-        QMapIterator<QString, QString> k(attrMap);
-        //walk trought entrys and extract keys into map
-        for (int i = 0; i < entries.count(); ++i) {
-            map[hsItemId] = entries.at(i)->id();
-            map[hsItemName] = entries.at(i)->text();
-            map[hsItemDescription] = entries.at(i)->description();
-            CaIconDescription iconDesc = entries.at(i)->iconDescription();
-            map[hsIconFileName] = iconDesc.filename();
-            map[hsIconName] = iconDesc.skinId();
-            map[hsIconApplicationId] = iconDesc.applicationId();
-            
-            // extract entry atributes
-            attrMap = entries.at(i)->attributes();
-            QMapIterator<QString, QString> k(attrMap);
-            // insert entrys attr into map
-            while (k.hasNext()) {
-                k.next();
-                map.insert(k.key(),k.value());
-            }
-            list.append(map); //append entry map to list
-            // clean used maps
-            map.clear();
-            attrMap.clear();
-        }
-    }
-    qDeleteAll(entries);
-    return list;
-}
--- a/homescreenapp/hsmenucontentpublish/src/hsmenucontentpublishplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Plugin factory.
-*
-*/
-
-#include <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#include "hsmenucontentpublishplugin.h"
-#include "hsmenucontentpublish.h"
-
-#ifdef COVERAGE_MEASUREMENT
-#pragma CTC SKIP
-#endif //COVERAGE_MEASUREMENT
-
-QObject *HsMenuContentPublishPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
-                                                QServiceContext *context,
-                                                QAbstractSecuritySession *session)
-{
-    Q_UNUSED(context);
-    Q_UNUSED(session);
-
-    if (descriptor.interfaceName() == QLatin1String("com.nokia.symbian.IMenuClient")) {
-        return new HsMenuContentPublish(this);
-    } else {
-        return 0;
-    }
-}
-
-Q_EXPORT_PLUGIN2(hsmenucontentpublishplugin, HsMenuContentPublishPlugin)
-
-#ifdef COVERAGE_MEASUREMENT
-#pragma CTC ENDSKIP
-#endif //COVERAGE_MEASUREMENT
--- a/homescreenapp/hsutils/hsutils.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/hsutils.pro	Mon May 03 12:24:59 2010 +0300
@@ -18,7 +18,8 @@
 
 include (../common.pri)
 
-CONFIG += hb 
+CONFIG += hb mobility
+MOBILITY = systeminfo
 QT += sql
 
 DEFINES += HSUTILS_LIB
@@ -32,6 +33,7 @@
 
 symbian: {
     TARGET.UID3 = 0x20022F3C
+    LIBS+=-lxqservice -lxqserviceutil
 }
 
 include(hsutils.pri)
--- a/homescreenapp/hsutils/inc/hsapptranslator.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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:  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/hsdeviceinfolistener.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSDEVICEINFOLISTENER_H
+#define HSDEVICEINFOLISTENER_H
+
+#include <QObject>
+//#include <QSystemDeviceInfo>
+//#include <QSystemNetworkInfo>
+#ifdef HSUTILS_TEST
+#include "mocksysteminfo.h"
+#else
+#include <qsysteminfo.h>
+QTM_USE_NAMESPACE
+#endif
+
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class HsDeviceInfoListener : public QObject
+{
+    Q_OBJECT
+    
+    Q_ENUMS(HsDeviceInfoStatus)
+
+public:    
+    enum HsDeviceInfoStatus {
+        NoService = 0, // no sim or out of coverage
+        OfflineProfile,
+        ServiceAvailable
+    };
+    
+public:
+    HsDeviceInfoListener(QObject *parent = 0);
+    ~HsDeviceInfoListener();
+
+public:
+    QString operatorName() const;
+    HsDeviceInfoStatus status() const;
+    
+signals:
+    void networkNameChanged(const QString &name);
+    void statusChanged(HsDeviceInfoListener::HsDeviceInfoStatus status);
+
+private slots:
+    void onNetworkStatusChanged(QSystemNetworkInfo::NetworkMode networkMode, QSystemNetworkInfo::NetworkStatus networkStatus);
+    void onNetworkNameChanged(QSystemNetworkInfo::NetworkMode networkMode,const QString &networkName);
+    void onCurrentProfileChanged(QSystemDeviceInfo::Profile profile);
+
+private:
+    QSystemNetworkInfo::NetworkStatus networkStatus();
+    void updateCurrentNetworkMode();
+    bool isConnected(QSystemNetworkInfo::NetworkMode mode);
+    void updateStatus();
+    QSystemDeviceInfo::SimStatus simStatus() const;
+private:
+
+    QSystemNetworkInfo *mNetworkInfo;
+    QSystemDeviceInfo *mDeviceInfo;
+    QSystemNetworkInfo::NetworkMode mCurrentNetworkMode;
+    HsDeviceInfoStatus mStatus;
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+
+#endif // 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hsimagefetcherclient.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef HSIMAGEFETCHERCLIENT_H
+#define HSIMAGEFETCHERCLIENT_H
+
+#include <QObject>
+
+#ifdef Q_OS_SYMBIAN
+#include <xqaiwrequest.h>
+#include <xqappmgr.h>
+#endif // Q_OS_SYMBIAN
+
+#include "hsutils_global.h"
+
+class HSUTILS_EXPORT HsImageFetcherClient : public QObject
+{
+    Q_OBJECT
+    
+public:
+    HsImageFetcherClient(QObject *parent = 0);
+    ~HsImageFetcherClient();
+    
+public slots:
+    void fetch();
+    
+private slots: 
+    // Aiw request responses
+    void handleOk(const QVariant &result);
+    void handleError(int errorCode, const QString &errorMessage);
+
+signals:
+    void fetchCompleted(const QString &imageFile);
+    void fetchFailed(int errorCode, const QString &errorMessage);
+
+private:
+    Q_DISABLE_COPY(HsImageFetcherClient)
+
+#ifdef Q_OS_SYMBIAN
+    XQApplicationManager mAppMgr;                
+    XQAiwRequest *mReq;
+#endif // Q_OS_SYMBIAN
+};
+
+#endif // HSIMAGEFETCHERCLIENT_H
--- a/homescreenapp/hsutils/inc/hsmenuevent.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/inc/hsmenuevent.h	Mon May 03 12:24:59 2010 +0300
@@ -41,10 +41,12 @@
         AddAppsToCollection,
         RemoveAppFromCollection,
         OpenApplicationLibrary,
+        OpenInstalledView,
         OpenHomeScreen,
         ArrangeCollection,
         CreateCollection,
         PreviewHSWidget,
+        ShowAppSettings,
         Unknown
     };
 
--- a/homescreenapp/hsutils/inc/hsmenueventfactory.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/inc/hsmenueventfactory.h	Mon May 03 12:24:59 2010 +0300
@@ -38,13 +38,7 @@
 
 public:
 
-    static QEvent *createAddToHomeScreenEvent(
-        int entryId,
-        const QString &entryTypeName = QString(),
-        const QString &uri = QString(),
-        const QString &library = QString(),
-        QMap<QString, QString>* attributes = NULL
-    );
+    static QEvent *createAddToHomeScreenEvent(int entryId);
 
     static QEvent *createOpenCollectionEvent(int itemId,
             const QString &collectionType);
@@ -58,6 +52,8 @@
     static QEvent *createOpenAppLibraryEvent(
         HsMenuMode menuMode = NormalHsMenuMode);
 
+    static QEvent *createOpenInstalledViewEvent();
+    
     static QEvent *createOpenHomeScreenEvent();
 
     static QEvent *createCollectionDeletedEvent();
@@ -82,6 +78,8 @@
         const QString &uri = QString(),
         const QString &library = QString()
     );
+    
+    static QEvent *createAppSettingsViewEvent(int entryId);    
 
     static QEvent *createUnknownEvent();
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hstitleresolver.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef HSTITLERESOLVER_H
+#define HSTITLERESOLVER_H
+
+#include <QObject>
+#include "hsdeviceinfolistener.h"
+#include "hsutils_global.h"
+#include "hstest_global.h"
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class HSUTILS_EXPORT HsTitleResolver : public QObject
+{
+    Q_OBJECT
+
+public:
+    HsTitleResolver(QObject *parent = 0);
+    ~HsTitleResolver();
+public:
+    QString title();
+signals:
+    void titleChanged(const QString &name);
+private slots:
+    void onNetworkNameChanged(const QString &name);
+    void onStatusChanged(HsDeviceInfoListener::HsDeviceInfoStatus status);
+private:
+    QString mOperatorName;
+    QString mOfflineText;
+    QString mNoServiceText;
+    HsDeviceInfoListener *mDeviceInfoListener;
+    HsDeviceInfoListener::HsDeviceInfoStatus mCurrentStatus;
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+
+#endif // HSTITLERESOLVER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/inc/hswallpaperhelper.h	Mon May 03 12:24:59 2010 +0300
@@ -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 wallpaper helper class.
+*
+*/
+
+#ifndef HSWALLPAPERHELPER_H
+#define HSWALLPAPERHELPER_H
+
+#include "hsutils_global.h"
+#include "hstest_global.h"
+
+HOMESCREEN_TEST_CLASS(t_hsUtils)
+
+class HSUTILS_EXPORT HsWallpaperHelper
+{	
+public:
+    static QImage processImage(const QString &sourcePath, 
+    						   const QRect &targetRect,
+    						   const QRect &sourceRect,
+    						   bool centerTarget = true);
+    
+private:  
+    HOMESCREEN_TEST_FRIEND_CLASS(t_hsUtils)
+};
+
+#endif // HSWALLPAPERHELPER_H
--- a/homescreenapp/hsutils/inc/hswidgetpositioningonorientationchange.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/inc/hswidgetpositioningonorientationchange.h	Mon May 03 12:24:59 2010 +0300
@@ -38,16 +38,6 @@
     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:
@@ -56,20 +46,4 @@
                           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
--- a/homescreenapp/hsutils/src/hsapptranslator.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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/hsdeviceinfolistener.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,220 @@
+/*
+* 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:
+*
+*/
+
+#include "hsdeviceinfolistener.h"
+#include <QDebug>
+
+#ifdef Q_OS_SYMBIAN
+#include <e32property.h>
+#include <startupdomainpskeys.h>
+#endif
+/*!
+
+*/
+HsDeviceInfoListener::HsDeviceInfoListener(QObject *parent)
+    : QObject(parent),
+      mCurrentNetworkMode(QSystemNetworkInfo::UnknownMode),
+      mStatus(NoService)
+{
+    mNetworkInfo = new QSystemNetworkInfo(this);
+    mDeviceInfo = new QSystemDeviceInfo(this);
+    
+    connect(mNetworkInfo, SIGNAL(networkStatusChanged(QSystemNetworkInfo::NetworkMode, QSystemNetworkInfo::NetworkStatus)), SLOT(onNetworkStatusChanged(QSystemNetworkInfo::NetworkMode, QSystemNetworkInfo::NetworkStatus)));
+    connect(mNetworkInfo, SIGNAL(networkNameChanged(QSystemNetworkInfo::NetworkMode,const QString &)), SLOT(onNetworkNameChanged(QSystemNetworkInfo::NetworkMode,const QString &)));
+    connect(mDeviceInfo, SIGNAL(currentProfileChanged(QSystemDeviceInfo::Profile)), SLOT(onCurrentProfileChanged(QSystemDeviceInfo::Profile)));
+    
+    updateCurrentNetworkMode();
+    updateStatus();
+}
+
+/*!
+
+*/
+HsDeviceInfoListener::~HsDeviceInfoListener()
+{
+}
+
+/*!
+
+*/
+QString HsDeviceInfoListener::operatorName() const
+{
+    return QSystemNetworkInfo::networkName(mCurrentNetworkMode);
+}
+
+/*!
+
+*/
+HsDeviceInfoListener::HsDeviceInfoStatus HsDeviceInfoListener::status() const
+{
+    return mStatus;
+}
+
+/*!
+
+*/
+void HsDeviceInfoListener::onNetworkStatusChanged(QSystemNetworkInfo::NetworkMode networkMode, QSystemNetworkInfo::NetworkStatus networkStatus)
+{
+    Q_UNUSED(networkMode);
+    Q_UNUSED(networkStatus);
+    updateCurrentNetworkMode();
+    updateStatus();
+}
+
+/*!
+
+*/
+void HsDeviceInfoListener::onNetworkNameChanged(QSystemNetworkInfo::NetworkMode networkMode,const QString &networkName)
+{
+    Q_UNUSED(networkMode);
+    updateCurrentNetworkMode();
+    if(mCurrentNetworkMode != QSystemNetworkInfo::UnknownMode) {
+        qDebug() << "HsDeviceInfoListener::onNetworkNameChanged() - " << networkName;
+        emit networkNameChanged(networkName);
+    }
+    updateStatus();
+}
+
+/*!
+
+*/
+void HsDeviceInfoListener::onCurrentProfileChanged(QSystemDeviceInfo::Profile profile)
+{
+    Q_UNUSED(profile);
+    updateStatus();
+}
+
+/*!
+
+*/
+QSystemNetworkInfo::NetworkStatus HsDeviceInfoListener::networkStatus()
+{
+    return mNetworkInfo->networkStatus(mCurrentNetworkMode);
+}
+
+/*!
+
+*/
+void HsDeviceInfoListener::updateCurrentNetworkMode()
+{
+    //We are keen only GSM and WCDMA network connections.
+    //Other networks (WLAN etc.) are treated as UnknowMode.
+    qDebug() << "HsDeviceInfoListener::updateCurrentNetworkMode() - Entry: mCurrentNetworkMode == "
+             << mCurrentNetworkMode;
+    if(isConnected(QSystemNetworkInfo::GsmMode)) {
+        mCurrentNetworkMode = QSystemNetworkInfo::GsmMode;
+    } else if (isConnected(QSystemNetworkInfo::WcdmaMode)) {
+        mCurrentNetworkMode = QSystemNetworkInfo::WcdmaMode;
+    } else {
+        mCurrentNetworkMode = QSystemNetworkInfo::UnknownMode;
+    }
+    qDebug() << "HsDeviceInfoListener::updateCurrentNetworkMode() - Exit: mCurrentNetworkMode == "
+             << mCurrentNetworkMode;
+}
+
+/*!
+
+*/
+bool HsDeviceInfoListener::isConnected(QSystemNetworkInfo::NetworkMode mode)
+{
+    bool connected = false;
+
+    qDebug() << "HsDeviceInfoListener::isConnected():";
+    qDebug() << "   - Mode:" << (mode == QSystemNetworkInfo::WcdmaMode ? "WcdmaMode" : "GsmMode");
+    QSystemNetworkInfo::NetworkStatus status = mNetworkInfo->networkStatus(mode);
+    switch (status) {
+        case QSystemNetworkInfo::Connected:
+            qDebug() << "   - Status: Connected";
+            //Fall through
+        case QSystemNetworkInfo::HomeNetwork:
+            qDebug() << "   - Status: HomeNetwork";
+            //Fall through
+        case QSystemNetworkInfo::Roaming:
+            qDebug() << "   - Status: Roaming";
+            connected = true;
+            break;
+        default:
+            qDebug() << "   - Status: " << status;
+            break;
+    };
+
+    qDebug() << "   - Is connected:" << connected;
+    
+    return connected;
+}
+
+/*!
+
+*/
+void HsDeviceInfoListener::updateStatus()
+{
+    qDebug() << "HsDeviceInfoListener::updateStatus() - Entry: mStatus == "
+             << mStatus;
+
+    HsDeviceInfoStatus currentStatus;
+    if ( mDeviceInfo->currentProfile() == QSystemDeviceInfo::OfflineProfile &&
+         simStatus() != QSystemDeviceInfo::SimNotAvailable) {
+        currentStatus = OfflineProfile;
+    } else if (mCurrentNetworkMode == QSystemNetworkInfo::UnknownMode) {
+        currentStatus = NoService;
+    } else {
+        currentStatus = ServiceAvailable;
+    }
+
+    if(mStatus != currentStatus) {
+        mStatus = currentStatus;
+        emit statusChanged(mStatus);
+    }
+    qDebug() << "HsDeviceInfoListener::updateStatus() - Exit: mStatus == "
+             << mStatus;
+}
+
+/*!
+
+*/
+QSystemDeviceInfo::SimStatus HsDeviceInfoListener::simStatus() const
+{
+    QSystemDeviceInfo::SimStatus qtSimStatus = QSystemDeviceInfo::SimNotAvailable;
+
+#ifdef Q_OS_SYMBIAN
+    TInt simCardStatus(ESimNotPresent);
+    RProperty symbianSimStatus;
+    qt_symbian_throwIfError( symbianSimStatus.Attach( KPSUidStartup, KPSSimStatus ) );
+    qt_symbian_throwIfError( symbianSimStatus.Get( simCardStatus ) );
+    symbianSimStatus.Close();
+    
+    switch (simCardStatus) {
+        case ESimUsable:
+            // The Sim card is fully usable.
+            qtSimStatus = QSystemDeviceInfo::SingleSimAvailable;
+            qDebug() << "HsDeviceInfoListener::simStatus() - SingleSimAvailable";
+            break;
+        default:
+            //ESimReadable == The SIM card is not fully usable, but the emergency number can be read.
+            //ESimNotReady == The Sim card is present but not ready or usable.
+            //ESimNotPresent == The Sim card is not present.
+            //ESimNotSupported == SIM/RUIM is not supported. Some CDMA phones do not support a SIM/RUIM at all.
+            qtSimStatus = QSystemDeviceInfo::SimNotAvailable;
+            qDebug() << "HsDeviceInfoListener::simStatus() - SimNotAvailable";
+            break;
+    };
+#else
+    qtSimStatus = mDeviceInfo->simStatus();
+#endif
+
+    return qtSimStatus;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hsimagefetcherclient.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Photos image fetcher client.
+*
+*/
+
+
+#include "hsimagefetcherclient.h"
+
+#include <QDir>
+#include <QDebug>
+#include <QVariant>
+#ifdef Q_OS_SYMBIAN
+#include <xqaiwinterfacedescriptor.h>
+#endif // Q_OS_SYMBIAN
+
+namespace
+{
+    const char gFetcherService[] = "com.nokia.services.media";
+    const char gFetcherInterface[] = "image";
+    const char gFetcherOperation[] = "fetch(QVariantMap,QVariant)";
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+#ifdef Q_OS_SYMBIAN
+HsImageFetcherClient::HsImageFetcherClient(QObject *parent)
+  : QObject(parent),
+    mReq(0)
+{
+}
+#else
+HsImageFetcherClient::HsImageFetcherClient(QObject *parent)
+  : QObject(parent)
+{
+}
+#endif // Q_OS_SYMBIAN   
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+HsImageFetcherClient::~HsImageFetcherClient()
+{
+#ifdef Q_OS_SYMBIAN
+    delete mReq;
+#endif // Q_OS_SYMBIAN   
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsImageFetcherClient::fetch()
+{
+#ifdef Q_OS_SYMBIAN
+    qDebug() << "HsImageFetcherClient::fetch START";    
+  
+    if (mReq) {
+        delete mReq;
+        mReq = 0;
+    }
+  
+    mReq = mAppMgr.create(gFetcherInterface, gFetcherOperation, false);
+    if (mReq) {
+        // Connect signals once
+        connect(mReq, SIGNAL(requestOk(const QVariant&)), this, SLOT(handleOk(const QVariant&)));
+        connect(mReq, SIGNAL(requestError(int,const QString&)), this, SLOT(handleError(int,const QString&)));
+    } else {
+        qCritical() << "HsImageFetcherClient::fetch -> Create request failed";
+        return;
+    } 
+
+    if (!(mReq)->send()) {
+        qCritical() << "HsImageFetcherClient::fetch -> Send failed" << mReq->lastErrorMessage();;
+    }
+
+    qDebug() << "HsImageFetcherClient::fetch END";
+#endif // Q_OS_SYMBIAN        
+}
+
+
+
+// Aiw request responses
+void HsImageFetcherClient::handleOk(const QVariant &result)
+{
+#ifdef Q_OS_SYMBIAN
+    // disconnect error signal as it will give -4999 (EConnectionClosed) error afterwards even though image
+    // is fetched successfully
+    disconnect(mReq, SIGNAL(requestError(int,const QString&)), this, SLOT(handleError(int,const QString&)));
+        
+    XQAiwRequest *request = static_cast<XQAiwRequest *>(sender());
+    int implementationId=-1;
+    implementationId = (request->descriptor().property(XQAiwInterfaceDescriptor::ImplementationId)).toInt();
+    
+    if (result.canConvert<QString>()) {
+        qDebug("HsImageFetcherClient::%x:handleOk result=%s,%s",
+               implementationId,
+               result.typeName(),
+               qPrintable(result.value<QString>()));
+            
+        emit fetchCompleted(result.value<QString>());
+    } else if (result.canConvert<QStringList>()) {
+        QStringList resultList = result.value<QStringList>();
+	    if (resultList.size() > 0) {
+	        //for debug
+	        QString msg = QString("HsImageFetcherClient::handleOk, size=")+QString::number( resultList.size() )+QString("\n");
+	        for (int i(0), size(resultList.size()); i < size; ++i) {
+                msg += QString::number(i) + QString(":") + resultList[i] + QString("\n");
+	        }	        
+	        qDebug()<<msg;
+		}
+        emit fetchCompleted(resultList[0]);
+	} else {
+        qCritical("AppMgrClient::%x:handleOk result=%s. Not displayable",
+            implementationId,
+            result.typeName());
+        emit fetchFailed(-1, QString());
+    }
+#else
+	Q_UNUSED(result)
+#endif // Q_OS_SYMBIAN     
+}
+  
+void HsImageFetcherClient::handleError(int errorCode, const QString &errorMessage)
+{
+#ifdef Q_OS_SYMBIAN
+    XQAiwRequest *request = static_cast<XQAiwRequest *>(sender());
+    int implementationId = -1;
+    implementationId = (request->descriptor().property(XQAiwInterfaceDescriptor::ImplementationId)).toInt();
+    
+    qCritical("HsImageFetcherClient::%x:handleError code=%d, errorMessage:%s",
+        implementationId, errorCode, qPrintable(errorMessage));
+    emit fetchFailed(errorCode, errorMessage);
+#else
+	Q_UNUSED(errorCode)
+	Q_UNUSED(errorMessage)
+#endif // Q_OS_SYMBIAN     
+}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- a/homescreenapp/hsutils/src/hsmenuevent.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hsmenuevent.cpp	Mon May 03 12:24:59 2010 +0300
@@ -20,7 +20,7 @@
 
 /*!
     \class HsMenuEvent
-    \ingroup group_hsmenustateplugin
+    \ingroup group_hsutils
     \brief Represents class of events in menu application state machine.
 
     \sa HsMenuEventFactory
--- a/homescreenapp/hsutils/src/hsmenueventfactory.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hsmenueventfactory.cpp	Mon May 03 12:24:59 2010 +0300
@@ -22,7 +22,7 @@
 
 /*!
     \class HsMenuEventFactory
-    \ingroup group_hsmenustateplugin
+    \ingroup group_hsutils
 
     \brief Menu event factory class.
 
@@ -44,44 +44,11 @@
     \param attributes Widget params.
     \return Event for adding the widget to homescreen.
 */
-QEvent *HsMenuEventFactory::createAddToHomeScreenEvent(
-    int entryId,
-    const QString &entryTypeName,
-    const QString &uri,
-    const QString &library,
-    QMap<QString, QString>* attributes)
+QEvent *HsMenuEventFactory::createAddToHomeScreenEvent(int entryId)
 {
     // get CaEntry type, and if widget get uri and library stored as properties...
     QVariantMap params;
-    QVariantMap widgetParams;
-
     params.insert(itemIdKey(), entryId);
-
-    if (entryTypeName == widgetTypeName() || entryTypeName == templatedApplicationTypeName()) {
-        params.insert(
-            widgetUriAttributeName(),
-            uri);
-
-        params.insert(
-            widgetLibraryAttributeName(),
-            library);
-
-        params.insert(entryTypeNameKey(), entryTypeName);
-        
-        if (entryTypeName == templatedApplicationTypeName()) {
-            QMapIterator<QString, QString> i(*attributes);
-            while (i.hasNext()) {
-                i.next();
-                QString key(i.key());
-                QString value(i.value());
-                if (key.contains(widgetParam())) {
-                    widgetParams.insert(key,value);
-                }
-            }
-            params.insert(widgetParam(),widgetParams);
-        }
-    }
-
     return new HsMenuEvent(HsMenuEvent::AddToHomeScreen, params);
 }
 
@@ -153,6 +120,16 @@
 }
 
 /*!
+    Creates an HsMenuEvent::OpenApplicationLibrary event.
+
+    \return Open Applications Library event.
+ */
+QEvent *HsMenuEventFactory::createOpenInstalledViewEvent()
+{
+	return new HsMenuEvent(HsMenuEvent::OpenInstalledView);
+}
+
+/*!
     Creates an HsMenuEvent::OpenHomeScreen event.
 
     \return Open HomeScreen event.
@@ -274,6 +251,19 @@
 }
 
 /*!
+    Creates an HsMenuEvent::ShowAppSettings event.
+    \param entryId Id of an item.
+    \return Event for view the Application Settings.
+*/
+QEvent *HsMenuEventFactory::createAppSettingsViewEvent(int entryId)
+{
+    QVariantMap params;
+    params.insert(itemIdKey(), entryId);
+
+    return new HsMenuEvent(HsMenuEvent::ShowAppSettings, params);
+}
+
+/*!
     Creates an HsMenuEvent::Unknown event.
 
     \return Unknown event.
--- a/homescreenapp/hsutils/src/hsmenueventtransition.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hsmenueventtransition.cpp	Mon May 03 12:24:59 2010 +0300
@@ -21,7 +21,7 @@
 
 /*!
     \class HsMenuEventTransition
-    \ingroup group_hsmenustateplugin
+    \ingroup group_hsutils
     \brief Transition that happens when specifc event occurs.
 
     \sa HsMenuEvent
--- a/homescreenapp/hsutils/src/hspageindicator.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hspageindicator.cpp	Mon May 03 12:24:59 2010 +0300
@@ -136,8 +136,9 @@
     layout->setSpacing(8);
     layout->addStretch();
     foreach (HsPageIndicatorItem *item, mItems) {
+        item->setPreferredSize(preferredHeight(), preferredHeight());
         layout->addItem(item);
-    }
+    }    
     layout->addStretch();
     setLayout(layout);
 }
--- a/homescreenapp/hsutils/src/hspageindicatoritem.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hspageindicatoritem.cpp	Mon May 03 12:24:59 2010 +0300
@@ -87,7 +87,6 @@
     return mIsActive;
 }
 
-
 /*!
 
 */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hstitleresolver.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* 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:
+*
+*/
+
+#include <QDebug>
+#include <QGraphicsLinearLayout>
+#include <HbTextItem>
+
+#include "hstitleresolver.h"
+#include "hsdeviceinfolistener.h"
+#include <QDebug>
+
+namespace
+{
+    //Offline text in home screen view title
+    const char hsLocTextId_Title_Offline[] = "txt_homescreen_title_offline";
+    
+    //Text in home screen view title, when device is out of network coverage or no SIM card present
+    const char hsLocTextId_Title_NoService[] = "txt_homescreen_title_no_service";
+}
+
+/*!
+
+*/
+HsTitleResolver::HsTitleResolver(QObject *parent)
+    : QObject(parent),
+      mCurrentStatus(HsDeviceInfoListener::NoService)
+{
+    mDeviceInfoListener = new HsDeviceInfoListener(this);
+    mOperatorName = mDeviceInfoListener->operatorName();
+    mOfflineText = hbTrId(hsLocTextId_Title_Offline);
+    mNoServiceText = hbTrId(hsLocTextId_Title_NoService);
+    
+    connect(mDeviceInfoListener, SIGNAL(networkNameChanged(QString)), SLOT(onNetworkNameChanged(QString)));
+    connect(mDeviceInfoListener, SIGNAL(statusChanged(HsDeviceInfoListener::HsDeviceInfoStatus)), SLOT(onStatusChanged(HsDeviceInfoListener::HsDeviceInfoStatus)));
+    mCurrentStatus = mDeviceInfoListener->status();
+}
+
+/*!
+
+*/
+HsTitleResolver::~HsTitleResolver()
+{
+}
+
+/*!
+
+*/
+QString HsTitleResolver::title()
+{
+    QString titleText;
+    switch (mCurrentStatus) {
+        case HsDeviceInfoListener::NoService:
+            titleText = mNoServiceText;
+            break;
+        case HsDeviceInfoListener::OfflineProfile:
+            titleText = mOfflineText;
+            break;
+        default:
+            if(mOperatorName.isEmpty()) {
+                //Sometimes devicelistener has not get operatorNameChanged signal when
+                //profile is changed from Offline to another which has active connections.
+                mOperatorName = mDeviceInfoListener->operatorName();
+            }
+            titleText = mOperatorName;
+            break;
+    };
+    qDebug() << "HsTitleResolver::title() - " << titleText;    
+    return titleText;
+}
+
+/*!
+
+*/
+void HsTitleResolver::onNetworkNameChanged(const QString& name)
+{
+    qDebug() << "HsTitleResolver::onNetworkNameChanged() - Entry";
+    if (mOperatorName != name && (mCurrentStatus == HsDeviceInfoListener::ServiceAvailable)) {
+        qDebug() << "HsTitleResolver::onNetworkNameChanged() - Emitting: " << name;
+        mOperatorName = name;
+        emit titleChanged(name);
+    }
+    qDebug() << "HsTitleResolver::onNetworkNameChanged() - Exit";
+}
+
+/*!
+
+*/
+void HsTitleResolver::onStatusChanged(HsDeviceInfoListener::HsDeviceInfoStatus status)
+{   
+    qDebug() << "HsTitleResolver::onStatusChanged() - Entry";
+    if (mCurrentStatus != status) {
+        mCurrentStatus = status;
+        qDebug() << "HsTitleResolver::onStatusChanged() - Emitting: " << title();
+        emit titleChanged(title());
+    }
+    qDebug() << "HsTitleResolver::onStatusChanged() - Exit";
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/hsutils/src/hswallpaperhelper.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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 wallpaper helper class.
+*
+*/
+
+#include <QString>
+#include <QImageReader>
+
+#include "hswallpaperhelper.h"
+
+
+/*!
+    \class HsWallpaperHelper
+    \ingroup group_hsapplication
+    \brief Homescreen wallpaper helper class.
+    Implements image scaling and cropping services. 
+*/
+
+/*!
+    \internal
+    Scales and crops (if needed) \a sourcePath image using \a targetRect. 
+    Centers target rect automatically if a\ centerTarget is true.
+    Pass empty a\ sourceRect to use full size source image as starting point. 
+    Returns processed image or null image if operation fails.
+*/
+QImage HsWallpaperHelper::processImage(const QString &sourcePath,
+                                       const QRect &targetRect,
+                                       const QRect &sourceRect,
+                                       bool centerTarget) 
+{
+    QImageReader imageReader(sourcePath);
+    
+    QRect tempTargetRect = targetRect;
+    QRect tempSourceRect = sourceRect;
+    
+    if (imageReader.canRead()) {
+        QSize sourceSize = imageReader.size();
+        if (tempSourceRect.isEmpty()) {
+            // If sourceRect not defined, uses full size image as source.
+            tempSourceRect.setRect(0, 0, sourceSize.width(), sourceSize.height());
+        }
+        sourceSize.scale(tempTargetRect.width(), tempTargetRect.height(), 
+            Qt::KeepAspectRatioByExpanding);
+        imageReader.setScaledSize(sourceSize);
+
+        if (centerTarget) {
+            tempTargetRect.moveCenter(QPoint(sourceSize.width() / 2, sourceSize.height() / 2));
+        }
+        imageReader.setScaledClipRect(tempTargetRect);
+        
+        return imageReader.read();
+    }
+    return QImage(); // returns null QImage
+}
--- a/homescreenapp/hsutils/src/hswidgetpositioningonorientationchange.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/hsutils/src/hswidgetpositioningonorientationchange.cpp	Mon May 03 12:24:59 2010 +0300
@@ -59,45 +59,6 @@
 */
 
 /*!
-    \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.
 
@@ -127,151 +88,59 @@
     const QRectF &toRect)
 {
     QList<QRectF> toGeometries;
-	// check if moving from landscape to portrait
-    if ( fromRect.width() > fromRect.height() ) {
+
+    // Portrait -> Landscape
+    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());
+            
+            QRectF tg(g.topLeft() - fromRect.topLeft(), g.size());
+            
+            qreal x = tg.center().x() / fromRect.width();
+            qreal y = tg.center().y() / (fromRect.height() / 2);
+
+            if (y < 1) {
+                x *= toRect.width() / 2;
+                y *= toRect.height();
             } 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());
+                x *= toRect.width() / 2;
+                x += toRect.width() / 2;
+                y -= 1;
+                y *= toRect.height();
             }
-            g.moveCenter(QPointF(x, y));
-            toGeometries << g;
+            
+            x = qBound(g.width() / 2, x, toRect.width() - g.width() / 2);
+            y = qBound(g.height() / 2, y, toRect.height() - g.height() / 2);
+
+            g.moveCenter(QPointF(x, y) + toRect.topLeft());
+
+            toGeometries.append(g);
         }
-    }
-    else {  // moving from portrait to landscape
+    } else { // Landscape -> Portrait
         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());
+            
+            QRectF tg(g.topLeft() - fromRect.topLeft(), g.size());
+            
+            qreal x = tg.center().x() / (fromRect.width() / 2);
+            qreal y = tg.center().y() / fromRect.height();
+
+            if (x < 1) {
+                x *= toRect.width();
+                y *= toRect.height() / 2;
             } 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());
+                x -= 1;
+                x += toRect.width();
+                y *= toRect.height() / 2;
+                y += toRect.height() / 2;
             }
-            g.moveCenter(QPointF(x, y));
-            toGeometries << g;
+            
+            x = qBound(g.width() / 2, x, toRect.width() - g.width() / 2);
+            y = qBound(g.height() / 2, y, toRect.height() - g.height() / 2);
+
+            g.moveCenter(QPointF(x, y) + toRect.topLeft());
+
+            toGeometries.append(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
--- a/homescreenapp/inc/hsapp_defs.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/inc/hsapp_defs.h	Mon May 03 12:24:59 2010 +0300
@@ -40,6 +40,11 @@
 inline const QString urlEntryKey();
 inline const QString defaultCollectionIconId();
 inline const QString menuModeType();
+inline const QString swTypeKey();
+inline const QString javaSwType();
+inline const QString packageTypeName();
+inline const QString appSettingsPlugin();
+inline const QString groupNameAttributeName();
 
 // Sort attribute
 enum HsSortAttribute {
@@ -56,13 +61,15 @@
     AddHsMenuMode
 };
 
-const int taskSwitcherUid  = 0x2002677D;
-const int taskSwitcherPropertyValue = 1;
+const char TS_DEVICE_DIALOG_URI[] = 
+    "com.nokia.taskswitcher.tsdevicedialogplugin/1.0";
 
 const char LIBRARY[] = "library";
 const char URI[] = "uri";
 const char PREFERENCES[] = "preferences";
 
+const int softwareUpdateApplicationUid  = 0x2001FE2F;
+
 #include "hsapp_defs.inl"
 
 #endif
--- a/homescreenapp/inc/hsapp_defs.inl	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/inc/hsapp_defs.inl	Mon May 03 12:24:59 2010 +0300
@@ -226,4 +226,50 @@
     return name;
 }
 
+/*!
+    \return sw type key
+*/
+inline const QString swTypeKey()
+{
+    static const QString key("apptype");
+    return key;
+}
+
+/*!
+    \return package entry type name
+*/
+inline const QString packageTypeName()
+{
+    static const QString name("package");
+    return name;
+}
+
+/*!
+    \return java sw type
+*/
+inline const QString javaSwType()
+{
+    static const QString value("java");
+    return value;
+}
+
+/*!
+    \return application settings plugin
+*/
+inline const QString appSettingsPlugin()
+{
+    static const QString key("app_settings_plugin");
+    return key;
+}
+
+/*!
+    \return application group name
+*/
+inline const QString groupNameAttributeName()
+{
+    static const QString key("appgroup_name");
+    return key;
+}
+
+
 #endif
--- a/homescreenapp/rom/homescreenapp_core.iby	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/rom/homescreenapp_core.iby	Mon May 03 12:24:59 2010 +0300
@@ -20,93 +20,84 @@
 
 // ---- 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\homescreen.db                                private\20022f35\homescreen.db
-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
+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\homescreen.db                      private\20022f35\homescreen.db
+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
 
 // ---- hsutils --------------------------------------------
 
-file=ABI_DIR\BUILD_DIR\hsutils.dll                                  SHARED_LIB_DIR\hsutils.dll
+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
+file=ABI_DIR\BUILD_DIR\hsdomainmodel.dll  SHARED_LIB_DIR\hsdomainmodel.dll
 
 // -------- hshomescreenclientplugin
-file=ABI_DIR\BUILD_DIR\hshomescreenclientplugin.dll                 SHARED_LIB_DIR\hshomescreenclientplugin.dll
-data=\epoc32\data\z\hsresources\plugins\homescreenclientplugin\hshomescreenclientplugin.qtplugin    hsresources\plugins\homescreenclientplugin\hshomescreenclientplugin.qtplugin
-data=\epoc32\data\z\hsresources\plugins\homescreenclientplugin\hshomescreenclientplugin.xml    hsresources\plugins\homescreenclientplugin\hshomescreenclientplugin.xml
+file=ABI_DIR\BUILD_DIR\hshomescreenclientplugin.dll                        SHARED_LIB_DIR\hshomescreenclientplugin.dll
+data=\epoc32\data\z\resource\qt\plugins\hshomescreenclientplugin.qtplugin  resource\qt\plugins\hshomescreenclientplugin.qtplugin
+data=ZPRIVATE\20022f35\hshomescreenclientplugin.xml                        private\20022f35\hshomescreenclientplugin.xml
 
 // ---- 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
+file=ABI_DIR\BUILD_DIR\hsdefaultruntimeplugin.dll                              SHARED_LIB_DIR\hsdefaultruntimeplugin.dll
+data=ZPRIVATE\20022f35\plugins\runtimeplugins\hsdefaultruntimeplugin.qtplugin  private\20022f35\plugins\runtimeplugins\hsdefaultruntimeplugin.qtplugin
+data=ZPRIVATE\20022f35\plugins\runtimeplugins\hsdefaultruntimeplugin.xml       private\20022f35\plugins\runtimeplugins\hsdefaultruntimeplugin.xml
 
 // ---- serviceproviders --------------------------------------------
 
 // -------- hsmenuserviceprovider
-file=ABI_DIR\BUILD_DIR\hsmenuserviceprovider.dll                                        SHARED_LIB_DIR\hsmenuserviceprovider.dll
+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
+file=ABI_DIR\BUILD_DIR\hsapplibrarystateplugin.dll                            SHARED_LIB_DIR\hsapplibrarystateplugin.dll
+data=ZPRIVATE\20022f35\plugins\stateplugins\hsapplibrarystateplugin.qtplugin  private\20022f35\plugins\stateplugins\hsapplibrarystateplugin.qtplugin
+data=ZPRIVATE\20022f35\plugins\stateplugins\hsapplibrarystateplugin.xml       private\20022f35\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
+file=ABI_DIR\BUILD_DIR\hshomescreenstateplugin.dll                            SHARED_LIB_DIR\hshomescreenstateplugin.dll
+data=ZPRIVATE\20022f35\plugins\stateplugins\hshomescreenstateplugin.qtplugin  private\20022f35\plugins\stateplugins\hshomescreenstateplugin.qtplugin
+data=ZPRIVATE\20022f35\plugins\stateplugins\hshomescreenstateplugin.xml       private\20022f35\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
+file=ABI_DIR\BUILD_DIR\hsmenuworkerstateplugin.dll                            SHARED_LIB_DIR\hsmenuworkerstateplugin.dll
+data=ZPRIVATE\20022f35\plugins\stateplugins\hsmenuworkerstateplugin.qtplugin  private\20022f35\plugins\stateplugins\hsmenuworkerstateplugin.qtplugin
+data=ZPRIVATE\20022f35\plugins\stateplugins\hsmenuworkerstateplugin.xml       private\20022f35\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
+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
+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
+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
 
 // ---- IMenuClient --------------------------------------------
 
-// -------- hsmenucontentpublish
-file=ABI_DIR\BUILD_DIR\hsmenucontentpublish.dll                                            	  SHARED_LIB_DIR\hsmenucontentpublish.dll 
-data=\epoc32\data\z\hsresources\plugins\hsmenucontentpublishplugin\hsmenucontentpublish.qtplugin       hsresources\plugins\hsmenucontentpublishplugin\hsmenucontentpublish.qtplugin
-data=\epoc32\data\z\hsresources\plugins\hsmenucontentpublishplugin\hsmenucontentpublish.xml      hsresources\plugins\hsmenucontentpublishplugin\hsmenucontentpublish.xml
+// -------- hsmenuclientplugin
+file=ABI_DIR\BUILD_DIR\hsmenuclientplugin.dll                           SHARED_LIB_DIR\hsmenuclientplugin.dll 
+data=\epoc32\data\z\resource\qt\plugins\hsmenuclientplugin.qtplugin     resource\qt\plugins\hsmenuclientplugin.qtplugin
+data=ZPRIVATE\20022f35\hsmenuclientplugin.xml                           private\20022f35\hsmenuclientplugin.xml
 
 
 #endif //__HOMESCREENAPP_CORE_IBY__
--- a/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -18,13 +18,15 @@
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework publishsubscribe
 
-PLUGIN_SUBDIR = /hsresources/plugins/runtimeplugins
+RESOURCES += hsdefaultruntimeplugin.qrc
+
+PLUGIN_SUBDIR = /private/20022F35/plugins/runtimeplugins
 
 include (../../common.pri)
 
 LIBS += -lhsdomainmodel \
         -lhsutils
-
+        
 QT += xml sql
 
 DEPENDPATH += ./inc \
@@ -35,7 +37,7 @@
 
 symbian: {
     TARGET.UID3 = 0x20022F3E
-    appkey:DEFINES += S60APP_KEY
+    LIBS += -lxqkeycapture
 }
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/hsdefaultruntimeplugin.qrc	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,5 @@
+<RCC>
+    <qresource>
+        <file>resource/tapandhold.axml</file>
+    </qresource>
+</RCC>
--- a/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntime.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/inc/hsdefaultruntime.h	Mon May 03 12:24:59 2010 +0300
@@ -21,6 +21,10 @@
 #include <QStateMachine>
 #include <qmobilityglobal.h>
 
+#ifdef Q_OS_SYMBIAN
+#include <xqkeycapture.h>
+#endif
+
 #ifndef HSDEFAULTRUNTIMEPLUGIN_UNITTEST
 	#define TEST_CLASS_FWD
 	#define TEST_FRIEND
@@ -55,6 +59,8 @@
 private:
     Q_DISABLE_COPY(HsDefaultRuntime)
 
+    void registerAnimations();
+
     void createStatePublisher();
     void createContentServiceParts();
     void createStates();
@@ -72,6 +78,10 @@
 	bool mIdleStateActive;
 
 	QValueSpacePublisher *mPublisher;
+	
+#ifdef Q_OS_SYMBIAN
+    XqKeyCapture keyCapture;
+#endif
     
     TEST_FRIEND
 };
--- a/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/resource/hsdefaultruntimeplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?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.symbian.IHomeScreenRuntime</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/tapandhold.axml	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,14 @@
+<animations>
+    <icon name="tapandhold_animation" playmode="playonce">
+      <frame duration="200">qtg_anim_longtap_0</frame>
+      <frame duration="16">qtg_anim_longtap_1</frame>
+      <frame duration="16">qtg_anim_longtap_2</frame>
+      <frame duration="16">qtg_anim_longtap_3</frame>
+      <frame duration="16">qtg_anim_longtap_4</frame>
+      <frame duration="16">qtg_anim_longtap_5</frame>
+      <frame duration="16">qtg_anim_longtap_6</frame>
+      <frame duration="16">qtg_anim_longtap_7</frame>
+      <frame duration="16">qtg_anim_longtap_8</frame>
+      <frame duration="16">qtg_anim_longtap_9</frame>
+    </icon>
+ </animations>
--- a/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntime.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/runtimeplugins/hsdefaultruntimeplugin/src/hsdefaultruntime.cpp	Mon May 03 12:24:59 2010 +0300
@@ -19,6 +19,7 @@
 #include <QFinalState>
 #include <QSignalTransition>
 #include <QKeyEventTransition>
+#include <QKeyEvent>
 
 #include <qvaluespacepublisher.h>
 #include <qservicemanager.h>
@@ -26,6 +27,8 @@
 #include <qserviceinterfacedescriptor.h>
 
 #include <HbInstance>
+#include <HbIconAnimationManager>
+#include <HbIconAnimationDefinition>
 
 #include "homescreendomainpskeys.h"
 #include "hsdefaultruntime.h"
@@ -39,12 +42,22 @@
 
 QTM_USE_NAMESPACE
 
-#ifdef S60APP_KEY
-int applicationKey = Qt::Key_Launch0;
+
+#ifdef Q_OS_SYMBIAN
+const static Qt::Key applicationKey = Qt::Key_Menu;
 #else
-int applicationKey = Qt::Key_Any;
+const static Qt::Key applicationKey = Qt::Key_Home;
 #endif
 
+namespace
+{
+    const char KHsLoadSceneStateInterface[] = "com.nokia.homescreen.state.HsLoadSceneState";
+    const char KHsIdleStateInterface[] = "com.nokia.homescreen.state.HsIdleState";
+    const char KHsAppLibraryStateInterface[] = "com.nokia.homescreen.state.HsAppLibraryState";
+    const char KHsMenuWorkerStateInterface[] = "com.nokia.homescreen.state.HsMenuWorkerState";
+}
+
+
 /*!
     \class HsDefaultRuntime
     \ingroup group_hsdefaultruntimeplugin
@@ -65,6 +78,9 @@
 	  mHomeScreenActive(false),
 	  mIdleStateActive(false),
 	  mPublisher(NULL)
+#ifdef Q_OS_SYMBIAN
+	  ,keyCapture()
+#endif
 {
     HSTEST_FUNC_ENTRY("HS::HsDefaultRuntime::HsDefaultRuntime");
 
@@ -73,7 +89,7 @@
 #ifdef Q_OS_SYMBIAN
     db->setDatabaseName("c:/private/20022f35/homescreen.db");
 #else
-    db->setDatabaseName("homescreen.db");
+    db->setDatabaseName("private/20022f35/homescreen.db");
 #endif    
     db->open();
     HsDatabase::setInstance(db);
@@ -83,6 +99,8 @@
 
     HsWidgetPositioningOnWidgetAdd::setInstance(
         new HsAnchorPointInBottomRight);
+    
+    registerAnimations();
 
     createStatePublisher();
     createContentServiceParts();
@@ -116,22 +134,42 @@
 
     switch (event->type()) {
 		case QEvent::ApplicationActivate:
-		{			
-			qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationActivate";
-			mHomeScreenActive = true;
-			updatePSKeys();
-		}
-		break;
+            qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationActivate";
+#ifdef Q_OS_SYMBIAN
+			keyCapture.captureKey(applicationKey);
+#endif
+            mHomeScreenActive = true;
+            updatePSKeys();
+            break;
 		case QEvent::ApplicationDeactivate:
-		{		
-			qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationDeactivate";
+            qDebug() << "HsDefaultRuntime::eventFilter: QEvent::ApplicationDeactivate";
+#ifdef Q_OS_SYMBIAN
+			keyCapture.cancelCaptureKey(applicationKey);
+#endif
 			mHomeScreenActive = false;
-            updatePSKeys();			
-		}
-		break;
+            updatePSKeys();
+            break;
+        default:
+            break;
 	}
-    
-	return QStateMachine::eventFilter(watched, event);
+   
+    bool result =  QStateMachine::eventFilter(watched, event);
+    // temporary hack as we should not register twice for events
+	if (event->type() == QEvent::KeyPress ) {
+        QKeyEvent* ke = static_cast<QKeyEvent *>(event);         
+        // Key_Launch0 should be removed when QT starts to send Key_Menu
+        result = (ke->key() == applicationKey) || ke->key() == Qt::Key_Launch0;        
+	}
+	return result;
+}
+
+/*!
+    Registers framework animations.
+*/
+void HsDefaultRuntime::registerAnimations()
+{
+    HbIconAnimationManager *manager = HbIconAnimationManager::global();
+    manager->addDefinitionFile(QLatin1String(":/resource/tapandhold.axml"));
 }
 
 /*!
@@ -178,25 +216,16 @@
 
     QServiceManager manager;
 
-    QServiceFilter filter;
-
-    filter.setInterface("com.nokia.homescreen.state.HsLoadSceneState");
-#ifdef HSDEFAULTRUNTIMEPLUGIN_UNITTEST
-    filter.setServiceName("mockstateplugins");
-#endif    
-    QList<QServiceInterfaceDescriptor> interfaces = manager.findInterfaces(filter);
-
-    QObject *loadSceneStateObj = manager.loadInterface(interfaces.first());
+    
+    QObject *loadSceneStateObj = manager.loadInterface(KHsLoadSceneStateInterface);
     QState *loadSceneState = qobject_cast<QState *>(loadSceneStateObj);
     loadSceneState->setParent(guiRootState);
-    loadSceneState->setObjectName(interfaces.first().interfaceName());
+    loadSceneState->setObjectName(KHsLoadSceneStateInterface);
 
-    filter.setInterface("com.nokia.homescreen.state.HsIdleState");
-    interfaces = manager.findInterfaces(filter);
-    QObject *idleStateObj = manager.loadInterface(interfaces.first());
+    QObject *idleStateObj = manager.loadInterface(KHsIdleStateInterface);
     QState *idleState = qobject_cast<QState *>(idleStateObj);
     idleState->setParent(guiRootState);
-    idleState->setObjectName(interfaces.first().interfaceName());
+    idleState->setObjectName(KHsIdleStateInterface);
 	connect(idleState, SIGNAL(entered()), SLOT(onIdleStateEntered()));
 	connect(idleState, SIGNAL(exited()), SLOT(onIdleStateExited()));
 
@@ -208,20 +237,16 @@
             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());
+    QObject *appLibraryStateObj = manager.loadInterface(KHsAppLibraryStateInterface);
     QState *appLibraryState = qobject_cast<QState *>(appLibraryStateObj);
     appLibraryState->setParent(menuRootState);
-    appLibraryState->setObjectName(interfaces.first().interfaceName());
+    appLibraryState->setObjectName(KHsAppLibraryStateInterface);
     menuRootState->setInitialState(appLibraryState);
 
-    filter.setInterface("com.nokia.homescreen.state.HsMenuWorkerState");
-    interfaces = manager.findInterfaces(filter);
-    QObject *menuWorkerStateObj = manager.loadInterface(interfaces.first());
+    QObject *menuWorkerStateObj = manager.loadInterface(KHsMenuWorkerStateInterface);
     QState *menuWorkerState = qobject_cast<QState *>(menuWorkerStateObj);
     menuWorkerState->setParent(menuParallelState);
-    menuWorkerState->setObjectName(interfaces.first().interfaceName());
+    menuWorkerState->setObjectName(KHsMenuWorkerStateInterface);
 
     // root state transitions
     idleState->addTransition(idleState, SIGNAL(event_applicationLibrary()), menuRootState);
@@ -243,15 +268,29 @@
     // key driven transition from idle to menu
     QKeyEventTransition *idleToMenuRootTransition =
         new QKeyEventTransition(
-                window, QEvent::KeyRelease, applicationKey, idleState);
+                window, QEvent::KeyPress, applicationKey);
     idleToMenuRootTransition->setTargetState(menuRootState);
     idleState->addTransition(idleToMenuRootTransition);
     // key driven transition from menu to idle
     QKeyEventTransition *menuToIdleTransition =
         new QKeyEventTransition(
-                window, QEvent::KeyRelease, applicationKey, idleState);
+                window, QEvent::KeyPress, applicationKey);
     menuToIdleTransition->setTargetState(idleState);
     menuRootState->addTransition(menuToIdleTransition);
+    
+    // transition for Key_Launch0 should be removed 
+    // when OT starts to send Key_Menu (maybe wk14)
+    QKeyEventTransition *idleToMenuRootTransition2 =
+        new QKeyEventTransition(
+                window, QEvent::KeyPress, Qt::Key_Launch0);
+    idleToMenuRootTransition2->setTargetState(menuRootState);
+    idleState->addTransition(idleToMenuRootTransition2);
+    // key driven transition from menu to idle
+    QKeyEventTransition *menuToIdleTransition2 =
+        new QKeyEventTransition(
+                window, QEvent::KeyPress, Qt::Key_Launch0);
+    menuToIdleTransition2->setTargetState(idleState);
+    menuRootState->addTransition(menuToIdleTransition2);
 
     // transitions to child states
     // opening shortcut to a colleciton
--- a/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenucollectionsitemmodel.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenucollectionsitemmodel.h	Mon May 03 12:24:59 2010 +0300
@@ -42,7 +42,7 @@
 private:
 
     // Function declarations
-    QString getSecondLine(CaEntry *entry) const;
+    QString getSecondLine(const CaEntry *entry) const;
 
 };
 
--- a/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/inc/hsmenuservice.h	Mon May 03 12:24:59 2010 +0300
@@ -42,6 +42,8 @@
         HsSortAttribute sortAttribute = DescendingNameHsSortAttribute);
     static HsMenuItemModel *getAllCollectionsModel(
         HsSortAttribute sortAttribute = LatestOnTopHsSortAttribute);
+    static HsMenuItemModel *getInstalledModel(
+        HsSortAttribute sortAttribute = DescendingNameHsSortAttribute);
     static HsMenuItemModel *getCollectionModel(int collectionId,
             HsSortAttribute sortAttribute = LatestOnTopHsSortAttribute,
             const QString &collectionType = collectionTypeName());
@@ -65,6 +67,8 @@
     static int allCollectionsId();
 
     static bool touch(int entryId);
+    
+    static bool launchSoftwareUpdate();
 
 private:
     // data
--- a/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenucollectionsitemmodel.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenucollectionsitemmodel.cpp	Mon May 03 12:24:59 2010 +0300
@@ -52,8 +52,9 @@
     QVariant variant;
     if (role == Qt::DisplayRole && secondLineVisibility()) {
         QList<QVariant> text;
-        text << entry(index)->text();
-        text << getSecondLine(entry(index));
+        QSharedPointer<CaEntry> item = entry(index);
+        text << item->text();
+        text << getSecondLine(item.data());
         variant =  QVariant(text);
     } else {
         variant = CaItemModel::data(index, role);
@@ -70,7 +71,7 @@
  \retval string with applications names separated by ','
  no longer than 256 bytes
  */
-QString HsMenuCollectionsItemModel::getSecondLine(CaEntry *entry) const
+QString HsMenuCollectionsItemModel::getSecondLine(const CaEntry *entry) const
 {
     HSMENUTEST_FUNC_ENTRY("HsMenuCollectionsItemModel::getSecondLine");
     QString result;
@@ -87,7 +88,7 @@
 
     query.setFlagsOff(MissingEntryFlag);
 
-    QList<CaEntry *> entries = CaService::instance()->getEntries(query);
+    QList< QSharedPointer<CaEntry> > entries = CaService::instance()->getEntries(query);
 
     if (!entries.count()) {
         result = QString(hbTrId("txt_applib_dblist_downloaded_val_empty"));
@@ -118,7 +119,6 @@
             }
         }
     }
-    qDeleteAll(entries);
     HSMENUTEST_FUNC_EXIT("HsMenuCollectionsItemModel::getSecondLine");
     return result;
 }
--- a/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuservice.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/serviceproviders/hsmenuserviceprovider/src/hsmenuservice.cpp	Mon May 03 12:24:59 2010 +0300
@@ -18,6 +18,7 @@
 #include <QDebug>
 #include <QStandardItem>
 #include <qvaluespacepublisher.h>
+#include <HbDeviceDialog>
 
 #include "hsapp_defs.h"
 #include "hsmenuservice.h"
@@ -84,6 +85,29 @@
 }
 
 /*!
+ Returns native and java applications.
+ \param sortAttribute :: SortAttribute
+ \retval HsMenuItemModel: installed model
+ */
+HsMenuItemModel *HsMenuService::getInstalledModel(
+    HsSortAttribute sortAttribute)
+{
+    //TODO get proper items 
+    qDebug() << "HsMenuService::getInstalledModel" << "sortAttribute:"
+             << sortAttribute;
+    HSMENUTEST_FUNC_ENTRY("HsMenuService::getInstalledModel");
+    CaQuery query;
+    query.addEntryTypeName(packageTypeName());
+    query.setFlagsOn(VisibleEntryFlag | RemovableEntryFlag);
+    query.setFlagsOff(MissingEntryFlag);
+    query.setSort(HsMenuServiceUtils::sortBy(sortAttribute),
+                  HsMenuServiceUtils::sortOrder(sortAttribute));
+    HsMenuItemModel *model = new HsMenuItemModel(query);
+    HSMENUTEST_FUNC_EXIT("HsMenuService::getInstalledModel");
+    return model;
+}
+
+/*!
  Returns collection model
  \param collectionId ::  id of this collection
  \param sortAttribute ::  SortAttribute
@@ -122,12 +146,10 @@
     query.setParentId(allCollectionsId());
     query.setFlagsOn(VisibleEntryFlag);
     query.setFlagsOff(MissingEntryFlag);
-    QList<CaEntry *> collections = CaService::instance()->getEntries(query);
+    QList< QSharedPointer<CaEntry> > collections = CaService::instance()->getEntries(query);
     QStringList resultList;
-    while (!collections.isEmpty()) {
-        CaEntry *entry = collections.takeFirst();
+    foreach(QSharedPointer<CaEntry> entry, collections) {
         resultList << entry->text();
-        delete entry;
     }
 
     qDebug() << "HsMenuService::getCollectionNames resultList:"
@@ -145,12 +167,11 @@
 {
     qDebug() << "HsMenuService::getName entryId:" << entryId;
     HSMENUTEST_FUNC_ENTRY("HsMenuService::getName");
-    CaEntry *entry = CaService::instance()->getEntry(entryId);
+    QSharedPointer<CaEntry> entry = CaService::instance()->getEntry(entryId);
 
     QString name;
-    if (entry) {
+    if (!entry.isNull()) {
         name = entry->text();
-        delete entry;
     }
     qDebug() << "HsMenuService::getName name: " << name;
     HSMENUTEST_FUNC_EXIT("HsMenuService::getName");
@@ -177,18 +198,10 @@
  */
 bool HsMenuService::launchTaskSwitcher()
 {
-    qDebug() << "HsMenuService::launchTS";
-    QScopedPointer<CaEntry> tsEntry(new CaEntry);
-    tsEntry->setEntryTypeName(applicationTypeName());
-    tsEntry->setAttribute(
-    		applicationUidEntryKey(), QString::number(taskSwitcherUid)); 
-    int retval = CaService::instance()->executeCommand(*tsEntry, 
-            openActionIdentifier());
-    if(retval) {
-        QValueSpacePublisher publisher("/TaskSwitcher");
-        publisher.setValue("Activation", taskSwitcherPropertyValue);
-    }
-    return retval;
+    qDebug() << "HsMenuService::launchTaskSwitcher";
+    HbDeviceDialog deviceDialog;
+    QVariantMap params;
+    return deviceDialog.show(TS_DEVICE_DIALOG_URI, params);
 }
 
 /*!
@@ -204,14 +217,14 @@
     CaEntry collection(GroupEntryRole);
     collection.setEntryTypeName(collectionTypeName());
     collection.setText(name);
+    collection.setAttribute(groupNameAttributeName(),name);
     CaIconDescription iconDescription;
     iconDescription.setFilename(defaultCollectionIconId());
     collection.setIconDescription(iconDescription);
-    CaEntry *entry = CaService::instance()->createEntry(collection);
-    if (entry) {
+    QSharedPointer<CaEntry> entry = CaService::instance()->createEntry(collection);
+    if (!entry.isNull()) {
         qDebug() << "HsMenuService::addCollection entry" << entry;
         entryId = entry->id();
-        delete entry;
         CaService::instance()->appendEntryToGroup(allCollectionsId(),
                 entryId);
     }
@@ -232,14 +245,13 @@
              << collectionId << "newCollectionName" << newCollectionName;
     HSMENUTEST_FUNC_ENTRY("HsMenuService::renameCollection");
     bool result(false);
-    CaEntry *collection = CaService::instance()->getEntry(collectionId);
+    QSharedPointer<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;
@@ -341,6 +353,22 @@
  */
 bool HsMenuService::touch(int entryId)
 {
-    CaEntry *entry = CaService::instance()->getEntry(entryId);
+    QSharedPointer<CaEntry> entry = CaService::instance()->getEntry(entryId);
     return CaService::instance()->touch(* entry);
 }
+
+/*!
+ Launch SoftwareUpdateApplication
+ \retval boolean launching status
+ */
+bool HsMenuService::launchSoftwareUpdate()
+{
+    qDebug() << "HsMenuService::launchSoftwareUpdate";
+    QScopedPointer<CaEntry> tsEntry(new CaEntry);
+    tsEntry->setEntryTypeName(applicationTypeName());
+    tsEntry->setAttribute(
+            applicationUidEntryKey(), QString::number(softwareUpdateApplicationUid)); 
+    int retval = CaService::instance()->executeCommand(*tsEntry, 
+            openActionIdentifier());
+    return retval;
+}
--- a/homescreenapp/sis/homescreenapp_ut_hs.pkg	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/sis/homescreenapp_ut_hs.pkg	Mon May 03 12:24:59 2010 +0300
@@ -56,7 +56,7 @@
 
 "/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"
+"/epoc32/data/z/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.xml" - "c:/private/20022F59/hsresources/plugins/widgetplugins/mockwidgetplugin.xml"
 
 
 ;--------------- runtimeplugins ---------------
@@ -66,7 +66,7 @@
 "/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"
+"/epoc32/data/z/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.xml"  - "c:/private/20022f63/hsresources/plugins/stateplugins/mockstateplugins.xml"
 
 ;--------------- serviceproviders ---------------
 
@@ -84,15 +84,9 @@
 "/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"
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/hsapplibrarystateplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -12,7 +12,7 @@
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework
 
-PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+PLUGIN_SUBDIR = /private/20022F35/plugins/stateplugins
 include(../../common.pri)
 LIBS += -lhsdomainmodel \
         -lhsutils \
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallappsstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallappsstate.h	Mon May 03 12:24:59 2010 +0300
@@ -51,144 +51,49 @@
     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:
 
     bool openTaskSwitcher();
 
-    /**
-     * Slot connected to List widget in normal mode.
-     *
-     * @since S60 ?S60_version.
-     * @param index Model index of the activated item.
-     */
+    bool checkSoftwareUpdates();
+
     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 openInstalledView();
+
     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);
@@ -207,7 +112,6 @@
 
     /**
      * The View widget.
-     * Own.
      */
     HsMenuView &mMenuView;
 
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallcollectionsstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsallcollectionsstate.h	Mon May 03 12:24:59 2010 +0300
@@ -54,166 +54,56 @@
 
 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:
 
     bool openTaskSwitcher();
 
-    /**
-     * 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:
@@ -225,7 +115,6 @@
 
     /**
      * The List View widget.
-     * Own.
      */
     HsMenuView &mMenuView;
 
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsapplibrarystate.h	Mon May 03 12:24:59 2010 +0300
@@ -56,68 +56,28 @@
 
 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();
 
 
@@ -127,18 +87,8 @@
 
 private:
 
-    /**
-     * Constructs contained objects.
-     *
-     * @since S60 ?S60_version.
-     */
     void construct();
 
-    /**
-     * Sets up Toolbar.
-     *
-     * @since S60 ?S60_version.
-     */
     void constructToolbar();
 
 private:
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hscollectionstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hscollectionstate.h	Mon May 03 12:24:59 2010 +0300
@@ -53,30 +53,12 @@
 
 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:
@@ -91,81 +73,25 @@
 
     bool openTaskSwitcher();
 
-    /**
-     * 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();
@@ -174,11 +100,6 @@
 
 private:
 
-    /**
-     * Constructs contained objects.
-     *
-     * @since S60 ?S60_version.
-     */
     void construct();
 
     /**
@@ -189,18 +110,8 @@
      */
     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);
@@ -229,7 +140,6 @@
 
     /**
      * The List View widget.
-     * Own.
      */
     HsMenuView &mMenuView;
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsinstalledappsstate.h	Mon May 03 12:24:59 2010 +0300
@@ -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: Menu Installed state.
+ *
+ */
+
+#ifndef HSINSTALLEDAPPSSTATE_H
+#define HSINSTALLEDAPPSSTATE_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 installed packages present on the device.
+ *
+ * @see StateMachine
+ *
+ * @lib ?library
+ * @since S60 ?S60_version
+ */
+class HsInstalledAppsState: public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    HsInstalledAppsState(HsMenuView &menuView, QState *parent = 0);
+
+    ~HsInstalledAppsState();
+
+private slots:
+
+    bool openTaskSwitcher();
+
+    void listItemActivated(const QModelIndex &index);
+
+    void listItemLongPressed(HbAbstractViewItem *item,
+                             const QPointF &coords);
+
+    void backAction();
+
+    void stateEntered();
+
+    void stateExited();
+
+private:
+
+    void construct();
+
+    void setMenuOptions();
+
+private:
+
+    /**
+     * The View widget.
+     * Own.
+     */
+    HsMenuView &mMenuView;
+
+    /**
+     * Item Model for the List.
+     * Own.
+     */
+    HsMenuItemModel *mInstalledAppsModel;
+
+    /**
+     * Secondary Softkey action.
+     * Backstepping functionality.
+     * Own.
+     */
+    HbAction *mSecondarySoftkeyAction;
+
+    /**
+     * Old navigation icon.
+     * Not own.
+     */
+    HbAction *mOldNavigationAction;
+
+};
+
+#endif // HSINSTALLEDAPPSSTATE_H
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenusearch.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/inc/hsmenuview.h	Mon May 03 12:24:59 2010 +0300
@@ -21,11 +21,12 @@
 #include <QObject>
 #include <QModelIndex>
 #include <QAbstractItemView>
+#include <QSortFilterProxyModel>
 #include <HbAbstractItemView>
 #include "hsmenustates_global.h"
 #include "hsapp_defs.h"
 #include "hsmenuviewbuilder.h"
-#include "hsmenusearch.h"
+
 
 class QPointF;
 class QActionGroup;
@@ -44,21 +45,17 @@
     Q_OBJECT
 
 public:
-    HsMenuView(HbMainWindow *window);
+    HsMenuView();
     ~HsMenuView();
 
     void setModel(HsMenuItemModel *model);
-    const HsMenuItemModel *model() const;
+    void setModelToView(QAbstractItemModel *model);
+
     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);
 
@@ -73,32 +70,48 @@
     HsMenuMode getHsMenuMode();
 
     void setHsMenuMode(HsMenuMode menuMode);
+    void hideToolBar();
+    void showToolBar();
 signals:
     void activated(const QModelIndex &index);
     void longPressed(HbAbstractViewItem *item, const QPointF &coords);
 
 public slots:
 
+    void activatedProxySlot(const QModelIndex &index);
+    void longPressedProxySlot(HbAbstractViewItem *item,
+                              const QPointF &coords);
+
     void showSearchPanel();
     void hideSearchPanel();
+
+
 private slots:
     void scrollToRow(int row,
                      QAbstractItemView::ScrollHint hint =
                          QAbstractItemView::PositionAtTop);
+    void findItem(QString criteriaStr);
+
 
 private:
     HbAbstractItemView::ScrollHint convertScrollHint(
-            QAbstractItemView::ScrollHint hint);
+        QAbstractItemView::ScrollHint hint);
+
     void connectItemViewsSignals();
     void disconnectItemViewsSignals();
 
+    void connectSearchItemViewsSignals();
+    void disconnectSearchItemViewsSignals();
+
+
     void connectModelSignals();
     void disconnectModelSignals();
 
     void connectSearchPanelSignals();
     void disconnectSearchPanelSignals();
 
-    void hideSearchPanelOnScrolling(bool);
+    void searchFinished();
+    void searchBegins();
 
     void setUpToolBar();
 
@@ -106,14 +119,18 @@
 
     HsMenuViewBuilder mBuilder;
 
-    HbMainWindow *const mWindow;
     HsMenuItemModel *mModel;
-    HsMenuSearch mMenuSearch;
+
+    QModelIndex mFirstVisibleIndex;
+    QModelIndex mLastVisibleIndex;
+    QModelIndex mSearchIndex;
 
     QActionGroup *mToolBarActionGroup;
 
     HsMenuMode mMenuMode;
 
+    QSortFilterProxyModel *mProxyModel; // owned
+
     HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
 };
 
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/resource/hsapplibrarystateplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?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>
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallappsstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallappsstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -33,10 +33,14 @@
 #include "hsaddappstocollectionstate.h"
 #include "hsapp_defs.h"
 #include "hsmenumodetransition.h"
+#include "caentry.h"
+#include "caservice.h"
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructor.
+ \param menuView Menu view.
+ \param parent Owner.
+ */
 HsAllAppsState::HsAllAppsState(HsMenuView &menuView, QState *parent) :
     QState(parent), mSortAttribute(AscendingNameHsSortAttribute),
     mCollectionsSortAttribute(LatestOnTopHsSortAttribute),
@@ -45,9 +49,9 @@
     construct();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructs contained objects.
+ */
 void HsAllAppsState::construct()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::construct");
@@ -66,26 +70,29 @@
     initialState->addTransition(new HsMenuModeTransition(
                                     mMenuView, AddHsMenuMode, addModeState));
 
-    setObjectName(this->parent()->objectName() + "/allappsstate");
+    const QString parentName =
+        parent() != 0 ? parent()->objectName() : QString("");
+    setObjectName(parentName + "/allappsstate");
+
     connect(this, SIGNAL(entered()),SLOT(stateEntered()));
     connect(this, SIGNAL(exited()),SLOT(stateExited()));
     mAllAppsModel = HsMenuService::getAllApplicationsModel(mSortAttribute);
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::construct");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Creates and installs menu options for the view
+ */
 void HsAllAppsState::setMenuOptions()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::setMenuOptions");
     HbMenu *const mOptions = new HbMenu();
     mOptions->addAction(hbTrId("txt_applib_opt_task_switcher"),
-                        this,
-                        SLOT(openTaskSwitcher()));
+                        this, SLOT(openTaskSwitcher()));
     mOptions->addAction(hbTrId("txt_applib_opt_add_to_collection"),
-                        this,
-                        SLOT(addToCollection()));
+                        this, SLOT(addToCollection()));
+    mOptions->addAction(hbTrId("txt_applib_opt_check_software_updates"),
+                        this, SLOT(checkSoftwareUpdates()));
 
     HbMenu *const sortMenu = mOptions->addMenu(hbTrId(
                                  "txt_applib_opt_sort_by"));
@@ -94,12 +101,14 @@
 
     sortGroup->addAction(
         sortMenu->addAction(hbTrId("txt_applib_opt_sub_ascending"),
-                            this,
-                            SLOT(ascendingMenuAction())));
+                            this, SLOT(ascendingMenuAction())));
     sortGroup->addAction(
         sortMenu->addAction(hbTrId("txt_applib_opt_sub_descending"),
-                            this,
-                            SLOT(descendingMenuAction())));
+                            this, SLOT(descendingMenuAction())));
+
+    mOptions->addAction(hbTrId("txt_applib_subtitle_installed"),
+                        this, SLOT(openInstalledView()));
+
     mOptions->setParent(this);
     foreach(QAction *action, sortMenu->actions()) {
         action->setCheckable(true);
@@ -122,26 +131,25 @@
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::setMenuOptions");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Destructor.
+ */
 HsAllAppsState::~HsAllAppsState()
 {
     delete mAllAppsModel;
 }
 
-
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Populates all applications
+ */
 void HsAllAppsState::scrollToBeginning()
 {
     mBookmark = mAllAppsModel->index(0);
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is entered.
+ */
 void HsAllAppsState::stateEntered()
 {
     qDebug("AllAppsState::stateEntered()");
@@ -152,9 +160,9 @@
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::stateEntered");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when add mode entered.
+ */
 void HsAllAppsState::normalModeEntered()
 {
     setMenuOptions();
@@ -176,12 +184,14 @@
             SLOT(addLongPressed(HbAbstractViewItem *, QPointF)));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is exited.
+ */
 void HsAllAppsState::stateExited()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::stateExited");
+    mMenuView.setSearchPanelVisible(false);
+
     mBookmark = mMenuView.firstVisibleItemIndex();
 
     mMenuView.disconnect(this);
@@ -200,14 +210,24 @@
     return HsMenuService::launchTaskSwitcher();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Check software updates.
+ \retval true if operation is successful.
+ */
+bool HsAllAppsState::checkSoftwareUpdates()
+{
+    return HsMenuService::launchSoftwareUpdate();
+}
+
+/*!
+ Slot connected to List widget in normal mode.
+ \param index Model index of the activated item.
+ */
 void HsAllAppsState::listItemActivated(const QModelIndex &index)
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::listItemActivated");
 
-    const CaEntry *entry = mAllAppsModel->entry(index);
+    QSharedPointer<const CaEntry> entry = mAllAppsModel->entry(index);
 
     if (entry->entryTypeName() == widgetTypeName()) {
         machine()->postEvent(
@@ -228,13 +248,14 @@
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::listItemActivated");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in add mode.
+ 
+ \param index Model index of the activated item.
+ */
 void HsAllAppsState::addActivated(const QModelIndex &index)
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::addActivated");
-    mMenuView.setSearchPanelVisible(false);
     addToHomeScreen(index);
     machine()->postEvent(
         HsMenuEventFactory::createOpenHomeScreenEvent());
@@ -243,15 +264,14 @@
 
 /*!
  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
+ \param item View item
+ \param coords Press point coordinates
  */
 void HsAllAppsState::listItemLongPressed(HbAbstractViewItem *item,
         const QPointF &coords)
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::listItemLongPressed");
 
-    mMenuView.setSearchPanelVisible(false);
 
     // create context menu
     HbMenu *menu = new HbMenu();
@@ -264,9 +284,16 @@
 
     HbAction *uninstallAction = menu->addAction(hbTrId(
                                     "txt_common_menu_delete"));
+    HbAction *appSettingsAction(NULL);
 
     // check conditions and hide irrelevant menu items
 
+    QSharedPointer<const CaEntry> entry = mAllAppsModel->entry(item->modelIndex());
+
+    if (!(entry->attribute(appSettingsPlugin()).isEmpty())) {
+        appSettingsAction = menu->addAction(hbTrId(
+                                                "txt_common_menu_settings"));
+    }
     EntryFlags flags = item->modelIndex().data(
                            CaItemModel::FlagsRole).value<EntryFlags> ();
 
@@ -275,6 +302,7 @@
     }
     // choose proper action
     if (HbAction *selectedAction = menu->exec(coords)) {
+
         if (selectedAction == addToHomeScreenAction) {
             addToHomeScreen(item->modelIndex());
         } else if (selectedAction == addToCollectionAction) {
@@ -285,26 +313,35 @@
             machine()->postEvent(
                 HsMenuEventFactory::createAddAppsFromApplicationsViewEvent(
                     mSortAttribute, mCollectionsSortAttribute, itemId));
-
         } else if (selectedAction == uninstallAction) {
             const int itemId =
                 item->modelIndex().data(CaItemModel::IdRole).toInt();
             HsMenuService::executeAction(itemId, removeActionIdentifier());
+        } else if (selectedAction == appSettingsAction) {
+            const int itemId =
+                item->modelIndex().data(CaItemModel::IdRole).toInt();
+            QMap<QString, QString> attributes = entry->attributes();
+            machine()->postEvent(
+                HsMenuEventFactory::createAppSettingsViewEvent(itemId));
         }
+        mMenuView.setSearchPanelVisible(false);
+
     }
     delete menu;
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::listItemLongPressed");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in add mode.
+ Called when item long pressed.
+ \param item View item.
+ \param coords Press point coordinates.
+ */
 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());
@@ -312,9 +349,9 @@
 
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+  Slot called when application is adding to collection.
+ */
 void HsAllAppsState::addToCollection()
 {
     // Add one/many applications to
@@ -325,6 +362,21 @@
 }
 
 /*!
+ Triggers event so that a installed applications state is entered.
+ \retval void
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsAllAppsState::openInstalledView()
+{
+    machine()->postEvent(HsMenuEventFactory::createOpenInstalledViewEvent());
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
  Triggers event so that a state adding to Home Screen is reached
  \param index of an item to be added to homescreen
  \retval void
@@ -332,23 +384,17 @@
 void HsAllAppsState::addToHomeScreen(const QModelIndex &index)
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::addToHomeScreen");
-    const CaEntry *entry = mAllAppsModel->entry(index);
-    
-    QMap<QString, QString> attributes = entry->attributes();
-    
+    QSharedPointer<const CaEntry> entry = mAllAppsModel->entry(index);
+
     machine()-> postEvent(HsMenuEventFactory::createAddToHomeScreenEvent(
-                              entry->id(),
-                              entry->entryTypeName(),
-                              entry->attribute(widgetUriAttributeName()),
-                              entry->attribute(widgetLibraryAttributeName()),
-                              &attributes));
+                              entry->id()));
 
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::addToHomeScreen");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+  Menu ascending sort action slot.
+ */
 void HsAllAppsState::ascendingMenuAction()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::ascendingMenuAction");
@@ -357,18 +403,21 @@
     HSMENUTEST_FUNC_EXIT("HsAllAppsState::ascendingMenuAction");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/**
+ * Sets collections sort order
+ *
+ * @since S60 ?S60_version.
+ * @param sortOrder sort order.
+ */
 void HsAllAppsState::collectionsSortOrder(
     HsSortAttribute sortOrder)
 {
     mCollectionsSortAttribute = sortOrder;
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu descending sort action slot.
+ */
 void HsAllAppsState::descendingMenuAction()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllAppsState::descendingMenuAction");
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallcollectionsstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsallcollectionsstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -32,9 +32,11 @@
 #include "hsaddappstocollectionstate.h"
 #include "hsmenumodetransition.h"
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructor.
+ \param menuView Menu view.
+ \param parent Owner.
+ */
 HsAllCollectionsState::HsAllCollectionsState(
     HsMenuView &menuView, QState *parent) :
     QState(parent), mSortAttribute(CustomHsSortAttribute),
@@ -43,9 +45,9 @@
     construct();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructs contained objects.
+ */
 void HsAllCollectionsState::construct()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::construct");
@@ -65,7 +67,9 @@
     initialState->addTransition(new HsMenuModeTransition(
                                     mMenuView, AddHsMenuMode, addModeState));
 
-    setObjectName(this->parent()->objectName() + "/allcollectionsstate");
+    const QString parentName =
+        parent() != 0 ? parent()->objectName() : QString("");
+    setObjectName(parentName + "/allcollectionsstate");
     connect(this, SIGNAL(entered()),SLOT(stateEntered()));
     connect(this, SIGNAL(exited()),SLOT(stateExited()));
     mAllCollectionsModel = HsMenuService::getAllCollectionsModel(
@@ -73,16 +77,16 @@
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::construct");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Creates and installs menu options for the view
+ */
 void HsAllCollectionsState::setMenuOptions()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::setMenuOptions");
     HbMenu *const options = new HbMenu();
     options->addAction(hbTrId("txt_applib_opt_task_switcher"),
-                        this,
-                        SLOT(openTaskSwitcher()));
+                       this,
+                       SLOT(openTaskSwitcher()));
     options->addAction(hbTrId("txt_applib_opt_new_collection"),
                        this, SLOT(createNewCollection()));
 
@@ -129,25 +133,25 @@
 
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::setMenuOptions");
 }
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Destructor.
+ */
 HsAllCollectionsState::~HsAllCollectionsState()
 {
     delete mAllCollectionsModel;
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Populates all folders
+ */
 void HsAllCollectionsState::scrollToBeginning()
 {
     mBookmark = mAllCollectionsModel->index(0);
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is entered.
+ */
 void HsAllCollectionsState::stateEntered()
 {
     qDebug("AllCollectionsState::stateEntered()");
@@ -159,9 +163,9 @@
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::stateEntered");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when normal mode is entered.
+*/
 void HsAllCollectionsState::normalModeEntered()
 {
     setMenuOptions();
@@ -172,17 +176,17 @@
             SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when normal mode is exited.
+*/
 void HsAllCollectionsState::normalModeExited()
 {
     mMenuView.view()->setMenu(NULL);
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when add mode is entered.
+ */
 void HsAllCollectionsState::addModeEntered()
 {
     connect(&mMenuView, SIGNAL(activated(QModelIndex)),
@@ -191,13 +195,15 @@
             SLOT(addLongPressed(HbAbstractViewItem *, QPointF)));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is exited.
+ */
 void HsAllCollectionsState::stateExited()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::stateExited");
 
+    mMenuView.setSearchPanelVisible(false);
+
     mMenuView.disconnect(this);
 
     mBookmark = mMenuView.firstVisibleItemIndex();
@@ -215,9 +221,10 @@
     return HsMenuService::launchTaskSwitcher();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in normal mode.
+ \param index Model index of the activated item.
+ */
 void HsAllCollectionsState::listItemActivated(const QModelIndex &index)
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::listItemActivated");
@@ -235,12 +242,12 @@
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::listItemActivated");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in add mode.
+ \param index Model index of the activated item.
+ */
 void HsAllCollectionsState::addActivated(const QModelIndex &index)
 {
-    mMenuView.setSearchPanelVisible(false);
     const int itemId = index.data(CaItemModel::IdRole).toInt();
     machine()->postEvent(
         HsMenuEventFactory::createAddToHomeScreenEvent(itemId));
@@ -248,14 +255,16 @@
         HsMenuEventFactory::createOpenHomeScreenEvent());
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in add mode.
+ Called when item long pressed.
+ \param item View item.
+ \param coords Press point coordinates.
+ */
 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));
@@ -263,15 +272,17 @@
         HsMenuEventFactory::createOpenHomeScreenEvent());
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget in normal mode.
+ Called when item long pressed.
+ \param item View item.
+ \param coords Press point coordinates.
+ */
 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();
@@ -293,6 +304,7 @@
 
     // choose proper action
     if (HbAction *selectedAction = menu->exec(coords)) {
+
         if (selectedAction == addShortcutAction) {
             machine()->postEvent(
                 HsMenuEventFactory::createAddToHomeScreenEvent(itemId));
@@ -303,23 +315,25 @@
             machine()->postEvent(
                 HsMenuEventFactory::createDeleteCollectionEvent(itemId));
         }
+
+        mMenuView.setSearchPanelVisible(false);
     }
     delete menu;
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::listItemLongPressed");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to constructMenu.
+ */
 void HsAllCollectionsState::createNewCollection()
 {
     // Adding a new collection via the Collections view
     machine()->postEvent(HsMenuEventFactory::createNewCollectionEvent());
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to constructMenu.
+ */
 void HsAllCollectionsState::createArrangeCollection()
 {
     // Arrange collection via the Arrange view
@@ -329,9 +343,9 @@
         HsMenuEventFactory::createArrangeCollectionEvent(topItemId));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu custom sort action slot.
+ */
 void HsAllCollectionsState::customMenuAction()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::customMenuAction");
@@ -342,9 +356,9 @@
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::customMenuAction");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu ascending sort action slot.
+ */
 void HsAllCollectionsState::ascendingMenuAction()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::ascendingMenuAction");
@@ -355,9 +369,9 @@
     HSMENUTEST_FUNC_EXIT("HsAllCollectionsState::ascendingMenuAction");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu descending sort action slot.
+ */
 void HsAllCollectionsState::descendingMenuAction()
 {
     HSMENUTEST_FUNC_ENTRY("HsAllCollectionsState::descendingMenuAction");
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsapplibrarystate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -31,24 +31,25 @@
 #include "hsallappsstate.h"
 #include "hsallcollectionsstate.h"
 #include "hscollectionstate.h"
+#include "hsinstalledappsstate.h"
 #include "hsovistorehandler.h"
 #include "hsmenuview.h"
 #include "hsmenumodetransition.h"
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructor.
+ \param parent Owner.
+ */
 HsAppLibraryState::HsAppLibraryState(QState *parent) :
     QState(parent), mSecondarySoftkeyAction(0), mAllAppsState(0),
-    mHistoryTransaction(0), mAllCollectionsState(0), mCollectionState(0),
-    mMenuView(HbInstance::instance()->allMainWindows().value(0))
+    mHistoryTransaction(0), mAllCollectionsState(0), mCollectionState(0)
 {
     construct();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Destructor.
+ */
 HsAppLibraryState::~HsAppLibraryState()
 {
     HbMainWindow *const hbW =
@@ -60,9 +61,9 @@
     }
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructs contained objects.
+ */
 void HsAppLibraryState::construct()
 {
     HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::construct");
@@ -107,6 +108,19 @@
                                   mCollectionState, mAllCollectionsState);
     mCollectionState->addTransition(collectionToAppLibTransition);
 
+    HsInstalledAppsState *installedAppsState = new HsInstalledAppsState(
+        mMenuView, this);
+
+    HsMenuEventTransition *installedToAppLibTransition =
+        new HsMenuEventTransition(HsMenuEvent::OpenApplicationLibrary,
+                                  installedAppsState, mAllAppsState);
+    installedAppsState->addTransition(installedToAppLibTransition);
+
+    HsMenuEventTransition *allViewToInstalledTransition =
+        new HsMenuEventTransition(HsMenuEvent::OpenInstalledView,
+                                  mAllAppsState, installedAppsState);
+    mAllAppsState->addTransition(allViewToInstalledTransition);
+
     constructToolbar();
 
     connect(this, SIGNAL(entered()),SLOT(stateEntered()));
@@ -124,9 +138,10 @@
     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::construct");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Sets entry event.
+ \param event entry event.
+ */
 void HsAppLibraryState::onEntry(QEvent *event)
 {
     qDebug("HsCollectionState::onEntry()");
@@ -145,9 +160,9 @@
     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::onEntry");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is entered.
+ */
 void HsAppLibraryState::stateEntered()
 {
     HSTEST_FUNC_ENTRY("AppLibraryState::stateEntered");
@@ -155,23 +170,23 @@
     if (!hbW->views().contains(mMenuView.view())) {
         hbW->addView(mMenuView.view());
         mMenuView.view()->setNavigationAction(mSecondarySoftkeyAction);
-    }    
+    }
     hbW->setCurrentView(mMenuView.view());
     HSTEST_FUNC_EXIT("AppLibraryState::stateEntered");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is exited.
+ */
 void HsAppLibraryState::stateExited()
 {
-    HSTEST_FUNC_ENTRY("AppLibraryState::stateExited");   
+    HSTEST_FUNC_ENTRY("AppLibraryState::stateExited");
     HSTEST_FUNC_EXIT("AppLibraryState::stateExited");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Sets up Toolbar.
+ */
 void HsAppLibraryState::constructToolbar()
 {
     HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::constructToolbar");
@@ -205,9 +220,9 @@
     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::constructToolbar");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Clear toolbar latch
+*/
 void HsAppLibraryState::clearToolbarLatch()
 {
     HSMENUTEST_FUNC_ENTRY("HsAppLibraryState::clearToolbarLatch");
@@ -220,9 +235,9 @@
     HSMENUTEST_FUNC_EXIT("HsAppLibraryState::clearToolbarLatch");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ All apps stete entered.
+ */
 void HsAppLibraryState::allAppsStateEntered()
 {
     if (mMenuView.getHsMenuMode() == NormalHsMenuMode) {
@@ -230,9 +245,9 @@
     }
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ All collections state entered.
+ */
 void HsAppLibraryState::allCollectionsStateEntered()
 {
     if (mMenuView.getHsMenuMode() == NormalHsMenuMode) {
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hscollectionstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hscollectionstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -34,9 +34,11 @@
 #include "hsaddappstocollectionstate.h"
 #include "hsapp_defs.h"
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructor.
+ \param menuView Menu view.
+ \param parent Owner.
+*/
 HsCollectionState::HsCollectionState(HsMenuView &menuView, QState *parent) :
     QState(parent),
     mSortAttribute(LatestOnTopHsSortAttribute),
@@ -47,13 +49,15 @@
     construct();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Constructs contained objects.
+ */
 void HsCollectionState::construct()
 {
     HSMENUTEST_FUNC_ENTRY("HsCollectionState::construct");
-    setObjectName(this->parent()->objectName() + "/collectionstate");
+    const QString parentName =
+        parent() != 0 ? parent()->objectName() : QString("");
+    setObjectName(parentName + "/collectionstate");
 
     //new action for backstepping
     mSecondarySoftkeyAction = new HbAction(Hb::BackAction, this);
@@ -62,18 +66,19 @@
     HSMENUTEST_FUNC_EXIT("HsCollectionState::construct");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Destructor.
+ */
 HsCollectionState::~HsCollectionState()
 {
     delete mCollectionModel;
 }
 
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Sets entry event.
+ \param event entry event.
+ */
 void HsCollectionState::onEntry(QEvent *event)
 {
     qDebug("HsCollectionState::onEntry()");
@@ -90,9 +95,9 @@
     HSMENUTEST_FUNC_EXIT("HsCollectionState::onEntry");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is entered.
+ */
 void HsCollectionState::stateEntered()
 {
     HSMENUTEST_FUNC_ENTRY("HsCollectionState::stateEntered");
@@ -175,17 +180,19 @@
     }
     mOldNavigationAction = mMenuView.view()->navigationAction();
     mMenuView.view()->setNavigationAction(mSecondarySoftkeyAction);
-    
+
     makeConnect();
     HSMENUTEST_FUNC_EXIT("HsCollectionState::stateEntered");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot invoked when a state is exited.
+ */
 void HsCollectionState::stateExited()
 {
     HSMENUTEST_FUNC_ENTRY("HsCollectionState::stateExited");
+    mMenuView.setSearchPanelVisible(false);
+
     makeDisconnect();
 
     mOptions = NULL;
@@ -200,9 +207,9 @@
     qDebug("CollectionState::stateExited()");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Perform all signal connections.
+ */
 void HsCollectionState::makeConnect()
 {
     connect(mSecondarySoftkeyAction, SIGNAL(triggered()),
@@ -214,9 +221,9 @@
     connect(mCollectionModel, SIGNAL(modelReset()),SLOT(updateLabel()));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Perform all signal disconnections.
+ */
 void HsCollectionState::makeDisconnect()
 {
     disconnect(mSecondarySoftkeyAction, SIGNAL(triggered()),
@@ -241,14 +248,15 @@
     return HsMenuService::launchTaskSwitcher();
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Slot connected to List widget.
+ \param index Model index of the activated item.
+ */
 void HsCollectionState::listItemActivated(const QModelIndex &index)
 {
     HSMENUTEST_FUNC_ENTRY("HsCollectionState::listItemActivated");
 
-    const CaEntry *entry = mCollectionModel->entry(index);
+    QSharedPointer<const CaEntry> entry = mCollectionModel->entry(index);
 
     if (entry->entryTypeName() == widgetTypeName()) {
         machine()->postEvent(
@@ -271,7 +279,7 @@
 /*!
  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
+ \param coords press point coordinates.
  \retval void
  */
 void HsCollectionState::listItemLongPressed(HbAbstractViewItem *item,
@@ -279,7 +287,6 @@
 {
     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();
@@ -290,6 +297,7 @@
                                     "txt_applib_menu_add_to_collection"));
     HbAction *removeAction(NULL);
     HbAction *uninstallAction(NULL);
+    HbAction *appSettingsAction(NULL);
     // we do not add remove option in collection download menu
     // check conditions and hide irrelevant menu items
     if (mCollectionType != collectionDownloadedTypeName()) {
@@ -303,9 +311,15 @@
     if ((flags & RemovableEntryFlag)) {
         uninstallAction = menu->addAction(hbTrId("txt_common_menu_delete"));
     }
+    QSharedPointer<const CaEntry> entry = mCollectionModel->entry(item->modelIndex());
 
+    if (!(entry->attribute(appSettingsPlugin()).isEmpty())) {
+        appSettingsAction = menu->addAction(hbTrId(
+                                                "txt_common_menu_settings"));
+    }
     // choose proper action
     if (HbAction *selectedAction = menu->exec(coords)) {
+
         if (selectedAction == addShortcutAction) {
             addElementToHomeScreen(item->modelIndex());
         } else if (selectedAction == addToCollection) {
@@ -318,15 +332,23 @@
             machine()->postEvent(
                 HsMenuEventFactory::createRemoveAppFromCollectionEvent(
                     itemId, mCollectionId));
+        } else if (selectedAction == appSettingsAction) {
+            const int itemId =
+                item->modelIndex().data(CaItemModel::IdRole).toInt();
+            QMap<QString, QString> attributes = entry->attributes();
+            machine()->postEvent(
+                HsMenuEventFactory::createAppSettingsViewEvent(itemId));
         }
+
+        mMenuView.setSearchPanelVisible(false);
     }
     delete menu;
     HSMENUTEST_FUNC_EXIT("HsCollectionState::listItemLongPressed");
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu add applications action slot
+ */
 void HsCollectionState::addAppsAction()
 {
     // Add applications
@@ -335,44 +357,44 @@
             mCollectionId));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu add shortcut action slot
+ */
 void HsCollectionState::addCollectionShortcutToHomeScreenAction()
 {
     machine()->postEvent(HsMenuEventFactory::createAddToHomeScreenEvent(
                              mCollectionId));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu rename action slot
+ */
 void HsCollectionState::renameAction()
 {
     machine()->postEvent(HsMenuEventFactory::createRenameCollectionEvent(
                              mCollectionId));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu delete action slot
+ */
 void HsCollectionState::deleteAction()
 {
     machine()->postEvent(HsMenuEventFactory::createDeleteCollectionEvent(
                              mCollectionId));
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Menu softkey back action slot
+ */
 void HsCollectionState::backSteppingAction()
 {
     machine()->postEvent(HsMenuEventFactory::createOpenAppLibraryEvent());
 }
 
-// ---------------------------------------------------------------------------
-// ---------------------------------------------------------------------------
-//
+/*!
+ Updates label
+ */
 void HsCollectionState::updateLabel()
 {
     HSMENUTEST_FUNC_ENTRY("HsCollectionState::updateLabel");
@@ -390,17 +412,13 @@
  */
 void HsCollectionState::addElementToHomeScreen(const QModelIndex &index)
 {
-    const CaEntry *entry = mCollectionModel->entry(index);
-    
+    QSharedPointer<const CaEntry> entry = mCollectionModel->entry(index);
+
     QMap<QString, QString> attributes = entry->attributes();
 
     machine()->postEvent(
         HsMenuEventFactory::createAddToHomeScreenEvent(
-            entry->id(),
-            entry->entryTypeName(),
-            entry->attribute(widgetUriAttributeName()),
-            entry->attribute(widgetLibraryAttributeName()),
-            &attributes));
+            entry->id()));
 }
 
 /*!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsinstalledappsstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,219 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies 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 "hsinstalledappsstate.h"
+#include "hsaddappstocollectionstate.h"
+#include "hsapp_defs.h"
+#include "hsmenumodetransition.h"
+
+/*!
+ \class HsInstalledAppsState
+ \ingroup group_hsapplibrarystateplugin
+ \brief Manages displaying installed applications
+ */
+
+/*!
+ Constructor.
+ \param menuView menu view.
+ \param parent Pwner.
+ */
+HsInstalledAppsState::HsInstalledAppsState(HsMenuView &menuView, QState *parent) :
+    QState(parent), mMenuView(menuView), mInstalledAppsModel(0)
+{
+    construct();
+}
+
+/*!
+ Constructor part.
+ */
+void HsInstalledAppsState::construct()
+{
+    HSMENUTEST_FUNC_ENTRY("HsInstalledAppsState::construct");
+
+    const QString parentName =
+        parent() != 0 ? parent()->objectName() : QString("");
+    setObjectName(parentName + "/installedappsstate");
+    connect(this, SIGNAL(entered()),SLOT(stateEntered()));
+    connect(this, SIGNAL(exited()),SLOT(stateExited()));
+
+    mSecondarySoftkeyAction = new HbAction(Hb::BackAction, this);
+
+    HSMENUTEST_FUNC_EXIT("HsInstalledAppsState::construct");
+}
+
+/*!
+ Method seting menu options.
+ */
+void HsInstalledAppsState::setMenuOptions()
+{
+    HSMENUTEST_FUNC_ENTRY("HsInstalledAppsState::setMenuOptions");
+    HbMenu *const mOptions = new HbMenu();
+    mOptions->setParent(this);
+
+    mOptions->addAction(hbTrId("txt_applib_opt_task_switcher"),
+                        this, SLOT(openTaskSwitcher()));
+
+    mMenuView.view()->setMenu(mOptions);
+    HSMENUTEST_FUNC_EXIT("HsInstalledAppsState::setMenuOptions");
+}
+
+/*!
+ Destructor.
+ */
+HsInstalledAppsState::~HsInstalledAppsState()
+{
+    delete mInstalledAppsModel;
+}
+
+/*!
+ Slot connected to entered() signal.
+ Invoked when a state is entered.
+ */
+void HsInstalledAppsState::stateEntered()
+{
+    qDebug("AllAppsState::stateEntered()");
+    HSMENUTEST_FUNC_ENTRY("HsInstalledAppsState::stateEntered");
+
+    if (!mInstalledAppsModel) {
+        mInstalledAppsModel
+        = HsMenuService::getInstalledModel(AscendingNameHsSortAttribute);
+    }
+    mMenuView.setModel(mInstalledAppsModel);
+    mMenuView.scrollTo(mInstalledAppsModel->index(0));
+    setMenuOptions();
+
+    connect(&mMenuView, SIGNAL(activated(QModelIndex)),
+            SLOT(listItemActivated(QModelIndex)));
+    connect(&mMenuView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            SLOT(listItemLongPressed(HbAbstractViewItem *, QPointF)));
+    connect(mSecondarySoftkeyAction, SIGNAL(triggered()),
+            SLOT(backAction()));
+    mMenuView.hideToolBar();
+    mOldNavigationAction = mMenuView.view()->navigationAction();
+    mMenuView.view()->setNavigationAction(mSecondarySoftkeyAction);
+    mMenuView.setLabelVisible(true);
+    mMenuView.setLabel(hbTrId("txt_applib_subtitle_installed"));
+    HSMENUTEST_FUNC_EXIT("HsInstalledAppsState::stateEntered");
+}
+
+/*!
+ Slot invoked when a state is exited.
+ */
+void HsInstalledAppsState::stateExited()
+{
+    HSMENUTEST_FUNC_ENTRY("HsInstalledAppsState::stateExited");
+    mMenuView.setSearchPanelVisible(false);
+    // revert navigation action
+    mMenuView.view()->setNavigationAction(mOldNavigationAction);
+    mMenuView.showToolBar();
+    mMenuView.setLabelVisible(false);
+    mMenuView.disconnect(this);
+    mMenuView.view()->setMenu(NULL);
+
+    disconnect(mSecondarySoftkeyAction, SIGNAL(triggered()),
+               this, SLOT(backAction()));
+
+    HSMENUTEST_FUNC_EXIT("HsInstalledAppsState::stateExited");
+    qDebug("AllAppsState::stateExited()");
+}
+
+/*!
+ Open task switcher.
+ \retval true if operation is successful.
+ */
+bool HsInstalledAppsState::openTaskSwitcher()
+{
+    return HsMenuService::launchTaskSwitcher();
+}
+
+/*!
+ Method invoked when a list item is activated.
+ \param index indec of activated item.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsInstalledAppsState::listItemActivated(const QModelIndex &/*index*/)
+{
+    //no implementation yet
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ Handles long-item-pressed event in all apps view by showing context menu
+ \param item the event pertains to
+ \param coords press point coordinates.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsInstalledAppsState::listItemLongPressed(HbAbstractViewItem *item,
+        const QPointF &coords)
+{
+    HSMENUTEST_FUNC_ENTRY("HsInstalledAppsState::listItemLongPressed");
+
+    // create context menu
+    HbMenu *menu = new HbMenu();
+
+    HbAction *uninstallAction = menu->addAction(
+                                    hbTrId("txt_common_menu_delete"));
+
+    // choose proper action
+    if (HbAction *selectedAction = menu->exec(coords)) {
+        if (selectedAction == uninstallAction) {
+            const int itemId = item->modelIndex().data(
+                                   CaItemModel::IdRole).toInt();
+            HsMenuService::executeAction(itemId, removeActionIdentifier());
+        }
+        mMenuView.setSearchPanelVisible(false);
+    }
+    delete menu;
+    HSMENUTEST_FUNC_EXIT("HsInstalledAppsState::listItemLongPressed");
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ Slot invoked when a back action is triggered.
+ */
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsInstalledAppsState::backAction()
+{
+    machine()->postEvent(HsMenuEventFactory::createOpenAppLibraryEvent());
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenumodetransition.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenumodetransition.cpp	Mon May 03 12:24:59 2010 +0300
@@ -20,7 +20,7 @@
 
 /*!
  \class HsMenuModeTransition
- \ingroup group_applibrarystateplugin
+ \ingroup group_hsmenustateplugin
  \brief Transition to normal or add mode
  */
 
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenusearch.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +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: 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");
-}
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuview.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuview.cpp	Mon May 03 12:24:59 2010 +0300
@@ -52,16 +52,21 @@
 
  \param window Main window.
  */
-HsMenuView::HsMenuView(HbMainWindow *window):
+HsMenuView::HsMenuView():
     mBuilder(),
-    mWindow(window),
     mModel(NULL),
-    mMenuSearch(this),
+    mFirstVisibleIndex(),
+    mLastVisibleIndex(),
     mToolBarActionGroup(new QActionGroup(mBuilder.toolBar())),
-    mMenuMode(NormalHsMenuMode)
+    mMenuMode(NormalHsMenuMode),
+    mProxyModel(new QSortFilterProxyModel(this))
 {
     setUpToolBar();
     connectItemViewsSignals();
+
+    mProxyModel->setFilterRole(CaItemModel::TextRole);
+    mProxyModel->setFilterKeyColumn(1);
+    mProxyModel->setSortRole(CaItemModel::TextRole);
 }
 
 /*!
@@ -98,13 +103,17 @@
 }
 
 /*!
- Sets model for item view.
+ Sets model for item view without connecting scroll signals
 
- \return Model shown by item view.
+ \param model Model to show by item view
  */
-const HsMenuItemModel *HsMenuView::model() const
+void HsMenuView::setModelToView(QAbstractItemModel *model)
 {
-    return mModel;
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::setModelToView");
+
+    mBuilder.listView()->setModel(model);
+
+    HSMENUTEST_FUNC_EXIT("HsMenuView::setModelToView");
 }
 
 /*!
@@ -136,22 +145,6 @@
     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.
@@ -176,20 +169,18 @@
 {
     HSMENUTEST_FUNC_ENTRY("HsMenuView::setSearchPanelVisible");
     if (mBuilder.searchPanel()->isVisible() != visible) {
-        const static Hb::SceneItems statusPaneItems(
-            Hb::SecondarySoftKeyItem
-            | Hb::TitlePaneItem
-            | Hb::IndicatorItems);
+        if (visible) {
+            mFirstVisibleIndex = firstVisibleItemIndex();
+            mBuilder.setSearchPanelVisible(visible);
+            mBuilder.view()->hideItems(Hb::AllItems);
+            connectSearchPanelSignals();
 
-        if (visible) {
-            mWindow->hideItems(statusPaneItems);
-            connectSearchPanelSignals();
         } else {
-            mWindow->showItems(statusPaneItems);
+            mLastVisibleIndex = firstVisibleItemIndex();
+            mBuilder.view()->showItems(Hb::AllItems);
+            mBuilder.setSearchPanelVisible(visible);
             disconnectSearchPanelSignals();
         }
-
-        mBuilder.setSearchPanelVisible(visible);
     }
     HSMENUTEST_FUNC_EXIT("HsMenuView::setSearchPanelVisible");
 }
@@ -267,6 +258,9 @@
     setSearchPanelVisible(true);
     HSMENUTEST_FUNC_EXIT("HsMenuView::showSearchPanel");
 }
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT skipped: it doubles other method
 
 /*!
  * Makes search panel visible.
@@ -278,6 +272,9 @@
     setSearchPanelVisible(false);
     HSMENUTEST_FUNC_EXIT("HsMenuView::hideSearchPanel");
 }
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
 
 /*!
  Scrolls item view to requested row.
@@ -294,8 +291,8 @@
 
 /*!
      Converts scroll hints.
-     \param Qt hint Where the target item should be positioned in visible area
-     after scroll.
+     \param Qt hint Where the target item should be positioned in
+     visible area after scroll.
      \return Qrbit version of hint
  */
 HbAbstractItemView::ScrollHint HsMenuView::convertScrollHint(
@@ -343,6 +340,36 @@
 }
 
 /*!
+ Connects \a activated and \a longPressed signals coming from search list
+ view to emit corresponding signal of this object with translated model index
+*/
+void HsMenuView::connectSearchItemViewsSignals()
+{
+    const HbListView *const listView = mBuilder.listView();
+
+    connect(listView, SIGNAL(activated(QModelIndex)),
+            this, SLOT(activatedProxySlot(QModelIndex)));
+    connect(listView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+            this, SLOT(longPressedProxySlot(HbAbstractViewItem *, QPointF)));
+
+}
+
+/*!
+ Disconnects \a activated and \a longPressed signals coming from list
+ view from to emit corresponding signal
+ of this object with translated model index
+*/
+void HsMenuView::disconnectSearchItemViewsSignals()
+{
+    const HbListView *const listView = mBuilder.listView();
+
+    disconnect(listView, SIGNAL(activated(QModelIndex)),
+               this, SLOT(activatedProxySlot(QModelIndex)));
+    disconnect(listView, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)),
+               this, SLOT(longPressedProxySlot(HbAbstractViewItem *, QPointF)));
+}
+
+/*!
  Connects model's \a scrollTo signal with the object \a scrollToRow slot.
 */
 void HsMenuView::connectModelSignals()
@@ -366,47 +393,39 @@
 */
 void HsMenuView::connectSearchPanelSignals()
 {
+    disconnectModelSignals();    
+    disconnectItemViewsSignals();
+
+    searchBegins();
+    connectSearchItemViewsSignals();
+
     connect(mBuilder.searchPanel(), SIGNAL(exitClicked()),
             this, SLOT(hideSearchPanel()));
+    connect(mBuilder.searchPanel(), SIGNAL(criteriaChanged(QString)),
+            this, SLOT(findItem(QString)));
+    scrollTo(mProxyModel->mapFromSource(mFirstVisibleIndex),
+             HbAbstractItemView::PositionAtTop);
 
-    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
+ Scrolls view to state before connections
 */
 void HsMenuView::disconnectSearchPanelSignals()
 {
+    disconnectSearchItemViewsSignals();
+
     disconnect(mBuilder.searchPanel(), SIGNAL(exitClicked()),
                this, SLOT(hideSearchPanel()));
 
     disconnect(mBuilder.searchPanel(), SIGNAL(criteriaChanged(QString)),
-               &mMenuSearch, SLOT(findItem(QString)));
-
-    hideSearchPanelOnScrolling(false);
-}
+               this, SLOT(findItem(QString)));
 
-/*!
-  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()));
-    }
+    searchFinished();
+    connectModelSignals();
+    connectItemViewsSignals();
 }
 
 /*!
@@ -427,6 +446,20 @@
     HSMENUTEST_FUNC_EXIT("HsMenuView::construct()");
 }
 
+void HsMenuView::hideToolBar()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::hideToolBar()");
+    mBuilder.view()->hideItems(Hb::ToolBarItem);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::hideToolBar()");
+}
+
+void HsMenuView::showToolBar()
+{
+    HSMENUTEST_FUNC_ENTRY("HsMenuView::showToolBar()");
+    mBuilder.view()->showItems(Hb::ToolBarItem);
+    HSMENUTEST_FUNC_EXIT("HsMenuView::showToolBar()");
+}
+
 HsMenuMode HsMenuView::getHsMenuMode()
 {
     return mMenuMode;
@@ -436,3 +469,80 @@
 {
     mMenuMode = menuMode;
 }
+/*!
+ Looks up for item and if found scrolls to it.
+ \param criteriaStr The item name to find.
+ */
+void HsMenuView::findItem(QString criteriaStr)
+{
+    qDebug
+        () << QString("hsmenuview::findItem: %1").arg(criteriaStr);
+    HSMENUTEST_FUNC_ENTRY("hsmenuview::findItem");
+
+    if ("" != criteriaStr) {
+        mProxyModel->setFilterRegExp(QRegExp(criteriaStr,
+            Qt::CaseInsensitive, QRegExp::FixedString));
+    }
+    else {
+        mProxyModel->setFilterRegExp(QRegExp(QString(".*"),
+            Qt::CaseInsensitive, QRegExp::RegExp));
+        // scroll to first item in model
+        mBuilder.listView()->scrollTo(
+                mProxyModel->mapFromSource(mModel->index(0)),
+                HbAbstractItemView::PositionAtTop);
+    }
+    HSMENUTEST_FUNC_EXIT("hsmenuview::findItem");
+}
+
+/*!
+ Initializes search.
+ */
+void HsMenuView::searchBegins()
+{
+    HSMENUTEST_FUNC_ENTRY("hsmenuview::searchBegins");
+    mProxyModel->invalidate();
+    mProxyModel->setSourceModel(mModel);
+    mProxyModel->setFilterRegExp(QRegExp(QString(".*"), Qt::CaseInsensitive,
+        QRegExp::RegExp));
+    setModelToView(mProxyModel);
+    HSMENUTEST_FUNC_EXIT("hsmenuview::searchBegins");
+}
+
+/*!
+ Ends search, scrolls view to last visible item in search view
+ */
+void HsMenuView::searchFinished()
+{
+    HSMENUTEST_FUNC_ENTRY("hsmenuview::searchFinished");
+    QModelIndex temp = mProxyModel->mapToSource(mLastVisibleIndex);
+    setModel(mModel);    
+    mBuilder.listView()->scrollTo(temp, HbAbstractItemView::PositionAtTop);
+    HSMENUTEST_FUNC_EXIT("hsmenuview::searchFinished");
+}
+
+/*!
+ * Slot used to translate activated signal from proxy model to normal model
+ */
+void HsMenuView::activatedProxySlot(const QModelIndex &index)
+{
+    emit activated(mProxyModel->mapToSource(index));
+}
+
+/*!
+ * Slot used to translate longPressed signal from proxy model to normal model
+ */
+void HsMenuView::longPressedProxySlot(HbAbstractViewItem *item,
+                                      const QPointF &coords)
+{
+    /*
+      this is a kind of hack, introduced for reasons:
+      item object should be reusable later, but orbit (or qt) prevents setting
+      its index model to previous state
+      */
+    mSearchIndex = mProxyModel->mapToSource(item->modelIndex());
+    HbAbstractViewItem* itemNew = item->createItem();
+    itemNew->setModelIndex(mSearchIndex);
+    emit longPressed(itemNew, coords);
+    delete itemNew;
+}
+
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuviewbuilder.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsmenuviewbuilder.cpp	Mon May 03 12:24:59 2010 +0300
@@ -25,10 +25,41 @@
 #include <HbToolBar>
 #include <HbView>
 #include <HbWidget>
+#include <HbStaticVkbHost>
+#include <HbMainWindow>
+#include <HbInputMethod>
 
 #include "hsmenuviewbuilder.h"
 #include "hsmenustates_global.h"
 
+// TODO this class is temprary solution, proper one should come from Orbit
+class HsVkbHost : public HbStaticVkbHost {
+public:
+	explicit HsVkbHost(HbWidget *target):
+		HbStaticVkbHost(target), mWidget(target) {}
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT skipped: its very temporary TODO
+	void openFinished() {		
+		updateViewHeight(applicationArea().height());
+	}
+
+	void closeFinished(){				
+		updateViewHeight(-1);
+	}
+
+	void updateViewHeight(qreal height) {		
+		HbView* view = mWidget->mainWindow()->currentView();
+		view->setMaximumHeight(height);
+	}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+	
+	HbWidget * mWidget;
+};
+
 /*!
     \class HsMenuViewBuilder
     \ingroup group_hsmenustateplugin
@@ -72,12 +103,22 @@
         result = parseSection(mSections[mViewOptions]);
 
         if (visible) {
+			// TODO this is temprary solution, proper solution should come from Orbit
+                        if (!HbVkbHost::getVkbHost(searchPanel()))
+                                {
+                                new HsVkbHost(searchPanel());
+                                }
             HbLineEdit *const lineEdit(searchPanelLineEdit());
 
             lineEdit->setText("");
         }
+        else {
+           if (static_cast<HsVkbHost *>(HbVkbHost::getVkbHost(searchPanel()))) {
+             static_cast<HsVkbHost *>(HbVkbHost::getVkbHost(searchPanel()))->
+                     updateViewHeight(-1);
+            }
+       }
     }
-
     return result;
 }
 
--- a/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsapplibrarystateplugin/src/hsovistorehandler.cpp	Mon May 03 12:24:59 2010 +0300
@@ -25,6 +25,14 @@
 const QString DefaultOviStoreLink("https://store.ovi.com/applications");
 #endif
 
+/*!
+    \class HsOviStoreHandler
+    \ingroup group_hsmenustateplugin
+
+    \brief 
+
+    \sa 
+*/
 
 /*!
  Constructor
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -22,20 +22,21 @@
 INCLUDEPATH += ./inc \
                 ../../hsutils/inc \
                 ../../hsdomainmodel/inc \
-                ../../hsapplication/inc
+                ../../hsapplication/inc \
+                ../../serviceproviders/hsmenuserviceprovider/inc
 
 QT += xml sql
 
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework
 
-PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+PLUGIN_SUBDIR = /private/20022F35/plugins/stateplugins
 
 include(../../common.pri)
 
 LIBS += -lhsutils \
         -lhsdomainmodel \
-        -lhswidgetmodel
+        -lhsmenuserviceprovider
 
 RESOURCES += hshomescreenstateplugin.qrc
 
@@ -44,5 +45,3 @@
 }
 
 include(hshomescreenstateplugin.pri)
-
-win32:exportResources(./tsrc/loc_win/*.qm, hsresources/loc)
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/hshomescreenstateplugin.ts	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,146 +0,0 @@
-<?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>
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlestate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsidlestate.h	Mon May 03 12:24:59 2010 +0300
@@ -27,9 +27,12 @@
 
 class QGraphicsItem;
 class QGraphicsSceneMouseEvent;
+class QPropertyAnimation;
 class HbView;
 class HbAction;
 class HsIdleWidget;
+class HsTitleResolver;
+class QParallelAnimationGroup;
 
 class HsIdleState : public QState
 {
@@ -51,12 +54,16 @@
     void event_addPage();
     void event_removePage();
     void event_toggleConnection();
+    
+protected:
+    bool eventFilter(QObject *watched, QEvent *event);    
 
 private:
     Q_DISABLE_COPY(HsIdleState)
     void setupStates();
     qreal pageLayerXPos(int pageIndex) const;
     void startPageChangeAnimation(int targetPageIndex, int duration);
+    void startPageChangeZoneAnimation(int duration);
     bool isInPageChangeZone();
     bool isInLeftPageChangeZone();
     bool isInRightPageChangeZone();
@@ -70,8 +77,10 @@
     void action_idle_layoutNewWidgets();
     void action_idle_showActivePage();
     void action_idle_connectOrientationChangeEventHandler();
+    void action_idle_installEventFilter();
     void action_idle_cleanupView();
     void action_idle_disconnectOrientationChangeEventHandler();    
+    void action_idle_uninstallEventFilter();
     void action_waitInput_updateOptionsMenu();
     void action_waitInput_connectMouseEventHandlers();
     void action_waitInput_disconnectMouseEventHandlers();    
@@ -86,18 +95,18 @@
     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 action_idle_setupTitle();
+    void action_idle_cleanupTitle();
 
     void waitInput_onMousePressed(
         QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered);
@@ -122,12 +131,13 @@
 
     void widgetInteraction_onTapAndHoldTimeout();
     void sceneInteraction_onTapAndHoldTimeout();
-    void moveWidget_onHoldTimeout();
+
+    void onTitleChanged(QString title);
 
-#ifndef Q_OS_SYMBIAN
-    void switchLanguage();
-    void translateUi();
-#endif
+    void onAddContentActionTriggered();
+
+	  bool openTaskSwitcher();
+	  void zoneAnimationFinished();
 
 private:
     HbView *mView;
@@ -139,7 +149,11 @@
     qreal mPageChangeZoneWidth;
 
     QPointF mSceneMenuPos;
-
+    HsTitleResolver *mTitleResolver;
+    QPropertyAnimation *mZoneAnimation;
+    bool mPageChanged;
+    bool mAllowZoneAnimation;
+    QParallelAnimationGroup *mPageChangeAnimation;
     HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
 };
 
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsselectbackgroundstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/inc/hsselectbackgroundstate.h	Mon May 03 12:24:59 2010 +0300
@@ -26,7 +26,11 @@
 
 class QImage;
 class HbView;
+#ifdef Q_OS_SYMBIAN
+class HsImageFetcherClient;
+#else
 class XQAIWGetImageClient;
+#endif
 
 class HsSelectBackgroundState : public QState
 {
@@ -41,17 +45,28 @@
 
 private:
     Q_DISABLE_COPY(HsSelectBackgroundState)
-    bool saveImage(QImage &image, const QString &path, Qt::Orientation orientation);
 
 private slots:
     void action_selectWallpaper();
     void action_disconnectImageFetcher();
-
+   
     void onFetchComplete(QStringList imageStringList);
     void onFetchFailed(int error);
 
+    // for S60 API
+#ifdef Q_OS_SYMBIAN
+    void fetchCompleted(const QString&);
+    void fetchFailed(int, const QString&);    
+#endif
+
 private:
+    
+#ifdef Q_OS_SYMBIAN
+    HsImageFetcherClient *mImageFetcher;
+#else
     XQAIWGetImageClient *mImageFetcher;
+#endif
+    
     HbView *mSourceView;
 
     HOMESCREEN_TEST_FRIEND_CLASS(HomeScreenStatePluginTest)
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/resource/hshomescreenstateplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-<?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>
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsidlestate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -28,6 +28,8 @@
 #include <HbMenu>
 #include <HbAction>
 #include <HbIcon>
+#include <HbMessageBox>
+#include <HbLabel>
 
 #include "hsidlestate.h"
 #include "hsidlewidget.h"
@@ -39,10 +41,11 @@
 #include "hsselectbackgroundstate.h"
 #include "hstrashbinwidget.h"
 #include "hspageindicator.h"
-#include "hsapptranslator.h"
 #include "hswidgetpositioningonorientationchange.h"
 #include "hsmenueventfactory.h"
 #include "hshomescreenstatecommon.h"
+#include "hstitleresolver.h"
+#include "hsmenuservice.h"
 
 // Helper macros for connecting state entry and exit actions.
 #define ENTRY_ACTION(state, action) \
@@ -62,13 +65,39 @@
 namespace
 {
     const char gApplicationLibraryIconName[] = "qtg_mono_applications_all";
-    const char gAddPageTextName[]            = "txt_homescreen_opt_add_page";
-    const char gRemovePageTextName[]         = "txt_homescreen_opt_remove_page";
-    const char gToOnlineTextName[]           = "txt_homescreen_opt_home_screen_to_online";
-    const char gToOfflineTextName[]          = "txt_homescreen_opt_home_screen_to_offline";
-    const char gChangeWallpaperTextName[]    = "txt_homescreen_list_change_wallpaper";
-    const char gAddContentTextName[]         = "txt_homescreen_list_add_content";
-    //const char gTitleOfflineTextName[]       = "txt_homescreen_title_offline";
+
+    //User adds a new page to home screen
+    const char hsLocTextId_OptionsMenu_AddPage[] = "txt_homescreen_opt_add_page";
+
+    //User removes page from home screen
+    const char hsLocTextId_OptionsMenu_RemovePage[] = "txt_homescreen_opt_remove_page";
+
+    //Sends request to all widgets to enable data connections
+    const char hsLocTextId_OptionsMenu_HsToOnline[] = "txt_homescreen_opt_home_screen_to_online";
+
+    //Sends request to all widgets to disable data connections
+    const char hsLocTextId_OptionsMenu_HsToOffline[] = "txt_homescreen_opt_home_screen_to_offline";
+
+    //Home screen canvas menu item for opening picture gallery
+    const char hsLocTextId_ContextMenu_ChangeWallpaper[] = "txt_homescreen_list_change_wallpaper";
+
+    //Home screen canvas menu item for opening Application library
+    const char hsLocTextId_ContextMenu_AddContent[] = "txt_homescreen_list_add_content";
+
+	//Home screen options menu item for opening Task switcher
+    const char hsLocTextId_OptionsMenu_TaskSwitcher[] = "txt_homescreen_opt_task_switcher";
+    
+    //Heading text in confirmation dialog while removing page with content
+    const char hsLocTextId_Title_RemovePage[] = "txt_homescreen_title_remove_page";
+    
+    //Text in confirmation dialog while removing page with content
+    const char hsLocTextId_Confirmation_RemovePage[] = "txt_homescreen_info_page_and_content_will_be_remov";
+    
+    //Button in confirmation dialog while removing page with content
+    const char hsLocTextId_ConfirmationButton_Ok[] = "txt_homescreen_button_ok";
+    
+    //Button in confirmation dialog while removing page with content
+    const char hsLocTextId_ConfirmationButton_Cancel[] = "txt_homescreen_button_cancel";
 }
 
 /*!
@@ -89,10 +118,16 @@
   : QState(parent),
     mView(0), mNavigationAction(0), mUiWidget(0),
     mTapAndHoldDistance(16),
-    mPageChangeZoneWidth(60)
+    mPageChangeZoneWidth(60),
+    mTitleResolver(0),
+	mZoneAnimation(0),
+	mPageChanged(false),	
+	mAllowZoneAnimation(true),
+	mPageChangeAnimation(0)
 {
     setupStates();
     mTimer.setSingleShot(true);
+    mTitleResolver = new HsTitleResolver(this);
 }
 
 /*!
@@ -100,6 +135,22 @@
 */
 HsIdleState::~HsIdleState()
 {
+    delete mZoneAnimation;    
+}
+
+/*!
+    \copydoc QObject::eventFilter(QObject *watched, QEvent *event)
+*/
+bool HsIdleState::eventFilter(QObject *watched, QEvent *event)
+{
+    switch (event->type()) {
+		case QEvent::ApplicationActivate:
+            action_idle_layoutNewWidgets();            
+            break;
+        default:
+            break;
+	}   
+	return QState::eventFilter(watched, event);
 }
 
 /*!
@@ -201,6 +252,8 @@
         this, SIGNAL(event_removePage()), state_removePage);
     state_waitInput->addTransition(
         this, SIGNAL(event_toggleConnection()), state_toggleConnection);
+    state_waitInput->addTransition(
+        this, SIGNAL(event_selectSceneWallpaper()), state_selectSceneWallpaper);
 
     state_widgetInteraction->addTransition(
         this, SIGNAL(event_waitInput()), state_waitInput);
@@ -224,6 +277,8 @@
         this, SIGNAL(event_waitInput()), state_waitInput);
     state_sceneMenu->addTransition(
         this, SIGNAL(event_selectSceneWallpaper()), state_selectSceneWallpaper);
+    state_sceneMenu->addTransition(
+        this, SIGNAL(event_addPage()), state_addPage);
 
     state_selectSceneWallpaper->addTransition(
         state_selectSceneWallpaper, SIGNAL(event_waitInput()), state_waitInput);
@@ -240,8 +295,12 @@
     ENTRY_ACTION(this, action_idle_layoutNewWidgets)
     ENTRY_ACTION(this, action_idle_showActivePage)
     ENTRY_ACTION(this, action_idle_connectOrientationChangeEventHandler)
+    ENTRY_ACTION(this, action_idle_setupTitle)
+    ENTRY_ACTION(this, action_idle_installEventFilter)
+    EXIT_ACTION(this, action_idle_cleanupTitle)
     EXIT_ACTION(this, action_idle_cleanupView)
     EXIT_ACTION(this, action_idle_disconnectOrientationChangeEventHandler)
+    EXIT_ACTION(this, action_idle_uninstallEventFilter)
 
     ENTRY_ACTION(state_waitInput, action_waitInput_updateOptionsMenu)
     ENTRY_ACTION(state_waitInput, action_waitInput_connectMouseEventHandlers)
@@ -260,12 +319,10 @@
     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)
@@ -299,25 +356,82 @@
 */
 void HsIdleState::startPageChangeAnimation(int targetPageIndex, int duration)
 {
-    QParallelAnimationGroup *animationGroup = new QParallelAnimationGroup;
+    if (!mPageChangeAnimation) {
+        mPageChangeAnimation = new QParallelAnimationGroup(this);
 
-    QPropertyAnimation *animation = new QPropertyAnimation(mUiWidget->pageLayer(), "x");
-    animation->setEndValue(pageLayerXPos(targetPageIndex));
-    animation->setDuration(duration);
-    animationGroup->addAnimation(animation);
+        QPropertyAnimation *animation = new QPropertyAnimation(mUiWidget->pageLayer(), "x");
+        animation->setEndValue(pageLayerXPos(targetPageIndex));
+        animation->setDuration(duration);
+        mPageChangeAnimation->addAnimation(animation);
 
-    animation = new QPropertyAnimation(mUiWidget->sceneLayer(), "x");
-    animation->setEndValue((parallaxFactor() * pageLayerXPos(targetPageIndex)) - HSBOUNDARYEFFECT / 2);
-    animation->setDuration(duration);
-    animationGroup->addAnimation(animation);
+        animation = new QPropertyAnimation(mUiWidget->sceneLayer(), "x");
+        animation->setEndValue((parallaxFactor() * pageLayerXPos(targetPageIndex)) - HSBOUNDARYEFFECT / 2);
+        animation->setDuration(duration);
+        mPageChangeAnimation->addAnimation(animation);
+    }
+    else {
+        if (QAbstractAnimation::Stopped != mPageChangeAnimation->state()) {
+            mPageChangeAnimation->stop();
+        }
+        QAbstractAnimation *animation = mPageChangeAnimation->animationAt(0);
         
-    animationGroup->start(QAbstractAnimation::DeleteWhenStopped);
+        qobject_cast<QPropertyAnimation*>(animation)->setEndValue(pageLayerXPos(targetPageIndex));
+        qobject_cast<QPropertyAnimation*>(animation)->setDuration(duration);
 
+        animation = mPageChangeAnimation->animationAt(1);
+        qobject_cast<QPropertyAnimation*>(animation)->setEndValue((parallaxFactor() * pageLayerXPos(targetPageIndex)) - HSBOUNDARYEFFECT / 2);
+        qobject_cast<QPropertyAnimation*>(animation)->setDuration(duration);        
+    }
+    mPageChangeAnimation->start();
     mUiWidget->showPageIndicator();
     mUiWidget->setActivePage(targetPageIndex);
 }
 
 /*!
+    Starts the page change zone animation based on the given a\ duration
+*/
+void HsIdleState::startPageChangeZoneAnimation(int duration)
+{
+    HsScene *scene = HsScene::instance();
+
+    int targetPageIndex = scene->activePageIndex();
+
+    if (isInLeftPageChangeZone() && 0 < targetPageIndex) {
+        --targetPageIndex;
+    } else if (isInRightPageChangeZone() &&
+        targetPageIndex < scene->pages().count()) {
+        ++targetPageIndex;
+    } else {    	
+		mAllowZoneAnimation = true;
+        return;
+    }
+
+    if (targetPageIndex == scene->pages().count()
+    	&& scene->pages().last()->widgets().isEmpty()) {
+        mAllowZoneAnimation = true;
+        return;        
+    }
+    
+    if (!mZoneAnimation) {
+        mZoneAnimation = new QPropertyAnimation(mUiWidget->sceneLayer(), "x");
+    }
+
+    if (isInLeftPageChangeZone()) {
+        mZoneAnimation->setEndValue(((parallaxFactor() * pageLayerXPos(scene->activePageIndex()))-HSBOUNDARYEFFECT/2)+HSBOUNDARYEFFECT/2);
+    } else {
+        mZoneAnimation->setEndValue(((parallaxFactor() * pageLayerXPos(scene->activePageIndex()))-HSBOUNDARYEFFECT/2)-HSBOUNDARYEFFECT/2);
+    }
+    mZoneAnimation->setDuration(duration);
+    mZoneAnimation->setDirection(QAbstractAnimation::Forward);
+
+    connect(mZoneAnimation,
+            SIGNAL(finished()),
+            SLOT(zoneAnimationFinished()));
+    mZoneAnimation->start();    
+    mPageChanged = true;
+}
+
+/*!
     Checks if the active widget is located inside the left or right 
     page change zone.
 */
@@ -406,17 +520,12 @@
         mUiWidget = new HsIdleWidget;
         mView = HsScene::mainWindow()->addView(mUiWidget);
         mView->setContentFullScreen();
-        mView->setTitle("Home Screen"/*hbTrId(gTitleOfflineTextName)*/);
         
         mNavigationAction = new HbAction(this);
         mNavigationAction->setIcon(HbIcon(gApplicationLibraryIconName));
         connect(mNavigationAction, SIGNAL(triggered()), SIGNAL(event_applicationLibrary()));
         mView->setNavigationAction(mNavigationAction);
         
-#ifndef Q_OS_SYMBIAN
-        connect(HsAppTranslator::instance(), 
-            SIGNAL(languageChanged()), SLOT(translateUi()));
-#endif
         // TODO: Workaround to Qt/Hb layouting bugs.
         QApplication::processEvents(QEventLoop::ExcludeUserInputEvents);
     }
@@ -425,6 +534,43 @@
 }
 
 /*!
+    Sets the idle view's title.
+*/
+void HsIdleState::action_idle_setupTitle()
+{
+    qDebug() << "HsIdleState::action_idle_setupTitle() - ENTRY";
+    onTitleChanged(mTitleResolver->title());
+    connect(mTitleResolver, SIGNAL(titleChanged(QString)), SLOT(onTitleChanged(QString)));
+    qDebug() << "HsIdleState::action_idle_setupTitle() - EXIT";
+}
+
+/*!
+    Updates the idle view's title.
+*/
+void HsIdleState::onTitleChanged(QString title)
+{
+    qDebug() << "HsIdleState::onTitleChanged() to title: " << title;
+    mView->setTitle(title);
+}
+
+/*!
+
+*/
+void HsIdleState::onAddContentActionTriggered()
+{
+    machine()->postEvent(
+        HsMenuEventFactory::createOpenAppLibraryEvent(AddHsMenuMode));
+}
+
+/*!
+    Disconnects the idle view's title.
+*/
+void HsIdleState::action_idle_cleanupTitle()
+{
+    mTitleResolver->disconnect(this);
+}
+
+/*!
     Lays out the active page's new widgets that were added
     from the application library.
 */
@@ -471,10 +617,21 @@
 }
 
 /*!
+    Installs the event filter.
+*/
+void HsIdleState::action_idle_installEventFilter()
+{
+    QCoreApplication::instance()->installEventFilter(this);
+}
+
+/*!
     Cleans up the idle view.
 */
 void HsIdleState::action_idle_cleanupView()
 {
+    if (mUiWidget){
+        mUiWidget->clearDelayedPress();
+    }
 }
 
 /*!
@@ -488,6 +645,14 @@
 }
 
 /*!
+    Disconnects the event filter.
+*/
+void HsIdleState::action_idle_uninstallEventFilter()
+{
+    QCoreApplication::instance()->removeEventFilter(this);
+}
+
+/*!
     Updates the options menu content.
 */
 void HsIdleState::action_waitInput_updateOptionsMenu()
@@ -495,33 +660,40 @@
     HsScene *scene = HsScene::instance();
 
     HbMenu *menu = new HbMenu();
-    
+
+    // Task switcher
+    menu->addAction(hbTrId(hsLocTextId_OptionsMenu_TaskSwitcher),
+        this, SLOT(openTaskSwitcher()));
+
+    // Add content
+    menu->addAction(hbTrId(hsLocTextId_ContextMenu_AddContent),
+        this, SLOT(onAddContentActionTriggered()));
+
     // Add page
     if (scene->pages().count() < scene->maximumPageCount()) {
-        menu->addAction(hbTrId(gAddPageTextName), 
+        menu->addAction(hbTrId(hsLocTextId_OptionsMenu_AddPage), 
             this, SIGNAL(event_addPage()));
     }
 
+    // Change wallpaper
+    menu->addAction(hbTrId(hsLocTextId_ContextMenu_ChangeWallpaper),
+        this, SIGNAL(event_selectSceneWallpaper()));
+
     // Remove page
     if (scene->activePage()->isRemovable()) {
-        menu->addAction(hbTrId(gRemovePageTextName), 
+        menu->addAction(hbTrId(hsLocTextId_OptionsMenu_RemovePage), 
             this, SIGNAL(event_removePage()));
     }
     
     // Online / Offline
     if (scene->isOnline()) {
-        menu->addAction(hbTrId(gToOfflineTextName),
+        menu->addAction(hbTrId(hsLocTextId_OptionsMenu_HsToOffline),
             this, SIGNAL(event_toggleConnection()));
     } else {
-        menu->addAction(hbTrId(gToOnlineTextName),
+        menu->addAction(hbTrId(hsLocTextId_OptionsMenu_HsToOnline),
             this, SIGNAL(event_toggleConnection())); 
     }
 
-#ifndef Q_OS_SYMBIAN
-    menu->addAction(hbTrId("txt_homescreen_opt_switch_language"),
-        this, SLOT(switchLanguage()));
-#endif
-
     mView->setMenu(menu);
 }
 
@@ -559,6 +731,9 @@
     connect(&mTimer, SIGNAL(timeout()), 
         SLOT(widgetInteraction_onTapAndHoldTimeout()));
     mTimer.start();
+
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    widget->startTapAndHoldAnimation();
 }
  
 /*!
@@ -577,6 +752,9 @@
 {
     disconnect(&mTimer, SIGNAL(timeout()), 
         this, SLOT(widgetInteraction_onTapAndHoldTimeout()));
+
+    HsWidgetHost *widget = HsScene::instance()->activeWidget();
+    widget->stopTapAndHoldAnimation();
 }
 
 /*!
@@ -649,16 +827,6 @@
 }
 
 /*!
-    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()
@@ -692,15 +860,6 @@
 }
 
 /*!
-    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()
@@ -727,18 +886,26 @@
 void HsIdleState::action_sceneMenu_showMenu()
 {
     HbMenu menu;
+    
+    HbAction *addContentAction = 
+        menu.addAction(hbTrId(hsLocTextId_ContextMenu_AddContent));
+
+    HbAction *addPageAction = 0;
+    HsScene *scene = HsScene::instance();
+    if (scene->pages().count() < scene->maximumPageCount()) {
+        addPageAction = menu.addAction(hbTrId(hsLocTextId_OptionsMenu_AddPage));
+    }
 
     HbAction *changeWallpaperAction = 
-        menu.addAction(hbTrId(gChangeWallpaperTextName));
-    HbAction *addContentAction = 
-        menu.addAction(hbTrId(gAddContentTextName));
+        menu.addAction(hbTrId(hsLocTextId_ContextMenu_ChangeWallpaper));
 
-    HbAction *action = menu.exec(mSceneMenuPos);
-    if (action == changeWallpaperAction) {
+    HbAction *action = menu.exec(mSceneMenuPos);    
+    if (action == addContentAction) {
+        onAddContentActionTriggered();
+    } else if (addPageAction && action == addPageAction) {
+        emit event_addPage();
+    } else if (action == changeWallpaperAction) {
         emit event_selectSceneWallpaper();
-    } else if (action == addContentAction) {
-        machine()->postEvent(
-            HsMenuEventFactory::createOpenAppLibraryEvent(AddHsMenuMode));
     } else {
         emit event_waitInput();
     }
@@ -767,21 +934,42 @@
 void HsIdleState::action_removePage_removePage()
 {
     HsScene *scene = HsScene::instance();
-    HsPage *page = scene->activePage();    
-    int pageIndex = scene->activePageIndex();
+    HsPage *page = scene->activePage();
+    bool deletePage(true);
 
-    mUiWidget->removePage(pageIndex);
-    scene->removePage(page);
-    delete page;
+#ifndef HOMESCREEN_TEST //We don't want to test message box.
+	if (!page->widgets().isEmpty()) {
+		HbMessageBox box(HbMessageBox::MessageTypeQuestion);
+		box.setHeadingWidget(new HbLabel
+		                        (hbTrId(hsLocTextId_Title_RemovePage)));
+		box.setText(hbTrId(hsLocTextId_Confirmation_RemovePage));
+		box.setPrimaryAction(new HbAction(hbTrId(hsLocTextId_ConfirmationButton_Ok)));
+		box.setSecondaryAction(new HbAction(hbTrId(hsLocTextId_ConfirmationButton_Cancel)));
 
-    pageIndex = pageIndex == 0 ? 0 : pageIndex - 1;
-    scene->setActivePageIndex(pageIndex);
+        HsScene::mainWindow()->setInteractive(true);
+        HbAction *action = box.exec();
+		if (action != box.primaryAction()) {
+		    deletePage = false;
+		}
+	}
+#endif //HOMESCREEN_TEST
+
+	if (deletePage) {
+		int pageIndex = scene->activePageIndex();
 
-    startPageChangeAnimation(pageIndex, 200);
+		mUiWidget->removePage(pageIndex);
+		scene->removePage(page);
+		delete page;
+
+		pageIndex = pageIndex == 0 ? 0 : pageIndex - 1;
+		scene->setActivePageIndex(pageIndex);
 
-    mUiWidget->pageIndicator()->removeItem(pageIndex);
-    mUiWidget->setActivePage(pageIndex);
-    mUiWidget->showPageIndicator();
+		startPageChangeAnimation(pageIndex, 200);
+
+		mUiWidget->pageIndicator()->removeItem(pageIndex);
+		mUiWidget->setActivePage(pageIndex);
+		mUiWidget->showPageIndicator();
+	}
 }
 
 /*!
@@ -849,6 +1037,7 @@
     if (mTapAndHoldDistance < point.manhattanLength()) {
         mTimer.stop();
         mUiWidget->sendDelayedPress();
+        HsScene::instance()->activeWidget()->stopTapAndHoldAnimation();
     }
 }
 
@@ -870,7 +1059,8 @@
         mUiWidget->sendDelayedPress();
     }
 
-    HsScene::instance()->activePage()->updateZValues();
+    HsPage *page = HsScene::instance()->activePage();
+    QMetaObject::invokeMethod(page, "updateZValues", Qt::QueuedConnection);
 
     emit event_waitInput();
 }
@@ -933,30 +1123,63 @@
     QGraphicsItem *watched, QGraphicsSceneMouseEvent *event, bool &filtered)
 {
     Q_UNUSED(watched)
-    Q_UNUSED(filtered)
 
-    HsWidgetHost *widget = HsScene::instance()->activeWidget();
-    Q_ASSERT(widget);
-
+    HsScene *scene = HsScene::instance();
+    HsWidgetHost *widget = scene->activeWidget();
+    HsPage *page = scene->activePage();
+    
     QPointF delta(event->scenePos() - event->lastScenePos());
-    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()));
+
+    QRectF widgetRect = widget->geometry();
+    widgetRect.moveTopLeft(widgetRect.topLeft() + delta);
+    
+    QRectF pageRect = mView->rect();    
+    
+    qreal lowerBoundX = -widgetRect.width() / 2 + 10;
+    if (page == scene->pages().first()) {
+        lowerBoundX = 0;
+    }
+    qreal upperBoundX = pageRect.width() - widgetRect.width() / 2 - 10;    
+    if (page == scene->pages().last() && scene->pages().count() == scene->maximumPageCount()) {
+        upperBoundX = pageRect.width() - widgetRect.width();
     }
 
-    widget->setPos(position - widget->rect().center());
+    qreal widgetX = qBound(lowerBoundX, widgetRect.x(), upperBoundX);
+    qreal widgetY = qBound(qreal(64), widgetRect.y(), pageRect.height() - widgetRect.height());
+    
+    /* if using ItemClipsChildrenToShape-flag in widgethost then
+       setPos does not update position here, however setGeometry does it, QT bug?
+    */
+    widget->setGeometry(widgetX, widgetY, widgetRect.width(), widgetRect.height());
 
-    if (mTimer.isActive()) {
-        if (mTapAndHoldDistance < delta.manhattanLength()) {
-            mTimer.stop();
+    if (isInPageChangeZone() && mAllowZoneAnimation) {
+        if (!mZoneAnimation) {
+        	/* We don't want to create another animation 
+        	   before previous is finished */
+        	mAllowZoneAnimation = false;
+            startPageChangeZoneAnimation(800);                
         }
-    } else {
-        if (isInPageChangeZone()) {
-            mTimer.start();
+    }
+    else if (mZoneAnimation && !isInPageChangeZone()) {
+    	if (mZoneAnimation->state() == QAbstractAnimation::Running) {    		
+        	if (mZoneAnimation->direction() == QAbstractAnimation::Forward) {	        		    
+        	   		mPageChanged = false;
+        	   		mZoneAnimation->setDuration(200);
+                    mZoneAnimation->setDirection(QAbstractAnimation::Backward);
+		    }			    
+		}
+        else {
+        	// Out of the page change zone. Delete animation.	        	
+        	delete mZoneAnimation;
+            mZoneAnimation = NULL;
+            mAllowZoneAnimation = true;
         }
     }
+    else if (!isInPageChangeZone()) {
+    	/* Zone animation finished and deleted.
+    	   New animation can be launched. */
+    	mAllowZoneAnimation = true;
+    }
 
     if (mUiWidget->trashBin()->isUnderMouse()) {
         mUiWidget->trashBin()->activate();
@@ -967,6 +1190,7 @@
     if (!mUiWidget->pageIndicator()->isAnimationRunning()) {
         mUiWidget->showTrashBin();
     }
+    filtered = true;
 }
 
 /*!
@@ -983,6 +1207,14 @@
 
     mTimer.stop();
 
+    if (mZoneAnimation
+    	&& mZoneAnimation->state() == QAbstractAnimation::Running
+    	&& mZoneAnimation->direction() == QAbstractAnimation::Forward) {
+        mPageChanged = false;
+        mZoneAnimation->setDuration(200);
+        mZoneAnimation->setDirection(QAbstractAnimation::Backward);                
+    }
+
     HsScene *scene = HsScene::instance();
     HsPage *page = scene->activePage();
     HsWidgetHost *widget = scene->activeWidget();
@@ -1003,10 +1235,17 @@
                 widget->deleteWidgetPresentation(Qt::Horizontal);
             }
         }
+        
+        QRectF widgetRect = widget->geometry();
+        QRectF pageRect = page->rect();        
+        qreal widgetX = qBound(qreal(0), widgetRect.x(), pageRect.width() - widgetRect.width());
+        qreal widgetY = qBound(qreal(64), widgetRect.y(), pageRect.height() - widgetRect.height());        
+        widget->setPos(widgetX, widgetY);
+
         widget->setWidgetPresentation();
         page->updateZValues();
     }
-
+    mAllowZoneAnimation = true;
     filtered = true;
     emit event_waitInput();
 }
@@ -1077,9 +1316,18 @@
     QList<HsWidgetHost *> widgets;
     HsWidgetHost *widget = 0;
     
-    const int KChromeHeight = 64; // TODO: get this somewhere
-    const int KWidgetAdjust = 10; // TODO: get this somewhere
-    
+    QRectF pageRect = HsScene::mainWindow()->layoutRect();
+
+    // TODO: Temporary workaround for the Orbit bug.
+    if (orientation == Qt::Horizontal) {
+        pageRect = QRectF(0, 0, 640, 360);
+    } else {
+        pageRect = QRectF(0, 0, 360, 640);
+    }
+    // End of the workaround.
+
+    const int chromeHeight = 64; // TODO: get this somewhere
+        
     for (int i = 0; i < pages.count(); ++i) {        
         widgets = pages[i]->widgets();
         for (int j = 0; j < widgets.count(); ++j) {
@@ -1088,13 +1336,17 @@
             if (presentation.widgetId < 0) {
                 QList<QRectF> geometries = 
                     HsWidgetPositioningOnOrientationChange::instance()->convert(
-                        QRectF(0, KChromeHeight, pages[i]->rect().height(), pages[i]->rect().width()-KChromeHeight).adjusted(KWidgetAdjust, KWidgetAdjust, -KWidgetAdjust, -KWidgetAdjust),
+                        QRectF(0, chromeHeight, 
+                            pageRect.height(),
+                            pageRect.width() - chromeHeight),
                         QList<QRectF>() << widget->geometry(),
-                        QRectF(0, KChromeHeight, pages[i]->rect().width(), pages[i]->rect().height()-KChromeHeight).adjusted(KWidgetAdjust, KWidgetAdjust, -KWidgetAdjust, -KWidgetAdjust));
+                        QRectF(0, chromeHeight, 
+                            pageRect.width(), 
+                            pageRect.height() - chromeHeight));
                 widget->setGeometry(geometries.first());
                 widget->setWidgetPresentation();
             } else {
-                widget->setGeometry(presentation.geometry());
+                widget->setPos(presentation.x, presentation.y);
                 widget->setZValue(presentation.zValue);
             }
         }
@@ -1121,92 +1373,77 @@
     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 if (scene->pages().count() < scene->maximumPageCount()) {
-            addPageToScene(pageIndex);
-            mUiWidget->showPageIndicator();
-            mUiWidget->pageIndicator()->addItem(pageIndex);
-        } else {
-            return; 
-        }
-    }
-
-    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()
+ Open task switcher.
+ \retval true if operation is successful.
+ */
+bool HsIdleState::openTaskSwitcher()
 {
-    mView->setTitle("Home Screen"/*hbTrId(gTitleOfflineTextName)*/);
-    action_waitInput_updateOptionsMenu();
+    return HsMenuService::launchTaskSwitcher();
 }
 #ifdef COVERAGE_MEASUREMENT
 #pragma CTC ENDSKIP
 #endif //COVERAGE_MEASUREMENT
-#endif // Q_OS_SYMBIAN
+
+/*!
+    Page change zone animation has been finished.
+ */
+void HsIdleState::zoneAnimationFinished()
+{
+	HsScene *scene = HsScene::instance();
+    int pageIndex = scene->activePageIndex();
+
+    if (mPageChanged) {	    
+	    if (isInLeftPageChangeZone() &&
+	        0 < pageIndex) {
+	        --pageIndex;
+	    }
+		else if (isInRightPageChangeZone() &&
+	        pageIndex < scene->pages().count()) {
+	        ++pageIndex;
+	    }
+		else {
+			delete mZoneAnimation;
+	        mZoneAnimation = NULL;
+	        mAllowZoneAnimation = true;
+	        return;
+	    }
 
+	    if (pageIndex == scene->pages().count()) {
+	        if (scene->pages().last()->widgets().isEmpty()) {
+	        	delete mZoneAnimation;
+	            mZoneAnimation = NULL;
+	            mAllowZoneAnimation = true;
+	            return;
+	        }
+			else if (scene->pages().count() < scene->maximumPageCount()) {
+	            addPageToScene(pageIndex);
+	            mUiWidget->showPageIndicator();
+	            mUiWidget->pageIndicator()->addItem(pageIndex);
+	        }
+			else {
+				delete mZoneAnimation;
+	            mZoneAnimation = NULL;
+	            mAllowZoneAnimation = true;
+	            return;
+	        }
+	    }        
+	    scene->setActivePageIndex(pageIndex);
+	    startPageChangeAnimation(pageIndex, 200);
+    }
+    else {    		   
+	    scene->setActivePageIndex(pageIndex);
+        mUiWidget->setActivePage(pageIndex);
+	    mAllowZoneAnimation = true;
+    }
+
+    delete mZoneAnimation;
+	mZoneAnimation = NULL;	
+}
 // Undefine the helper macros.
 #undef ENTRY_ACTION
 #undef EXIT_ACTION
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsselectbackgroundstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hshomescreenstateplugin/src/hsselectbackgroundstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -17,6 +17,7 @@
 
 #include <QDir>
 #include <QFileInfo>
+#include <QImageReader>
 
 #include <HbMainWindow>
 #include <HbView>
@@ -27,10 +28,14 @@
 #include "hswallpaper.h"
 #include "hsdatabase.h"
 #include "hshomescreenstatecommon.h"
+#include "hswallpaperhelper.h"
 
+#ifdef Q_OS_SYMBIAN
+#include "hsimagefetcherclient.h"
+#else
 #include "xqaiwgetimageclient.h"
 #include "xqaiwcommon.h"
-
+#endif
 /*! 
     \class HsSelectBackgroundState
     \ingroup group_hshomescreenstateprovider
@@ -48,7 +53,11 @@
     mImageFetcher(0),
     mSourceView(0)
 {
+#ifdef Q_OS_SYMBIAN
+    mImageFetcher = new HsImageFetcherClient(this);
+#else    
     mImageFetcher = new XQAIWGetImageClient;
+#endif
     connect(this, SIGNAL(entered()), SLOT(action_selectWallpaper()));
     connect(this, SIGNAL(exited()), SLOT(action_disconnectImageFetcher()));
 }
@@ -64,30 +73,6 @@
 
 /*!
     \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) + HSBOUNDARYEFFECT, 640);
-    } else {
-        rect.setRect(0, 0, (2 * 640) + HSBOUNDARYEFFECT, 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
  */
@@ -95,12 +80,19 @@
 {
     mSourceView = HsScene::mainWindow()->currentView();
 
+#ifdef Q_OS_SYMBIAN    
+    connect(mImageFetcher, SIGNAL(fetchCompleted(const QString&)),
+            this, SLOT(fetchCompleted(const QString&)));
+    connect(mImageFetcher, SIGNAL(fetchFailed(int, const QString&)),
+            this, SLOT(fetchFailed(int, const QString&)));
+    mImageFetcher->fetch();
+#else
     connect(mImageFetcher, SIGNAL(fetchComplete(QStringList)),
             SLOT(onFetchComplete(QStringList)));
     connect(mImageFetcher, SIGNAL(fetchFailed(int)),
             SLOT(onFetchFailed(int)));
-    
     mImageFetcher->fetch(QVariantMap(), SelectionSingle);
+#endif    
 }
 
 /*!
@@ -116,7 +108,19 @@
 
 /*!
     \internal
-    Called when user has selected an image    
+    Called when user has selected an image on emulator or HW
+*/
+#ifdef Q_OS_SYMBIAN
+void HsSelectBackgroundState::fetchCompleted(const QString& imageFileName)
+{
+    QStringList imageFileNameAsList(imageFileName);
+    onFetchComplete(imageFileNameAsList);
+}
+#endif
+
+/*!
+    \internal
+    Called when user has selected an image 
 */
 void HsSelectBackgroundState::onFetchComplete(QStringList imageStringList)
 {
@@ -151,17 +155,31 @@
     QString landscapePath = HsWallpaper::wallpaperPath(
         Qt::Horizontal, QString(), fileExtension);
     
-    QImage image(imageStringList.first());
+    QRect portraitRect = QRect(0, 0, (2 * 360) + HSBOUNDARYEFFECT, 640);
+    QRect landscapeRect = QRect(0, 0, (2 * 640) + HSBOUNDARYEFFECT, 360);
+    QRect sourceRect; // left empty to signal we want to use full size image as source
+    
+    QImage portraitImage = HsWallpaperHelper::processImage(imageStringList.first(),
+            portraitRect, sourceRect);
     
-    if (saveImage(image, portraitPath, Qt::Vertical) && 
-        saveImage(image, landscapePath, Qt::Horizontal)) {
+    QImage landscapeImage = HsWallpaperHelper::processImage(imageStringList.first(),
+            landscapeRect, sourceRect);
+    
+    if (!portraitImage.isNull() && !landscapeImage.isNull()) {
+        portraitImage.save(portraitPath);
         sceneData.portraitWallpaper = portraitPath;
+        
+        landscapeImage.save(landscapePath);
         sceneData.landscapeWallpaper = landscapePath;
+        
         if (db->updateScene(sceneData)) {
             scene->wallpaper()->setImagesById(QString(), fileInfo.suffix());
         }
     }
-   
+    else {
+        // display some error note here
+    }
+  
     emit event_waitInput();
 }
 
@@ -174,3 +192,15 @@
     Q_UNUSED(error)
     emit event_waitInput();
 }
+
+/*!
+    \internal
+    Called when selection of background image fails on emulator or HW
+*/
+#ifdef Q_OS_SYMBIAN
+void HsSelectBackgroundState::fetchFailed(int error, const QString& errorString)
+{
+    Q_UNUSED(errorString)
+    onFetchFailed(error);        
+}
+#endif
\ No newline at end of file
Binary file homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.qm has changed
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en.ts	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?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
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_en_us.ts	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?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
--- a/homescreenapp/stateplugins/hshomescreenstateplugin/tsrc/loc_win/hslanguageswitch_fi.ts	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?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>
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/hsmenuworkerstateplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -18,7 +18,7 @@
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework
 
-PLUGIN_SUBDIR = /hsresources/plugins/stateplugins
+PLUGIN_SUBDIR = /private/20022F35/plugins/stateplugins
 
 include(../../common.pri)
 
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddappstocollectionstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddappstocollectionstate.h	Mon May 03 12:24:59 2010 +0300
@@ -28,7 +28,7 @@
 class HsAppsCheckList;
 
 /**
- * @ingroup group_hsmenustateplugin
+ * @ingroup group_hsworkerstateplugin
  * @brief Application Library State.
  *
  * State responsible for adding new applications to collections.
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddtohomescreenstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsaddtohomescreenstate.h	Mon May 03 12:24:59 2010 +0300
@@ -25,9 +25,11 @@
 HS_STATES_TEST_CLASS(MenuStatesTest)
 
 
+class CaEntry;
+
 
 /**
- * @ingroup group_hsmenustateplugin
+ * @ingroup group_hsworkerstateplugin
  * @brief Application Library State.
  *
  * Parent state for Application Library functionality (browsing applications and collections)
@@ -78,8 +80,7 @@
 
     void addShortcut(HsContentService &contentService, int entryId);
 
-    void addTApplication(HsContentService &contentService, int entryId,
-                QVariantMap &data);
+    void addApplication(HsContentService &contentService, CaEntry &entryId);
 
     void logActionResult(QString operationName, int entryId,
                          bool operationSucceded);
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenubasestate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsmenubasestate.h	Mon May 03 12:24:59 2010 +0300
@@ -28,7 +28,7 @@
 class HsContentService;
 
 /**
- * @ingroup group_hsmenustateplugin
+ * @ingroup group_hsworkerstateplugin
  * @brief Menu Base State
  *
  * Menu Base state is the base class for states used in Menu.
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hspreviewhswidgetstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hspreviewhswidgetstate.h	Mon May 03 12:24:59 2010 +0300
@@ -27,10 +27,11 @@
 class HbDialog;
 class HsWidgetHost;
 class CaNotifier;
-
+class HbAction;
+class HbScrollArea;
 
 /**
- * @ingroup group_hsmenustateprovider
+ * @ingroup group_hsworkerstateplugin
  * @brief Application Library State.
  *
  * Parent state for Application Library functionality (browsing applications and collections)
@@ -66,6 +67,19 @@
 private slots:
 
     /**
+     * Slot invoked when preview dialog is dismissed.
+     *
+     * @since S60 ?S60_version.
+     */
+    void previewDialogFinished(HbAction* finishedAction);
+
+    /**
+     * Slot invoked when message for corrupted widget is dismissed
+     *
+     * @since S60 ?S60_version.
+     */
+    void messageWidgetCorruptedFinished(HbAction* finishedAction);
+    /**
      * Inherited from HsMenuBaseState.
      *
      * @since S60 ?S60_version.
@@ -73,41 +87,39 @@
     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);
+    void showMessageWidgetCorrupted();
 
     /**
      * Subscribe for memory card remove.
      *
-     * @param entryId Widget id.
      */
-    void subscribeForMemoryCardRemove(int entryId);
+    void subscribeForMemoryCardRemove();
 
 private:
     
     HbDialog *mPopupDialog;
 
     CaNotifier *mNotifier;
-    
+
+    HbScrollArea *mScrollArea;
+
+    HsWidgetHost *mWidget;
+
     QObjectList mObjectList;
 
+    int mEntryId;
+
 };
 
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/inc/hsviewappsettingsstate.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* 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:  Menu Application Library state.
+*
+*/
+
+
+#ifndef HSVIEWAPPSETTINGSSTATE_H
+#define HSVIEWAPPSETTINGSSTATE_H
+
+#include <QState>
+
+#include "hsmenustates_global.h"
+#include "hbmainwindow.h"
+
+HS_STATES_TEST_CLASS(MenuStatesTest)
+
+class HsMenuService;
+class HbView;
+class HbAction;
+class CaNotifier;
+
+class HsViewAppSettingsState : public QState
+{
+    Q_OBJECT
+
+    HS_STATES_TEST_FRIEND_CLASS(MenuStatesTest)
+
+public:
+
+    /**
+     * Constructor.
+     *
+     * @since S60 ?S60_version.
+     * @param parent Owner.
+     */
+    HsViewAppSettingsState(QState *parent = 0);
+
+    /**
+     * Destructor.
+     *
+     * @since S60 ?S60_version.
+     */
+    virtual ~HsViewAppSettingsState();
+    
+private 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 settingsDone();
+    
+signals:
+        void initialize(const QString &aUid);      
+
+protected:
+
+    void onEntry(QEvent *event);
+
+private:
+
+    /**
+     * Constructs contained objects.
+     *
+     * @since S60 ?S60_version.
+     */
+    void construct();
+    
+    /**
+     * Returns pointer to tha main window.
+     *
+     * @since S60 ?S60_version.
+     * @return Pointer to the main window.
+     */
+    HbMainWindow *mainWindow() const; 
+    
+    void subscribeForMemoryCardRemove(int entryId);
+
+private:
+    /**
+     * View. Owned.
+     */
+    HbView *mView;
+
+    /**
+     * Previous view. Not owned.
+     */
+    HbView *mPreviousView;
+    
+    /**
+     * Confirm action. Owned.
+     */
+    HbAction *mActionConfirm;
+    
+    CaNotifier *mNotifier;
+
+};
+
+
+
+#endif //HSVIEWAPPSETTINGSSTATE_H
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/resource/hsmenuworkerstateplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<?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>
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddappstocollectionstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddappstocollectionstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -160,28 +160,28 @@
     // 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);
+    		SIGNAL(transitToNewCollectionState()), mNewCollectionState);
     mSelectCollectionState->addTransition(this,
-                                          SIGNAL(transitToSaveState(int)), saveState);
+    		SIGNAL(transitToSaveState(int)), saveState);
     mNewCollectionState->addTransition(this,
-                                       SIGNAL(transitToSaveState(QString)), saveState);
+    		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);
+    		SIGNAL(transitToAppsCheckListState(int)), mAppsCheckListState);
     mNewCollectionState->addTransition(this,
-                                       SIGNAL(transitToAppsCheckListState(QString)), mAppsCheckListState);
+    		SIGNAL(transitToAppsCheckListState(QString)), mAppsCheckListState);
     mAppsCheckListState->addTransition(this,
-                                       SIGNAL(transitToSaveState(QList<int>)), saveState);
+    		SIGNAL(transitToSaveState(QList<int>)), saveState);
 
     mSelectCollectionState->addTransition(this,
-                                          SIGNAL(transitToFinalState()),finalState);
+    		SIGNAL(transitToFinalState()),finalState);
     mNewCollectionState->addTransition(this,
-                                       SIGNAL(transitToFinalState()), finalState);
+    		SIGNAL(transitToFinalState()), finalState);
     mAppsCheckListState->addTransition(this,
-                                       SIGNAL(transitToFinalState()), finalState);
+    		SIGNAL(transitToFinalState()), finalState);
 
     //transition to final state after save
     saveState->addTransition(finalState);
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddtohomescreenstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsaddtohomescreenstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -78,19 +78,16 @@
     HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
     QVariantMap data = menuEvent->data();
 
-    const QString entryTypeName = data.value(entryTypeNameKey()).toString();
-
     const int entryId = data.value(itemIdKey()).toInt();
+    QSharedPointer<CaEntry> entry = CaService::instance()->getEntry(entryId);
+    const QString entryTypeName = entry->entryTypeName();
 
     if (entryTypeName == widgetTypeName()) {
-        const QString uri = data.value(widgetUriAttributeName()).toString();
+        const QString uri = entry->attribute(widgetUriAttributeName());
         addWidget(*contentService(), uri, entryId);
-        HsMenuService::touch(entryId);
-    } else if (entryTypeName==templatedApplicationTypeName()) {
-        addTApplication(*contentService(), entryId, data);
-        HsMenuService::touch(entryId);
+        HsMenuService::touch(entryId);        
     } else {
-        addShortcut(*contentService(), entryId);
+        addApplication(*contentService(), *entry);
     }
 
     HSMENUTEST_FUNC_EXIT("HsAddToHomeScreenState::onEntry");
@@ -151,34 +148,14 @@
 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()) {
-        QVariantHash params;
-        params[LIBRARY] = mLibraryPath;
-        params[URI] = SHORTCUT_WIDGET_URI;
-        QVariantHash preferences;
-        preferences[SHORTCUT_ID] = QString::number(entryId);
-        params[PREFERENCES] = preferences;
-        const bool result = contentService.createWidget(params);
-        logActionResult("Adding shortcut", entryId, result);
-    }
+    QVariantHash params;
+    params[URI] = SHORTCUT_WIDGET_URI;
+    QVariantHash 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");
 }
 
@@ -189,34 +166,33 @@
  \param data: data from event
  \retval void
  */
-void HsAddToHomeScreenState::addTApplication(HsContentService &contentService,
-        int entryId, QVariantMap &data)
-{
-    CaEntry* entry = CaService::instance()->getEntry(entryId);
-    
-
-    if (entry->attributes().contains(widgetUriAttributeName())) {
+void HsAddToHomeScreenState::addApplication(HsContentService &contentService,
+                                             CaEntry& entry)
+{   
+    if (entry.attributes().contains(widgetUriAttributeName())) {
         QVariantHash params;
-        const QString uri = entry->attribute(widgetUriAttributeName());
-        params[URI] = uri;
+        const QString uri = entry.attribute(widgetUriAttributeName());
+        params[URI] = uri;       
         
         QVariantHash preferences;
-        QVariantMap widgetParams = data.value(widgetParam()).toMap();
-        QMapIterator<QString, QVariant> i(widgetParams);
+        QMap<QString, QString> attributes = entry.attributes();
+        QMapIterator<QString, QString> i(attributes);
         while (i.hasNext()) {
             i.next();
             QString key(i.key());
-            QString value = i.value().toString();
-            preferences.insert(key.remove(widgetParam()), value);
+            QString value(i.value());
+            if (key.contains(widgetParam())) {
+                preferences.insert(key.remove(widgetParam()),value);
+            }
         }
         params[PREFERENCES] = preferences;
 
         bool ok = contentService.createWidget(params);
         if (!ok) {
-            addShortcut(contentService, entryId);
+            addShortcut(contentService, entry.id());
         }
     } else {
-        addShortcut(contentService, entryId);
+        addShortcut(contentService, entry.id());
     }
 }
 
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsappschecklist.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsappschecklist.cpp	Mon May 03 12:24:59 2010 +0300
@@ -27,7 +27,7 @@
 
 /*!
  \class HsAppsCheckList
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Application Library State.
  State responsible for selecting a group of applications to be added to
  a collection.
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsarrangestate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -31,7 +31,7 @@
 
 /*!
  \class HsArrangeState
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Application Library State.
  State responsible for arrange collection's entries.
  */
@@ -82,14 +82,9 @@
     HSMENUTEST_FUNC_ENTRY("HsArrangeState::save");
 
     getArrangedEntriesIds(listWidget);
-    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;
-            }
-        }
+    if (mArrangedCollIdList != mCollIdList) {
+        HsMenuService::organizeCollection(
+            HsMenuService::allCollectionsId(), mArrangedCollIdList);
     }
 
     HSMENUTEST_FUNC_EXIT("HsArrangeState::save");
@@ -129,6 +124,9 @@
     if (mEntriesList != NULL && mDialog != NULL) {
 
         mItemModel = HsMenuService::getAllCollectionsModel();
+        // as we copy the model contents to the list widget
+        // we do not need the model to auto update
+        mItemModel->setAutoUpdate(false);
         
         fulfillEntriesList(*mEntriesList);
     
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamedialog.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamedialog.cpp	Mon May 03 12:24:59 2010 +0300
@@ -26,7 +26,7 @@
 
 /*!
  \class HsCollectionNameDialog
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Rename Collection State.
  Collection name state
  */
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamestate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionnamestate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -25,7 +25,7 @@
 
 /*!
  \class HsCollectionNameState
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Rename Collection State.
  Collection name state
  */
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hscollectionslistdialog.cpp	Mon May 03 12:24:59 2010 +0300
@@ -27,7 +27,7 @@
 
 /*!
  \class HsCollectionsListDialog
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Hs List Dialog
  Hs List Dialog
  */
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionitemstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionitemstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -24,7 +24,7 @@
 
 /*!
  \class HsDeleteCollectionItemState
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Delete Collection Item State.
  Deletes app from collection.
  */
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsdeletecollectionstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -26,7 +26,7 @@
 
 /*!
  \class HsDeleteCollectionState
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Delete Collection State.
  Deletes collections.
  */
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsmenuworkerstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -25,9 +25,10 @@
 #include "hscollectionnamestate.h"
 #include "hsarrangestate.h"
 #include "hspreviewhswidgetstate.h"
+#include "hsviewappsettingsstate.h"
 /*!
  \class HsMenuWorkerState
- \ingroup group_hsmenustateplugin
+ \ingroup group_hsworkerstateplugin
  \brief Menu Worker State.
  */
 
@@ -97,6 +98,7 @@
                                             SIGNAL(finished()), mInitialState);
 
     createChildState<HsPreviewHSWidgetState> (HsMenuEvent::PreviewHSWidget);
+    createChildState<HsViewAppSettingsState> (HsMenuEvent::ShowAppSettings);
 
     HSMENUTEST_FUNC_EXIT("HsMenuWorkerState::construct");
 }
--- a/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hspreviewhswidgetstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hspreviewhswidgetstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -55,10 +55,12 @@
 HsPreviewHSWidgetState::HsPreviewHSWidgetState(QState *parent) :
     HsMenuBaseState(HS_PREVIEW_HS_WIDGET_STATE, parent),
     mPopupDialog(0),
-    mNotifier(0)
+    mNotifier(0),
+    mScrollArea(0),
+    mWidget(0),
+    mEntryId(0)
 {
     requestServices(QList<QVariant> () << CONTENT_SERVICE_KEY);
-    connect(this, SIGNAL(exited()),SLOT(stateExited()));
 }
 
 /*!
@@ -93,13 +95,13 @@
     HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
     QVariantMap data = menuEvent->data();
 
-    const int entryId = data.value(itemIdKey()).toInt();
+    mEntryId = data.value(itemIdKey()).toInt();
 
     QVariantHash widgetData;
     widgetData.insert(LIBRARY, data.value(widgetLibraryAttributeName()).toString());
     widgetData.insert(URI, data.value(widgetUriAttributeName()).toString());
-    QScopedPointer<HsWidgetHost> widget(
-        contentService()->createWidgetForPreview(widgetData));
+
+    QScopedPointer<HsWidgetHost> widget(contentService()->createWidgetForPreview(widgetData));
 
     if (widget) {
         widget->setMinimumSize(widget->preferredWidth(),widget->preferredHeight());
@@ -116,41 +118,33 @@
         mPopupDialog = 
             qobject_cast<HbDialog*>(
                 loader.findWidget(HS_WIDGET_PREVIEW_DIALOG_NAME));
-        
-        HbScrollArea *const scrollArea( 
+
+        mScrollArea =
             qobject_cast<HbScrollArea*>(
-                loader.findWidget(HS_WIDGET_PREVIEW_SCROLL_AREA_NAME)));
-        
-        if (mPopupDialog != NULL && scrollArea != NULL) {
-            mPopupDialog->setContentWidget(scrollArea); //ownership transferred
+                loader.findWidget(HS_WIDGET_PREVIEW_SCROLL_AREA_NAME));
+
+        // set parent to actions to delete them together with dialog
+        mPopupDialog->primaryAction()->setParent(mPopupDialog);
+        mPopupDialog->secondaryAction()->setParent(mPopupDialog);
+
+        if (mPopupDialog != NULL && mScrollArea != NULL) {
+            mPopupDialog->setContentWidget(mScrollArea); // ownership transferred
             mPopupDialog->setTimeout(HbPopup::NoTimeout);
-            scrollArea->verticalScrollBar()->setInteractive(true);
-            scrollArea->horizontalScrollBar()->setInteractive(true);
-            scrollArea->setContentWidget(widget.data());
-            scrollArea->takeContentWidget();
+            mPopupDialog->setAttribute(Qt::WA_DeleteOnClose, true);
+            mScrollArea->verticalScrollBar()->setInteractive(true);
+            mScrollArea->horizontalScrollBar()->setInteractive(true);
+            mWidget = widget.take(); // ownership transfered
+            mScrollArea->setContentWidget(mWidget); // ownership transferred
             
-            subscribeForMemoryCardRemove(entryId);
-            widget->initializeWidget();
-            widget->showWidget();
-            // Launch popup syncronously
-            const HbAction *const action(mPopupDialog->exec());
-    
-            disconnect(mNotifier,
-                       SIGNAL(entryChanged(CaEntry,ChangeType)),
-                       this, SLOT(memoryCardRemoved()));
-    
-            if (action == mPopupDialog->primaryAction()) {
-                widget->hideWidget();
-                HsScene::instance()->activePage()->addNewWidget(
-                    widget.take()); // ownership transferred
-            } else {
-                widget->uninitializeWidget();
-                widget->deleteFromDatabase();
-            }
+            subscribeForMemoryCardRemove();
+            mWidget->initializeWidget();
+            mWidget->showWidget();
+            // Launch popup asyncronously
+            mPopupDialog->open(this, SLOT(previewDialogFinished(HbAction*)));    
         }
 
     } else {
-        showMessageWidgetCorrupted(entryId);
+        showMessageWidgetCorrupted();
     }
 
     HSMENUTEST_FUNC_EXIT("HsPreviewHSWidgetState::onEntry");
@@ -159,26 +153,6 @@
 #pragma CTC ENDSKIP
 #endif //COVERAGE_MEASUREMENT
 
-/*!
- State exited.
- \retval void
- */
-void HsPreviewHSWidgetState::stateExited()
-{
-    HSMENUTEST_FUNC_ENTRY("HsPreviewHSWidgetState::stateExited");
-
-
-    delete mNotifier;
-    mNotifier = NULL;
-
-    qDeleteAll(mObjectList);
-    mObjectList.clear();
-    
-    mPopupDialog = NULL;
-
-    HSMENUTEST_FUNC_EXIT("HsPreviewHSWidgetState::stateExited");
-    qDebug("HsPreviewHSWidgetState::stateExited()");
-}
 
 /*!
  Memory card with instaled widget was removed.
@@ -192,15 +166,50 @@
 }
 
 /*!
- Subscribe for memory card remove.
- \param entryId: HSWidget id.
+ Slot launched on dismissing the preview dialog
  \retval void
  */
-void HsPreviewHSWidgetState::subscribeForMemoryCardRemove(int entryId)
+void HsPreviewHSWidgetState::previewDialogFinished(HbAction* finishedAction)
+{
+    if (mPopupDialog != NULL) { 
+        // (work-around for crash if more then one action is selected in HbDialog)
+        disconnect(mNotifier,
+                   SIGNAL(entryChanged(CaEntry,ChangeType)),
+                   this, SLOT(memoryCardRemoved()));
+
+        if (finishedAction == mPopupDialog->primaryAction()) {
+            mWidget->hideWidget();
+            mScrollArea->takeContentWidget();
+            HsScene::instance()->activePage()->addNewWidget(
+                mWidget); // ownership transferred
+        } else {
+            mWidget->uninitializeWidget();
+            mWidget->deleteFromDatabase();
+        }
+        mPopupDialog = NULL;
+        mScrollArea = NULL;
+        mWidget = NULL;
+
+        delete mNotifier;
+        mNotifier = NULL;
+
+    } else {
+        // (work-around for crash if more then one action is selected in HbDialog)
+        qWarning("Another signal finished was emited.");
+        }
+}
+
+
+
+/*!
+ Subscribe for memory card remove.
+ \retval void
+ */
+void HsPreviewHSWidgetState::subscribeForMemoryCardRemove()
 {
     CaNotifierFilter filter;
     QList<int> entryIds;
-    entryIds.append(entryId);
+    entryIds.append(mEntryId);
     filter.setIds(entryIds);
     mNotifier = CaService::instance()->createNotifier(filter);
     mNotifier->setParent(this);
@@ -212,23 +221,34 @@
 
 /*!
  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)
+void HsPreviewHSWidgetState::showMessageWidgetCorrupted()
 {
     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());
-    }
+    HbMessageBox::question(message, this,
+                SLOT(messageWidgetCorruptedFinished(HbAction*)),
+                hbTrId("txt_common_button_ok"), hbTrId("txt_common_button_cancel"));
+
     HSMENUTEST_FUNC_EXIT("HsCollectionState::showMessageWidgetCorrupted");
 }
 #ifdef COVERAGE_MEASUREMENT
 #pragma CTC ENDSKIP
 #endif //COVERAGE_MEASUREMENT
 
+
+/*!
+ Slot launched on dismissing the corrupted widget error note
+ \retval void
+ */
+void HsPreviewHSWidgetState::messageWidgetCorruptedFinished(HbAction* finishedAction)
+{
+    if (finishedAction && qobject_cast<HbMessageBox*>(finishedAction->parent())->primaryAction() == finishedAction) {
+        HsMenuService::executeAction(mEntryId, removeActionIdentifier());
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/stateplugins/hsmenuworkerstateplugin/src/hsviewappsettingsstate.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,180 @@
+/*
+* 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:  Menu Application Library state.
+ *
+*/
+
+#include <hbmainwindow.h>
+#include <hbview.h>
+#include <hbinstance.h>
+#include <qstatemachine.h>
+#include <hbaction.h>
+#include <qpluginloader.h>
+
+#include "hsdomainmodel_global.h"
+#include "hsapp_defs.h"
+#include "hsmenuevent.h"
+#include "hsviewappsettingsstate.h"
+#include "caentry.h"
+#include "canotifier.h"
+#include "canotifierfilter.h"
+
+#include "hsmenuservice.h"
+
+/*!
+ \class HsCollectionNameDialog
+ \ingroup HsViewAppSettingsState
+ \brief State for showing Application Settings HbView from provided plugin
+ */
+
+/*!
+ Constructor
+ \param parent: parent state
+ \retval void
+ */
+HsViewAppSettingsState::HsViewAppSettingsState(QState *parent) :
+        QState(parent),
+        mView(0), 
+        mPreviousView(0), 
+        mActionConfirm(0),
+        mNotifier(0)
+        
+{
+        construct();
+}
+
+// ---------------------------------------------------------------------------
+// ---------------------------------------------------------------------------
+//
+void HsViewAppSettingsState::construct()
+{
+    setObjectName(this->parent()->objectName()
+                  + "/ViewAppSettingsState");
+}
+
+/*!
+ Destructor.
+ */
+HsViewAppSettingsState::~HsViewAppSettingsState()
+{
+    if (mNotifier) {
+        delete mNotifier;
+    }    
+}
+
+/*!
+ onEntry method invoked on entering the state
+ \param event: event
+ \retval void
+ */
+void HsViewAppSettingsState::onEntry(QEvent *event)
+{
+    HSMENUTEST_FUNC_ENTRY("HsViewAppSettingsState::onEntry");
+    QState::onEntry(event);
+    qDebug("CollectionState::onEntry()");
+    HsMenuEvent *menuEvent = static_cast<HsMenuEvent *>(event);
+    QVariantMap data = menuEvent->data();
+    
+    const int entryId = data.value(itemIdKey()).toInt();   
+    QSharedPointer<const CaEntry> entry = CaService::instance()->getEntry(entryId);    
+    
+    if(mView)
+        {
+    
+        delete mActionConfirm;  
+        mActionConfirm = NULL;    
+    
+        delete mView;  
+        mView = NULL;
+
+        }
+    
+    QString pluginPath(entry->attribute(appSettingsPlugin()));
+    QPluginLoader loader(pluginPath);
+    mView = qobject_cast<HbView *>(loader.instance()); 
+    
+    mActionConfirm = new HbAction(Hb::ConfirmNaviAction, mView);
+    connect(mActionConfirm, SIGNAL(triggered()),SLOT(settingsDone()));
+    
+    if(mView)
+        {    
+        subscribeForMemoryCardRemove(entryId);
+        QObject::connect(this, SIGNAL(initialize(QString)), mView, SLOT(initialize(QString)));        
+        mView->setParent(this);
+        emit initialize(entry->attribute(applicationUidEntryKey()));        
+        // Add View to main window
+        HbMainWindow *hbMainWindow = mainWindow();
+        // add confirm action
+        mView->setNavigationAction(mActionConfirm);
+    
+        hbMainWindow->addView(mView);
+        // record the current view in order to activate it once done
+        mPreviousView = hbMainWindow->currentView();
+        hbMainWindow->setCurrentView(mView);
+        hbMainWindow->show();
+        }
+
+    
+    HSMENUTEST_FUNC_EXIT("HsViewAppSettingsState::onEntry");
+}
+
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+HbMainWindow *HsViewAppSettingsState::mainWindow() const
+{
+    return HbInstance::instance()->allMainWindows().value(0);
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC SKIP
+#endif //COVERAGE_MEASUREMENT
+void HsViewAppSettingsState::settingsDone()
+{
+    // Remove mView from main window and restore previous view.
+    HbMainWindow *hbMainWindow = mainWindow();
+    hbMainWindow->setCurrentView(mPreviousView);
+    hbMainWindow->removeView(mView);
+    delete mActionConfirm;
+    mActionConfirm = NULL;
+    delete mView;
+    mView = NULL;
+}
+#ifdef COVERAGE_MEASUREMENT
+#pragma CTC ENDSKIP
+#endif //COVERAGE_MEASUREMENT
+
+/*!
+ Subscribe for memory card remove.
+ \param entryId: entry id.
+ \retval void
+ */
+void HsViewAppSettingsState::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(CaEntry,ChangeType)),
+            SLOT(settingsDone()));
+}
+
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -17,12 +17,9 @@
 TEMPLATE = lib
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework
-win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F6C
-symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F6C
+PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F6C
 include(../../common.pri)
 
-LIBS += -lhswidgetmodel
-
 DEPENDPATH += ./inc \
               ./src
 
@@ -30,7 +27,7 @@
 
 symbian: {
     TARGET.UID3 = 0x20022F6C
-    LIBS += -lbafl
+    LIBS += -lbafl -lapgrfx -lcone
     
     
 }
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin.qrc	Mon May 03 12:24:59 2010 +0300
@@ -1,6 +1,6 @@
 <RCC>
-    <qresource prefix="/xml" >
-        <file alias="hsdigitalclockwidget.docml">resource/hsdigitalclockwidget.docml</file>
-        <file alias="hsanalogclockwidget.docml">resource/hsanalogclockwidget.docml</file>
+    <qresource>
+        <file alias="hsanalogclockwidget.css">resource/hsanalogclockwidget.css</file>
+        <file alias="hsanalogclockwidget.widgetml">resource/hsanalogclockwidget.widgetml</file>
     </qresource>
 </RCC>
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_win.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/hsclockwidgetplugin_win.pri	Mon May 03 12:24:59 2010 +0300
@@ -14,17 +14,13 @@
 # Description:
 #
 
-HEADERS +=  ./inc/hsanalogclockstyleoption.h \
-            ./inc/hsanalogclockwidget.h \
+HEADERS +=  ./inc/hsanalogclockwidget.h \
             ./inc/hsclockwidget.h \
-            ./inc/hsclockwidgetdocumentloader.h \
             ./inc/hsclockwidgetplugin.h \
             ./inc/hsdigitalclockwidget.h 
 
-SOURCES +=  ./src/hsanalogclockstyleoption.cpp \
-            ./src/hsanalogclockwidget.cpp \
+SOURCES +=  ./src/hsanalogclockwidget.cpp \
             ./src/hsclockwidget.cpp \
-            ./src/hsclockwidgetdocumentloader.cpp \
             ./src/hsclockwidgetplugin.cpp \
             ./src/hsdigitalclockwidget.cpp 
 
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockstyleoption.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsanalogclockwidget.h	Mon May 03 12:24:59 2010 +0300
@@ -20,18 +20,19 @@
 
 #include <QGraphicsSvgItem>
 #include <hbwidget.h>
-#include "hsanalogclockstyleoption.h"
 #include <hstest_global.h>
 
 HOMESCREEN_TEST_CLASS(TestClockWidget)
 
+class HbIconItem;
+
 class HsAnalogClockWidget : public HbWidget
 {
     Q_OBJECT
 
 public:
 
-    explicit HsAnalogClockWidget(const QString &stylePluginName = QString(), QGraphicsItem *parent = 0);
+    explicit HsAnalogClockWidget(QGraphicsItem *parent = 0);
     virtual ~HsAnalogClockWidget();
 
 public slots:
@@ -45,21 +46,17 @@
 
 private:
 
-    void createPrimitives();
     void updatePrimitives();
 
 private:
 
-    QGraphicsItem *mClockBackground;
-    QGraphicsItem *mClockHourHand;
-    QGraphicsItem *mClockMinuteHand;
+    HbIconItem *mClockBackground;
+    HbIconItem *mClockHourHand;
+    HbIconItem *mClockMinuteHand;
     
-    QString mStylePluginName;
-
     Q_DISABLE_COPY(HsAnalogClockWidget)
 
     HOMESCREEN_TEST_FRIEND_CLASS(TestClockWidget)
-
 };
 
 
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidget.h	Mon May 03 12:24:59 2010 +0300
@@ -25,7 +25,6 @@
 #include <QImage>
 #include <hbwidget.h>
 #include <hstest_global.h>
-#include "hsanalogclockstyleoption.h"
 
 HOMESCREEN_TEST_CLASS(TestClockWidget)
 
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/inc/hsclockwidgetdocumentloader.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: 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/resource/hsanalogclockwidget.css	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,21 @@
+HsAnalogClockWidget {
+	layout: layout_1;
+}
+
+HsAnalogClockWidget::clock_background {
+  fixed-width: 25.0un;
+  fixed-height: 25.0un;
+  zvalue: 0;
+}
+
+HsAnalogClockWidget::clock_minute_hand {
+  fixed-width: 25.0un;
+  fixed-height: 25.0un;
+  zvalue: 1;
+}
+
+HsAnalogClockWidget::clock_hour_hand {
+  fixed-width: 25.0un;
+  fixed-height: 25.0un;
+  zvalue: 2;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsanalogclockwidget.widgetml	Mon May 03 12:24:59 2010 +0300
@@ -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>
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/resource/hsclockwidgetplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<?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.symbian.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
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockstyleoption.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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()
-{
-}
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsanalogclockwidget.cpp	Mon May 03 12:24:59 2010 +0300
@@ -19,11 +19,8 @@
 #include <QGraphicsGridLayout>
 #include <QTime>
 #include <QDir>
-
-namespace
-{
-    const char PLUGIN_PATH[] = "/hsresources/plugins/styleplugins/hsanalogclockstyleplugin.dll";
-}
+#include <HbIconItem>
+#include <HbStyleLoader>
 
 /*!
     \class HsAnalogClockWidget
@@ -37,20 +34,15 @@
 
     Constructs widget.
 */
-HsAnalogClockWidget::HsAnalogClockWidget(const QString &stylePluginName, QGraphicsItem *parent)
+HsAnalogClockWidget::HsAnalogClockWidget(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));
+    HbStyleLoader::registerFilePath(":/hsanalogclockwidget.widgetml");
+    HbStyleLoader::registerFilePath(":/hsanalogclockwidget.css");
 
-    createPrimitives();
     updatePrimitives();
 }
 
@@ -65,7 +57,8 @@
     delete mClockHourHand;
     delete mClockMinuteHand;
 
-    style()->unregisterPlugin(mStylePluginName);    
+    HbStyleLoader::registerFilePath(":/hsanalogclockwidget.widgetml");
+    HbStyleLoader::registerFilePath(":/hsanalogclockwidget.css");
 }
 
 /*!
@@ -78,52 +71,47 @@
 }
 
 /*!
-    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;
+    if (!mClockBackground) {
+        mClockBackground = new HbIconItem(QLatin1String("qtg_graf_clock_day_bg"), this);
+        HbStyle::setItemName(mClockBackground, QLatin1String("clock_background"));
     }
 
     // Calculate angles for clock hands.
     QTime time = QTime::currentTime();
     qreal s = 6 * time.second();
     qreal m = 6 * (time.minute() + s/360);
-    qreal h = 30 * ((time.hour() % 12) + m/360)-90;
-    HsAnalogClockStyleOption option;
-    initStyleOption(&option);
-    option.mM = m;
-    option.mH = h;
+    qreal h = 30 * ((time.hour() % 12) + m/360);
+
+	if (!mClockHourHand) {
+        mClockHourHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_hour"), this);
+        HbStyle::setItemName(mClockHourHand, QLatin1String("clock_hour_hand"));
+    }
 
-    if (mClockBackground) {
-        style()->updatePrimitive(mClockBackground, (HbStyle::Primitive)(pluginBaseId()), &option);
+    // these should work but don't
+    //int x = mClockHourHand->iconItemSize().width()/2;
+    //int y = mClockHourHand->iconItemSize().height()/2;
+    // workaround
+    int x = mClockHourHand->preferredSize().width()/2;
+    int y = mClockHourHand->preferredSize().height()/2;
+    mClockHourHand->setTransform(QTransform().translate(x, y).rotate(h).translate(-x, -y));
+
+	if (!mClockMinuteHand) {
+        mClockMinuteHand = new HbIconItem(QLatin1String("qtg_graf_clock_day_min"), this);
+        HbStyle::setItemName(mClockMinuteHand, QLatin1String("clock_minute_hand"));
     }
-    if (mClockHourHand) {
-        style()->updatePrimitive(mClockHourHand, (HbStyle::Primitive)(pluginBaseId()+hourHandItemIndex), &option);
-    }
-    if (mClockMinuteHand) {
-        style()->updatePrimitive(mClockMinuteHand, (HbStyle::Primitive)(pluginBaseId()+minuteHandItemIndex), &option);
-    }
+
+    // these should work but don't
+    //int x = mClockMinuteHand->iconItemSize().width()/2;
+    //int y = mClockMinuteHand->iconItemSize().height()/2;
+    // workaround
+    x = mClockMinuteHand->preferredSize().width()/2;
+    y = mClockMinuteHand->preferredSize().height()/2;
+    mClockMinuteHand->setTransform(QTransform().translate(x, y).rotate(m).translate(-x, -y));
+
 }
 
 /*!
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidget.cpp	Mon May 03 12:24:59 2010 +0300
@@ -21,30 +21,31 @@
 #include <QGraphicsLinearLayout>
 #include <hblabel.h>
 #include <hbextendedlocale.h>
+#include <hbdeviceprofile.h> // temp
 
 #include "hsclockwidget.h"
 #include "hsanalogclockwidget.h"
 #include "hsdigitalclockwidget.h"
-#include "hsclockwidgetdocumentloader.h"
 
 #ifdef Q_OS_SYMBIAN    
 #include "hsclockwidgettype_symbian.h"
-#endif
+#include <apgtask.h>
+#include <eikenv.h>
+#endif //Q_OS_SYMBIAN
 
 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
 }
 
+#ifdef Q_OS_SYMBIAN
+#define KClockAppUid TUid::Uid(0x10005903)
+_LIT (KClockAppExe, "clock.exe");
+#endif //Q_OS_SYMBIAN
+
 /*!
     \class HsClockWidget
     \ingroup group_hsclockwidgetplugin
@@ -201,9 +202,26 @@
     update();
 
     mTimer->start(clockUpdateInterval);
-#endif    
+#else //Q_OS_SYMBIAN
+    TApaTaskList taskList(CEikonEnv::Static()->WsSession());    
+    TApaTask task = taskList.FindApp(KClockAppUid);    
+    if (task.Exists()){
+        task.BringToForeground();
+    }    
+    else {
+        RProcess process;
+        TInt error = process.Create(KClockAppExe, KNullDesC, EOwnerThread);
+    
+        if (error == KErrNone){
+            // start the process running.
+            process.Resume();
+            process.Close();
+        }
+    }
+#endif //Q_OS_SYMBIAN   
 }
 
+  
 /*!
     Toggles the clock type.
 */
@@ -223,35 +241,22 @@
 {
     HbWidget *clockWidget = 0;
 
-    QString docmlFile;
     if (mClockType == DIGITAL) {
-        docmlFile = DIGITAL_CLOCK_DOCML;
+        clockWidget = new HsDigitalClockWidget();
+        clockWidget->setBackgroundItem(HbStyle::P_Fade_background);
     } else {
-        docmlFile = ANALOG_CLOCK_DOCML;
+        clockWidget = new HsAnalogClockWidget();
     }
 
-    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!
-    }
+    qreal unit = HbDeviceProfile::current().unitValue(); 
+    clockWidget->setPreferredSize(QSizeF(25 * unit, 25 * unit)); // TODO: temp workaround
 
     return clockWidget;
 }
 
 void HsClockWidget::onTypeChanged(QString type)
 {
+  Q_UNUSED(type);
 #if 0
     if (mClockType != type) {
         mTimer->stop();
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/src/hsclockwidgetdocumentloader.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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);
-}
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  hsanalogclockstyleplugin.pri
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += ./inc \
-              ./src \
-              ./resource
-
-INCLUDEPATH += ./inc \
-               ./../../inc
-
-
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-# 
-# Description:  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
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/hsanalogclockstyleplugin.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource>
-        <file alias="hsanalogclockwidget.css">resource/hsanalogclockwidget.css</file>
-        <file alias="hsanalogclockwidget.widgetml">resource/hsanalogclockwidget.widgetml</file>
-    </qresource>
-</RCC>
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/inc/hsanalogclockstyleplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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;
-    QGraphicsItem *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
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockstyleplugin.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-common.pri currently requires manifest file
\ No newline at end of file
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-HsAnalogClockWidget {
-	layout: layout_1;
-}
-
-HsAnalogClockWidget::clock_background {
-  fixed-width: 25.0un;
-  fixed-height: 25.0un;
-  zvalue: 0;
-}
-
-HsAnalogClockWidget::clock_minute_hand {
-  fixed-width: 25.0un;
-  fixed-height: 25.0un;
-  zvalue: 1;
-}
-
-HsAnalogClockWidget::clock_hour_hand {
-  fixed-width: 25.0un;
-  fixed-height: 25.0un;
-  zvalue: 2;
-}
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/resource/hsanalogclockwidget.widgetml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<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>
--- a/homescreenapp/widgetplugins/hsclockwidgetplugin/styles/hsanalogclockstyleplugin/src/hsanalogclockstyleplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +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:  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()
- */
-QGraphicsItem* 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");
-        return item;
-    }
-    else if (primitive == hourHandItemIndex) {
-        HbIconItem *item = new HbIconItem("qtg_graf_clock_day_hour", parent);
-        HbStyle::setItemName(item, "clock_hour_hand");
-        return item;
-    }
-    else if (primitive == minuteHandItemIndex) {
-        HbIconItem *item = new HbIconItem("qtg_graf_clock_day_min", parent);
-        HbStyle::setItemName(item, "clock_minute_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
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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:
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/hsshortcutwidgetplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -18,11 +18,15 @@
 CONFIG += plugin hb mobility
 MOBILITY = serviceframework
 
-win32: PLUGIN_SUBDIR = /hsresources/import/widgetregistry/20022F46
-symbian: PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F46
+PLUGIN_SUBDIR = /private/20022F35/import/widgetregistry/20022F46
 
 include(../../common.pri)
 
+RESOURCES += hsshortcutwidgetplugin.qrc
+
+HEADERS += ./inc/*.h
+SOURCES += ./src/*.cpp
+
 LIBS += -lhsdomainmodel \
         -lcaclient
 
@@ -36,7 +40,4 @@
     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/hsshortcutwidgetplugin.qrc	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,6 @@
+<RCC>
+  <qresource>
+    <file alias="hsshortcutwidget.css">resource/hsshortcutwidget.css</file>
+    <file alias="hsshortcutwidget.widgetml">resource/hsshortcutwidget.widgetml</file>
+  </qresource>
+</RCC>
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidget.h	Mon May 03 12:24:59 2010 +0300
@@ -11,25 +11,24 @@
 *
 * Contributors:
 *
-* Description:  Shortcut widget
+* Description: Home screen shortcut widget.
 *
 */
 
 #ifndef HSSHORTCUTWIDGET_H
 #define HSSHORTCUTWIDGET_H
 
-#include <QVariant>
-#include <QMap>
+#include <HbWidget>
 
-#include <HbWidget>
+#include "cadefs.h"
 
 #include "hstest_global.h"
-#include "cadefs.h"
-
 HOMESCREEN_TEST_CLASS(TestShortcutWidget)
 
+class HbFrameItem;    
 class HbIconItem;
 class HbTextItem;
+class HbTouchArea;
 class CaEntry;
 
 class HsShortcutWidget : public HbWidget
@@ -41,41 +40,41 @@
     HsShortcutWidget(QGraphicsItem *parent = 0, Qt::WindowFlags flags = 0);
     ~HsShortcutWidget();
 
+    void setMcsId(int mcsId);
     int mcsId() const;
-    void setMcsId(int mcsId);
+
+    bool eventFilter(QObject *watched, QEvent *event);
 
 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);
+    void onEntryChanged(const CaEntry &entry, ChangeType changeType);
 
 private:
-    void constructUI();
+    Q_DISABLE_COPY(HsShortcutWidget)
+
+    void handleMousePressEvent(QGraphicsSceneMouseEvent *event);
+    void handleMouseReleaseEvent(QGraphicsSceneMouseEvent *event);
 
-    HbIcon fetchIcon(int aShortcutId);
-    QString fetchText(int aShortcutId);
+    void updatePrimitives();
+    void createCaNotifier();
+    void updateVisibility();
 
-    void executeCollectionAction(int shortcutId, const QString& collectionType);
-    void createCaNotifier(int aShortcutId);
+private:
+    HbFrameItem *mBackground;
+    HbIconItem *mIcon;
+    HbTextItem *mText;
+    HbTouchArea *mTouchArea;
     
-    void hideOrShowWidget(EntryFlags aEntryFlags);
-    EntryFlags fetchEntryFlags(int aShortcutId);
-
-private:    
-    HbIconItem *mShortcutBackgroundItem;
-    HbIconItem *mShortcutIconItem;
-    HbTextItem *mShortcutTextItem;
+    bool mIsPressed;
 
     int mMcsId;
+    QSharedPointer<CaEntry> mCaEntry;
 
     HOMESCREEN_TEST_FRIEND_CLASS(TestShortcutWidget)
 };
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidgetplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/inc/hsshortcutwidgetplugin.h	Mon May 03 12:24:59 2010 +0300
@@ -11,21 +11,18 @@
 *
 * Contributors:
 *
-* Description:  Homescreen widget plugin
+* Description: Homescreen shortcut 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
@@ -35,7 +32,6 @@
     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/hsshortcutwidget.css	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,60 @@
+HsShortcutWidget {
+  layout: icon_text_shortcut;
+}
+
+HsShortcutWidget[icon][text] {
+  layout: icon_text_shortcut;
+}
+
+HsShortcutWidget[icon][!text] {
+  layout: icon_shortcut;
+}
+
+HsShortcutWidget::background {
+  border-width: 0.0un;
+  fixed-width: 12un;
+  fixed-height: expr(12.5un + var(hb-param-text-height-tiny));
+  zvalue: 0;
+}
+
+HsShortcutWidget[icon][text]::background {
+  border-width: 0.0un;
+  fixed-width: 12un;
+  fixed-height: expr(12.5un + var(hb-param-text-height-tiny));
+  zvalue: 0;
+}
+
+HsShortcutWidget[icon][!text]::background {
+  border-width: 0.0un;
+  fixed-width: 12un;
+  fixed-height: 12un;
+  zvalue: 0;
+}
+
+HsShortcutWidget::icon{
+  left: -0.5un;
+  right: 0.5un;
+  top: -0.5un;
+  bottom: 0.5un;
+  fixed-width: 11.0un;
+  fixed-height: 11.0un;
+  zvalue: 1;
+}
+
+HsShortcutWidget::text{
+  left: -0.5un;
+  right: 0.5un;
+  top: 0.0un;
+  bottom: 0.5un;
+  fixed-width: 11.0un;
+  font-variant: secondary;
+  text-align: center center;
+	text-height: var(hb-param-text-height-tiny);
+	text-line-count-max: 1;
+	color: var(qtc_hs_list_item_title_normal);
+	zvalue: 2;
+}
+
+HsShortcutWidget::toucharea {  
+  zvalue: 3;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidget.widgetml	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,36 @@
+<hbwidget version="0.1" type="HsShortcutWidget">
+  
+  <layout name="icon_text_shortcut" type="mesh">    
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    
+    <meshitem src="icon" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="icon" srcEdge="CENTERH" dst="" dstEdge="CENTERH" />
+    
+    <meshitem src="text" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    <meshitem src="text" srcEdge="CENTERH" dst="" dstEdge="CENTERH" />  
+    
+    <meshitem src="toucharea" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="toucharea" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="toucharea" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="toucharea" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />  
+  </layout>
+  
+  <layout name="icon_shortcut" type="mesh">    
+    <meshitem src="background" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="background" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+    <meshitem src="background" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="background" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    
+    <meshitem src="icon" srcEdge="CENTERV" dst="" dstEdge="CENTERV" />
+    <meshitem src="icon" srcEdge="CENTERH" dst="" dstEdge="CENTERH" /> 
+    
+    <meshitem src="toucharea" srcEdge="LEFT" dst="" dstEdge="LEFT" />
+    <meshitem src="toucharea" srcEdge="RIGHT" dst="" dstEdge="RIGHT" />
+    <meshitem src="toucharea" srcEdge="TOP" dst="" dstEdge="TOP" />
+    <meshitem src="toucharea" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" />
+  </layout>
+  
+</hbwidget>
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/resource/hsshortcutwidgetplugin.s60xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-<?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.symbian.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
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidget.cpp	Mon May 03 12:24:59 2010 +0300
@@ -11,16 +11,18 @@
 *
 * Contributors:
 *
-* Description:  Shortcut widget
+* Description: Home screen shortcut widget.
 *
 */
 
-#include <QGraphicsLinearLayout>
 #include <QGraphicsSceneMouseEvent>
 
-#include <HbStackedLayout>
+#include <HbStyleLoader>
+#include <HbFrameItem>
+#include <HbFrameDrawer>
 #include <HbIconItem>
 #include <HbTextItem>
+#include <HbTouchArea>
 
 #include "hsshortcutwidget.h"
 #include "hsshortcutservice.h"
@@ -30,52 +32,37 @@
 
 /*!
     \class HsShortcutWidget
-    \ingroup group_hsshortcutwidgetprovider
+    \ingroup group_hsshortcutwidgetplugin
     \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
+    Constructor.
 */
 HsShortcutWidget::HsShortcutWidget(QGraphicsItem *parent, Qt::WindowFlags flags)
   : HbWidget(parent, flags),
-    mShortcutBackgroundItem(0),
-    mShortcutIconItem(0),
-    mShortcutTextItem(0),
-    mMcsId(-1)    
+    mBackground(0), mIcon(0), mText(0), mTouchArea(0),
+    mIsPressed(false),
+    mMcsId(-1), mCaEntry() 
 {
-    setPreferredSize(QSizeF(82,82));
-    resize(82,82);    
+    HbStyleLoader::registerFilePath(":/hsshortcutwidget.widgetml");
+    HbStyleLoader::registerFilePath(":/hsshortcutwidget.css");
 }
 
 /*!
-    \fn HsShortcutWidget::~HsShortcutWidget()
-
-    Destructor
+    Destructor.
 */
 HsShortcutWidget::~HsShortcutWidget()
 {
+    HbStyleLoader::unregisterFilePath(":/hsshortcutwidget.widgetml");
+    HbStyleLoader::unregisterFilePath(":/hsshortcutwidget.css");
 }
 
 /*!
-    Getter for menu content service id
-*/
-int HsShortcutWidget::mcsId() const
-{
-    return mMcsId;
-}
-
-/*!
-    Sets menu content service id to \a mcsId
+    Sets the menu content service id.
 */
 void HsShortcutWidget::setMcsId(int mcsId)
 {
@@ -83,194 +70,186 @@
 }
 
 /*!
-    \fn void HsShortcutWidget::onEntryChanged(const CaEntry &entry, ChangeType changeType)
-    
-    Invoked when \a entry has changed with a \a changeType event.
+    Returns the menu content service id.
 */
-void HsShortcutWidget::onEntryChanged(const CaEntry &entry, ChangeType changeType)
+int HsShortcutWidget::mcsId() const
 {
+    return mMcsId;
+}
 
-    switch(changeType) {
-        case RemoveChangeType: {
-            emit finished();
+/*!
+    Filters touch area events.
+*/
+bool HsShortcutWidget::eventFilter(QObject *watched, QEvent *event)
+{
+    Q_UNUSED(watched)
+
+    switch (event->type()) {
+        case QEvent::GraphicsSceneMousePress:
+            handleMousePressEvent(static_cast<QGraphicsSceneMouseEvent *>(event));
             break;
-        }
-        case UpdateChangeType: {
-            hideOrShowWidget(entry.flags());
-            mShortcutIconItem->setIcon(fetchIcon(mMcsId));
+
+        case QEvent::GraphicsSceneMouseRelease:
+            handleMouseReleaseEvent(static_cast<QGraphicsSceneMouseEvent *>(event));
+            break;
+
+        default:            
+            break;
+    }
+
+    return true;
+}
 
-            QString text = fetchText(mMcsId);
-            mShortcutTextItem->setText(text);            
-            break;
-        }
-        default:
-            break;
+/*!
+    Initializes this widget.
+*/
+void HsShortcutWidget::onInitialize()
+{
+    mCaEntry = CaService::instance()->getEntry(mMcsId);
+    if (!mCaEntry.isNull()) {
+        createCaNotifier(); 
+        updatePrimitives();
+    } else {
+        emit finished();
     }
 }
 
 /*!
-    \fn void HsShortcutWidget::onInitialize()
-
-    Initializes shortcut
+    Wakes up this widget.
 */
-void HsShortcutWidget::onInitialize()
+void HsShortcutWidget::onShow()
 {
-    constructUI();
-
-    if (!HsShortcutService::instance() || mMcsId < 0) {
-        emit finished();
-    }
-
-    createCaNotifier(mMcsId);
-    
-    mShortcutIconItem->setIcon(fetchIcon(mMcsId));
-
-    QString text = fetchText(mMcsId);
-    mShortcutTextItem->setText(text);
-
-    setEnabled(true);
+    updateVisibility();
 }
 
 /*!
-    \fn void HsClockWidget::show()
-
-    Shows the widget
-*/
-void HsShortcutWidget::onShow()
-{
-    hideOrShowWidget(fetchEntryFlags(mMcsId));
-}
-
-/*!
-    \fn void HsClockWidget::show()
-
-    Hides the widget
+    Puts this widget in quiescent state.
 */
 void HsShortcutWidget::onHide()
 {
 }
 
 /*!
-    \fn void HsShortcutWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-
-    Executes configured action
+    Invoked when \a entry has changed with a \a changeType.
 */
-void HsShortcutWidget::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
-{   
-    if (!contains(event->pos())) {
-        return;
-    }
+void HsShortcutWidget::onEntryChanged(const CaEntry &entry, ChangeType changeType)
+{
+    Q_UNUSED(entry)
+
+    mCaEntry = CaService::instance()->getEntry(mMcsId);
 
-    CaEntry *entry = CaService::instance()->getEntry(mMcsId);
-    if (!entry) {
-        return;
-    }
-
-    if (entry->role() == ItemEntryRole) {
-        CaService::instance()->executeCommand(mMcsId);
-    } else {
-        executeCollectionAction(mMcsId, entry->entryTypeName());
+    switch(changeType) {
+        case RemoveChangeType:
+            emit finished();
+            break;
+        case UpdateChangeType:
+            updateVisibility();
+            updatePrimitives();
+            break;
+        default:
+            break;
     }
 }
 
 /*!
-    \fn void HsShortcutWidget::constructUI()
-
-    Constructs and initializes ui parts
+    Mouse press handler.
 */
-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);
+void HsShortcutWidget::handleMousePressEvent(QGraphicsSceneMouseEvent *event)
+{   
+    Q_UNUSED(event)
 
-    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();    
+    mIsPressed = true;
+    updatePrimitives();
 }
 
 /*!
-    \internal
+    Mouse release handler.
 */
-QString HsShortcutWidget::fetchText(int aShortcutId)
+void HsShortcutWidget::handleMouseReleaseEvent(QGraphicsSceneMouseEvent *event)
 {
-	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);
-}
+    mIsPressed = false;
+    updatePrimitives();
 
-/*!
-    \internal
-*/
-void HsShortcutWidget::createCaNotifier(int aShortcutId)
-{
-    CaNotifierFilter filter;
-    filter.setIds(QList<int>() << aShortcutId);
-    
-    CaNotifier *itemNotifier = CaService::instance()->createNotifier(filter);
-    itemNotifier->setParent(this);
+    if (!contains(event->pos())) {
+        return;
+    }
 
-    connect(itemNotifier,
-        SIGNAL(entryChanged(CaEntry,ChangeType)),
-        SLOT(onEntryChanged(CaEntry,ChangeType)),Qt::QueuedConnection);
-}
-
-/*!
-    \internal
-*/
-void HsShortcutWidget::hideOrShowWidget(EntryFlags aEntryFlags)
-{
-    if (aEntryFlags.testFlag(MissingEntryFlag)) {
-        hide();
+    if (mCaEntry->role() == ItemEntryRole) {
+        CaService::instance()->executeCommand(mMcsId);
     } else {
-        show();
+        HsShortcutService::instance()->executeCollectionAction(mMcsId, mCaEntry->entryTypeName());
     }
 }
 
 /*!
     \internal
 */
-EntryFlags HsShortcutWidget::fetchEntryFlags(int aShortcutId)
+void HsShortcutWidget::updatePrimitives()
+{   
+    // Background
+    if (!mBackground) {
+        HbFrameDrawer *drawer = new HbFrameDrawer(
+            QLatin1String("qtg_fr_hsshortcut_normal"), HbFrameDrawer::NinePieces);
+        mBackground = new HbFrameItem(drawer, this);
+        HbStyle::setItemName(mBackground, QLatin1String("background"));
+    }
+    if (mIsPressed) {        
+        mBackground->frameDrawer().setFrameGraphicsName(QLatin1String("qtg_fr_hsitems_pressed"));
+    } else {
+        mBackground->frameDrawer().setFrameGraphicsName(QLatin1String("qtg_fr_hsshortcut_normal"));
+    }
+
+    // Icon
+    if (!mIcon) {
+        mIcon = new HbIconItem(this);
+        HbStyle::setItemName(mIcon, QLatin1String("icon"));
+    }
+    mIcon->setIcon(mCaEntry->makeIcon());
+    
+    // Text
+    QString text = mCaEntry->text();
+    if (!text.isNull()) {
+        if (!mText) {
+            mText = new HbTextItem(this);
+            HbStyle::setItemName(mText, QLatin1String("text"));
+        }
+        mText->setText(text);
+    } else {
+        if (mText) {
+            delete mText;
+            mText = 0;
+        }
+    }
+
+    // Touch Area
+    if (!mTouchArea) {
+        mTouchArea = new HbTouchArea(this);
+        mTouchArea->installEventFilter(this);
+        HbStyle::setItemName(mTouchArea, QLatin1String("toucharea"));
+    }
+}
+
+/*!
+    \internal
+*/
+void HsShortcutWidget::createCaNotifier()
 {
-    CaEntry *entry = CaService::instance()->getEntry(aShortcutId);
-    EntryFlags entryFlags = 0;
-    if (entry) {
-        entryFlags = entry->flags();
-    }
-    return entryFlags;
+    CaNotifierFilter filter;
+    filter.setIds(QList<int>() << mMcsId);
+    
+    CaNotifier *notifier = CaService::instance()->createNotifier(filter);
+    notifier->setParent(this);
+
+    connect(notifier,
+        SIGNAL(entryChanged(CaEntry,ChangeType)),
+        SLOT(onEntryChanged(CaEntry,ChangeType)), 
+        Qt::QueuedConnection);
 }
+
+/*!
+    \internal
+*/
+void HsShortcutWidget::updateVisibility()
+{
+    setVisible(!mCaEntry->flags().testFlag(MissingEntryFlag));
+}
--- a/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidgetplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/hsshortcutwidgetplugin/src/hsshortcutwidgetplugin.cpp	Mon May 03 12:24:59 2010 +0300
@@ -11,7 +11,7 @@
 *
 * Contributors:
 *
-* Description:  Homescreen widget plugin
+* Description: Homescreen shortcut widget plugin.
 *
 */
 
@@ -26,18 +26,14 @@
 #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.
+    \brief The plugin part of the homescreen shortcut widget.
 */
 
 /*!
-    Creates widget object.
+    Instantiates and returns new shortcut widget.
 */
 QObject *HsShortcutWidgetPlugin::createInstance(const QServiceInterfaceDescriptor &descriptor,
                                                 QServiceContext *context,
--- a/homescreenapp/widgetplugins/widgetplugins.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/homescreenapp/widgetplugins/widgetplugins.pro	Mon May 03 12:24:59 2010 +0300
@@ -17,6 +17,5 @@
 TEMPLATE = subdirs
 
 SUBDIRS  = hsshortcutwidgetplugin \
-           hsclockwidgetplugin \
-           hsclockwidgetplugin/styles/hsanalogclockstyleplugin 
+           hsclockwidgetplugin 
                             
\ No newline at end of file
--- a/screensaverapp/bwins/snsrutilsu.def	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-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)
-
--- a/screensaverapp/common.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +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: 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
-}
--- a/screensaverapp/eabi/snsrutilsu.def	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-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
-
--- a/screensaverapp/inc/snsrtest_global.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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: 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
--- a/screensaverapp/misc/cmt/cmtsnsr.cmd	Fri Apr 16 14:54:01 2010 +0300
+++ /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
-
-call collectsnsrfiles.cmd
-cmt -c snsrconf.ini -o snsrcmt.txt < snsrfiles.txt 
-cmt2html -i snsrcmt.txt
\ No newline at end of file
--- a/screensaverapp/misc/cmt/collectsnsrfiles.cmd	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-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
--- a/screensaverapp/misc/cmt/snsrconf.ini	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-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
--- a/screensaverapp/rom/screensaverapp.iby	Fri Apr 16 14:54:01 2010 +0300
+++ /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 __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__
--- a/screensaverapp/runtimeproviders/runtimeproviders.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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: runtimeproviders.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS  = snsrdefaultruntimeprovider
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntime.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: 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
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/inc/snsrdefaultruntimeprovider.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: 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
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/resource/snsrdefaultruntimeprovider.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<runtimeprovider>
-    <runtime library="snsrdefaultruntimeprovider.dll"
-             uri="screensaver.nokia.com/runtime/defaultruntime"/>
-</runtimeprovider>
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsrdefaultruntimeprovider.pri
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH +=   ./inc \
-                ./src
-
-INCLUDEPATH += ./inc
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/snsrdefaultruntimeprovider.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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)
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntime.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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);
-}
--- a/screensaverapp/runtimeproviders/snsrdefaultruntimeprovider/src/snsrdefaultruntimeprovider.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +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: 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
--- a/screensaverapp/screensaverapp.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: screensaverapp.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS = snsrutils\
-          serviceproviders \
-          stateproviders \
-          runtimeproviders \
-          snsrapplication \
-          screensaverproviders 
-
-CONFIG += ordered
-
-symbian:include(screensaverapp_exports_to_rom.pri)
--- a/screensaverapp/screensaverapp_exports_to_rom.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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:
-#
-
-BLD_INF_RULES.prj_exports += \
-    "$${LITERAL_HASH}include <platform_paths.hrh>" \
-     "rom/screensaverapp.iby CORE_APP_LAYER_IBY_EXPORT_PATH(screensaverapp.iby)"
--- a/screensaverapp/screensaverproviders/screensaverproviders.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: screensaverproviders.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS += snsrbigclockscreensaverprovider/snsranalogclockstyleplugin
-SUBDIRS += snsrbigclockscreensaverprovider/snsroledclockstyleplugin
-SUBDIRS += snsrbigclockscreensaverprovider
-
-CONFIG += ordered
\ No newline at end of file
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsranalogclockcontainer.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockcontainer.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaver.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrbigclockscreensaverprovider.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdigitalclockcontainer.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsrdocumentloader.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroledanalogclockcontainer.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/inc/snsroleddigitalclockcontainer.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/resource/snsrbigclockscreensaverprovider.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<screensaverprovider>
-    <screensaver library="snsrbigclockscreensaverprovider.dll"
-                 uri="screensaver.nokia.com/screensaver/bigclock"/>
-</screensaverprovider>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/inc/snsranalogclockstyleplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockstyleplugin.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<snsranalogclockstyleplugin>
-    <screensaver library="snsranalogclockstyleplugin.dll"
-                 uri="screensaver.nokia.com/screensaver/analogclock"/>
-</snsranalogclockstyleplugin>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-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;
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/resource/snsranalogclockwidget.widgetml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-<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>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  snsranalogclockstyleplugin.pri
-#
-
-HEADERS += ./inc/*.h \
-           ./../snsrclockwidgets/inc/snsrstyleoptionanalogclock.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += ./inc \
-              ./src \
-              ./resource
-
-INCLUDEPATH += ./inc \
-               ./../snsrclockwidgets/inc
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/snsranalogclockstyleplugin.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource>
-        <file alias="snsranalogclockwidget.css">resource/snsranalogclockwidget.css</file>
-        <file alias="snsranalogclockwidget.widgetml">resource/snsranalogclockwidget.widgetml</file>
-    </qresource>
-</RCC>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsranalogclockstyleplugin/src/snsranalogclockstyleplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaver.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<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>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrbigclockscreensaverprovider.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-# 
-# Description:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsranalogclockwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsroledclockwidget.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +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: 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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionanalogclock.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/inc/snsrstyleoptionoledanalogclock.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsranalogclockwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +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:  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();
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsroledclockwidget.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +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: 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();
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionanalogclock.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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()
-{
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsrclockwidgets/src/snsrstyleoptionoledanalogclock.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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()
-{
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/inc/snsroledclockstyleplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockstyleplugin.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<snsroledclockstyleplugin>
-    <screensaver library="snsroledclockstyleplugin.dll"
-                 uri="screensaver.nokia.com/screensaver/oledclock"/>
-</snsroledclockstyleplugin>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/resource/snsroledclockwidget.widgetml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-<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>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  snsroledclockstyleplugin.pri
-#
-
-HEADERS += ./inc/*.h \
-           ./../snsrclockwidgets/inc/snsrstyleoptionoledanalogclock.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += ./inc \
-              ./src \
-              ./resource
-
-INCLUDEPATH += ./inc \
-               ./../snsrclockwidgets/inc
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/snsroledclockstyleplugin.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<RCC>
-    <qresource>
-        <file alias="snsroledclockwidget.css">resource/snsroledclockwidget.css</file>
-        <file alias="snsroledclockwidget.widgetml">resource/snsroledclockwidget.widgetml</file>
-    </qresource>
-</RCC>
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/snsroledclockstyleplugin/src/snsroledclockstyleplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +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:  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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsranalogclockcontainer.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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")
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockcontainer.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +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:  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
-
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaver.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,237 +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: 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
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrbigclockscreensaverprovider.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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: 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
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdigitalclockcontainer.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:  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")
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsrdocumentloader.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: 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);
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroledanalogclockcontainer.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +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:  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")
-}
--- a/screensaverapp/screensaverproviders/snsrbigclockscreensaverprovider/src/snsroleddigitalclockcontainer.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +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:  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")
-}
--- a/screensaverapp/serviceproviders/bwins/snsruseractivityserviceu.def	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-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
-
--- a/screensaverapp/serviceproviders/eabi/snsruseractivityserviceu.def	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-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
-
--- a/screensaverapp/serviceproviders/serviceproviders.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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: serviceproviders.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS  = snsruseractivityservice
--- a/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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: 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
--- a/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityservice_global.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/screensaverapp/serviceproviders/snsruseractivityservice/inc/snsruseractivityserviceinterface.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 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
--- a/screensaverapp/serviceproviders/snsruseractivityservice/s60/inc/snsruseractivityservice_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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: 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
--- a/screensaverapp/serviceproviders/snsruseractivityservice/s60/src/snsruseractivityservice_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +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: 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();
-}
--- a/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsruseractivityservice.pri
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
-
-INCLUDEPATH += . \
-               inc 
-               
-DEPENDPATH += . \
-              inc \
-              src
--- a/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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)
--- a/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_s60.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsruseractivityservice_s60.pri
-#
-
-HEADERS += ./s60/inc/*.h
-
-SOURCES += ./s60/src/*.cpp
-
-INCLUDEPATH += ./s60/inc
-
-DEPENDPATH += ./s60/inc \
-              ./s60/src
--- a/screensaverapp/serviceproviders/snsruseractivityservice/snsruseractivityservice_stub.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsruseractivityservice_stub.pri
-#
-
-HEADERS += ./stub/inc/*.h
-
-SOURCES += ./stub/src/*.cpp
-
-INCLUDEPATH += ./stub/inc
-
-DEPENDPATH += ./stub/inc \
-              ./stub/src
--- a/screensaverapp/serviceproviders/snsruseractivityservice/src/snsruseractivityservice.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +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: 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();
-}
--- a/screensaverapp/serviceproviders/snsruseractivityservice/stub/inc/snsruseractivityservice_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +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: 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
--- a/screensaverapp/serviceproviders/snsruseractivityservice/stub/src/snsruseractivityservice_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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());
-}
-
-
--- a/screensaverapp/sis/rd-key.pem	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
------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-----
--- a/screensaverapp/sis/rd.cer	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
------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-----
--- a/screensaverapp/sis/screensaverapp.pkg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-;
-; Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-; All rights reserved.
-; This component and the accompanying materials are made available
-; under the terms of "Eclipse Public License v1.0"
-; which accompanies this distribution, and is available
-; at the URL "http://www.eclipse.org/legal/epl-v10.html".
-;
-; Initial Contributors:
-; Nokia Corporation - initial contribution.
-;
-; Contributors:
-;
-; Description: 
-;
-
-; 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"
--- a/screensaverapp/sis/screensaverapp_sisx.bat	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-@rem
-@rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-@rem All rights reserved.
-@rem This component and the accompanying materials are made available
-@rem under the terms of "Eclipse Public License v1.0"
-@rem which accompanies this distribution, and is available
-@rem at the URL "http://www.eclipse.org/legal/epl-v10.html".
-@rem
-@rem Initial Contributors:
-@rem Nokia Corporation - initial contribution.
-@rem
-@rem Contributors:
-@rem
-@rem Description: 
-@rem
-@echo 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
--- a/screensaverapp/snsrapplication/inc/snsrscreensaver.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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
--- a/screensaverapp/snsrapplication/installs_symbian.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-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)"
--- a/screensaverapp/snsrapplication/installs_win.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-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
--- a/screensaverapp/snsrapplication/screensaverapp_fallbacktheme.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-<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>
--- a/screensaverapp/snsrapplication/snsrapplication.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsrapplication.pri
-#
-
-HEADERS += ./inc/*.h
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += . \
-    ./inc \
-    ./src
-
-INCLUDEPATH += 	. \
-				./inc \
-				../inc
\ No newline at end of file
--- a/screensaverapp/snsrapplication/snsrapplication.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-# 
-# Description: 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)
--- a/screensaverapp/snsrapplication/src/main.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: 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;
-}
--- a/screensaverapp/snsrapplication/src/snsrscreensaver.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,126 +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:  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
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-hour-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/analog-clock-minute-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-background.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +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="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>
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-date-frame.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-hour-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/hbdefault/scalable/oled-clock-minute-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-hour-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/theme1/analog-clock-minute-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-<?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
--- a/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-background.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,241 +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="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>
--- a/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-hour-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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="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>
--- a/screensaverapp/snsrapplication/themes/icons/theme2/analog-clock-minute-hand.svg	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +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="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>
--- a/screensaverapp/snsrapplication/themes/style/defaulttheme/hbcolorgroup.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-/* 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);
-}
--- a/screensaverapp/snsrapplication/themes/style/theme1/hbcolorgroup.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-/* 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
--- a/screensaverapp/snsrapplication/themes/style/theme2/hbcolorgroup.css	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-/* 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);
-}
--- a/screensaverapp/snsrutils/inc/snsrlabel.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/snsrutils/inc/snsrutils_global.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 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
--- a/screensaverapp/snsrutils/snsrutils.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += . \
-              inc \
-              src
-
-INCLUDEPATH += . \
-               inc
--- a/screensaverapp/snsrutils/snsrutils.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-#
-# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-#
-
-TEMPLATE = lib
-
-include (../common.pri)
-
-CONFIG += hb 
-
-DEFINES += SNSRUTILS_LIB
-
-symbian: {
-    TARGET.UID3 = 0x20027056
-}
-
-include(snsrutils.pri)
--- a/screensaverapp/snsrutils/src/snsrlabel.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +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:  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);
-    }
-}
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrdefaultstateprovider.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description: 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
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/inc/snsrrootstate.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:  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
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/resource/snsrdefaultstateprovider.manifest	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<?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>
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pri	Fri Apr 16 14:54:01 2010 +0300
+++ /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: snsrdefaultstateprovider.pri
-#
-
-HEADERS += ./inc/*.h
-
-SOURCES += ./src/*.cpp
-
-DEPENDPATH += ./inc \
-              ./src
-
-INCLUDEPATH += ./inc
-INCLUDEPATH += ../../serviceproviders/snsruseractivityservice/inc
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/snsrdefaultstateprovider.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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)
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrdefaultstateprovider.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +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: 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
--- a/screensaverapp/stateproviders/snsrdefaultstateprovider/src/snsrrootstate.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:  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
-}
--- a/screensaverapp/stateproviders/stateproviders.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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: stateproviders.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS  = snsrdefaultstateprovider
--- a/taskswitcherapp/common.pri	Fri Apr 16 14:54:01 2010 +0300
+++ b/taskswitcherapp/common.pri	Mon May 03 12:24:59 2010 +0300
@@ -55,11 +55,7 @@
     coverage {
         DEFINES += COVERAGE_MEASUREMENT
         DEFINES += QT_NO_DEBUG  # omit ASSERTS in coverage measurements
-    }
-    
-    symbian {
-        TARGET.SID = 0x2002677D
-    }
+    }    
 }
 
 # Add the output dirs to the link path too
--- a/taskswitcherapp/rom/tsapplication_core.iby	Fri Apr 16 14:54:01 2010 +0300
+++ b/taskswitcherapp/rom/tsapplication_core.iby	Mon May 03 12:24:59 2010 +0300
@@ -17,19 +17,10 @@
 #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 )
+data=\epoc32\data\z\resource\qt\crml\tsexternalactivation.qcrml             resource\qt\crml\tsexternalactivation.qcrml
 
-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
-
-data=\epoc32\data\z\resource\qt\crml\tsexternalactivation.qcrml             resource\qt\crml\tsexternalactivation.qcrml
+file=ABI_DIR\BUILD_DIR\tsdevicedialogplugin.dll					       SHARED_LIB_DIR\tsdevicedialogplugin.dll
+data=\epoc32\data\z\resource\plugins\devicedialogs\tsdevicedialogplugin.qtplugin    resource\plugins\devicedialogs\tsdevicedialogplugin.qtplugin
 
 // stub sis
 data=ZSYSTEM/install/taskswitcher_stub.sis                  system/install/taskswitcher_stub.sis
--- a/taskswitcherapp/runtimeplugins/runtimeplugins.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +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: runtimeplugins.pro
-#
-
-TEMPLATE = subdirs
-
-SUBDIRS  = tsdefaultruntimeplugin
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntime.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/inc/tsdefaultruntimeplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/serviceinstaller.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-#
-
-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")
-}
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/bld.inf	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// ============================================================================
-// * 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
-
-
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-
-#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());
-    }
-}
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-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
-}
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/serviceinstaller/tsdefaultruntimeinstaller/tsdefaultruntimeinstaller.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/" >
-        <file alias="tsdefaultruntimeplugin.xml">../../tsdefaultruntimeplugin.xml</file>
-    </qresource>
-</RCC>
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntime.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +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: Default TaskSwitcher runtime.
-*
-*/
-
-#include <QAbstractItemModel>
-#include <QState>
-#include <QFinalState>
-#include <qservicemanager.h>
-
-#include "tsdefaultruntime.h"
-
-QTM_USE_NAMESPACE
-
-/*!
-    \class TsDefaultRuntime
-    \ingroup group_tsdefaultruntimeplugin
-    \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);
-    Q_ASSERT_X(interface, "TsDefaultRuntime::createCriticalInterface", qPrintable(QString("Cannot initialize critical %1 interafce").arg(name)));
-    interface->setParent(this);
-    return interface;
-}
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/src/tsdefaultruntimeplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Default runtime provider.
-*
-*/
-
-#include <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#include "tsdefaultruntimeplugin.h"
-#include "tsdefaultruntime.h"
-
-/*!
-    \class TsDefaultRuntimePlugin
-    \ingroup group_tsdefaultruntimeplugin
-    \brief Provides a default implementation of the taskswitcher runtime.
-
-    This provider includes a default implementation of the taskswitcher runtime.
-*/
-
-#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
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-# 
-# Description:  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) 
-
-    plugin.sources = tsdefaultruntimeplugin.dll
-    plugin.path = $$QT_PLUGINS_BASE_DIR     
-    DEPLOYMENT += plugin 
-}
-
-include(../../common.pri)
--- a/taskswitcherapp/runtimeplugins/tsdefaultruntimeplugin/tsdefaultruntimeplugin.xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?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>
--- a/taskswitcherapp/sis/stubs/taskswitcher_stub.pkg	Fri Apr 16 14:54:01 2010 +0300
+++ b/taskswitcherapp/sis/stubs/taskswitcher_stub.pkg	Mon May 03 12:24:59 2010 +0300
@@ -24,7 +24,7 @@
 &EN
 
 ; standard SIS file header
-#{"taskswitcher"},(0x2002677D),1,0,0,TYPE=SA
+#{"taskswitcher"},(0x2002677F),1,0,0,TYPE=SA
 
 ;Localized Vendor Name
 %{"Nokia"}
@@ -32,18 +32,8 @@
 ;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"
 ""-"Z:\resource\qt\crml\tsexternalactivation.qcrml"
+
+""-"Z:\sys\bin\tsdevicedialogplugin.dll"
+""-"Z:\resource\plugins\devicedialogs\tsdevicedialogplugin.qtplugin"
Binary file taskswitcherapp/sis/stubs/taskswitcher_stub.sis has changed
--- a/taskswitcherapp/sis/taskswitcher.pkg	Fri Apr 16 14:54:01 2010 +0300
+++ b/taskswitcherapp/sis/taskswitcher.pkg	Mon May 03 12:24:59 2010 +0300
@@ -18,7 +18,7 @@
 &EN
 
 ; standard SIS file header
-#{"taskswitcher"},(0x2002677D),1,0,0,TYPE=SA, RU
+#{"taskswitcher"},(0x2002677F),1,0,0,TYPE=SA, RU
 
 ;Localized Vendor Name
 %{"Nokia"}
@@ -26,18 +26,8 @@
 ;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"
 "/epoc32/data/z/resource/qt/crml/tsexternalactivation.qcrml"-"!:\resource\qt\crml\tsexternalactivation.qcrml"
+
+"/epoc32/release/armv5/urel/tsdevicedialogplugin.dll"-"!:\sys\bin\tsdevicedialogplugin.dll"
+"/epoc32/data/z/resource/plugins/devicedialogs/tsdevicedialogplugin.qtplugin"-"!:\resource\plugins\devicedialogs\tsdevicedialogplugin.qtplugin"
\ No newline at end of file
--- a/taskswitcherapp/taskswitcherapp.pro	Fri Apr 16 14:54:01 2010 +0300
+++ b/taskswitcherapp/taskswitcherapp.pro	Mon May 03 12:24:59 2010 +0300
@@ -16,17 +16,20 @@
 
 TEMPLATE = subdirs
 
-symbian:SUBDIRS += taskswitcherappecom
-SUBDIRS += tsserviceplugin
-SUBDIRS += runtimeplugins
-SUBDIRS += tsapplication
+SUBDIRS += tsdevicedialogplugin
 
 tests {
-    symbian:SUBDIRS += taskswitcherappecom\tsrc
-    SUBDIRS += tsserviceplugin\tsrc
-    SUBDIRS += runtimeplugins\tsdefaultruntimeplugin\tsrc
-    SUBDIRS += tsapplication\tsrc
     SUBDIRS += internal\tstestrunner    
+    SUBDIRS += tsdevicedialogplugin\tsrc
+    SUBDIRS += ..\..\homescreensrv\activityfw\activityserviceplugin\unittests
+    SUBDIRS += ..\..\homescreensrv\activityfw\activitydatabase\hsactivitydbclient\t_hsactivitydbclient
+    SUBDIRS += ..\..\homescreensrv\hsappkeyhandler\tsrc\t_hsappkeyhandler
+    SUBDIRS += ..\..\homescreensrv\activityfw\activityserviceplugin\s60\tsrc
+}
+
+coverage {
+    SUBDIRS += ..\..\homescreensrv\activityfw
+    SUBDIRS += ..\..\homescreensrv\hsappkeyhandler
 }
 
 symbian:include(rom.pri)
--- a/taskswitcherapp/taskswitcherappecom/data/tsappecom.rss	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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/taskswitcherapp/taskswitcherappecom/group/tsappecom.mmp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  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/taskswitcherapp/taskswitcherappecom/inc/tsappecom.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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/taskswitcherapp/taskswitcherappecom/inc/tsappecomconst.hrh	Fri Apr 16 14:54:01 2010 +0300
+++ /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/taskswitcherapp/taskswitcherappecom/src/proxy.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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/taskswitcherapp/taskswitcherappecom/src/tsappecom.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +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"
-
-// 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 
--- a/taskswitcherapp/taskswitcherappecom/taskswitcherappecom.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-#
-
-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
--- a/taskswitcherapp/tsapplication/inc/tstaskswitcher.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-
-#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
--- a/taskswitcherapp/tsapplication/src/main.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +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 <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();
-}
--- a/taskswitcherapp/tsapplication/src/tstaskswitcher.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +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 "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(); 
-        }        
-    }
-}
--- a/taskswitcherapp/tsapplication/tsapplication.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-#
-
-TEMPLATE = app
-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.EPOCHEAPSIZE = 0x700000 0xF00000    
-    TARGET.UID3 = 0x2002677D
-}
-
-include(../common.pri)
--- a/taskswitcherapp/tsapplication/tsapplication.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<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/tsdevicedialogplugin/inc/tsactivitymodelitem.h	Mon May 03 12:24:59 2010 +0300
@@ -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: tsactivitymodelitem.h
+*
+*/
+
+#ifndef TSACTIVITYMODELITEM_H
+#define TSACTIVITYMODELITEM_H
+#include "tsmodelitem.h"
+#include <qvariant.h>
+#include <qicon.h>
+/*!
+    Implements model item which represents Activity entry
+*/
+class TsActivityModelItem : public TsModelItem
+{
+    Q_OBJECT
+public:
+    TsActivityModelItem(QAbstractListModel &model, QObject &service, const QVariantHash &activity);
+    ~TsActivityModelItem();
+    QVariant data(int role) const;
+    void close();
+    void open();
+    static QString applicationKeyword();
+    static QString visibilityKeyword();
+    static QString screenshotKeyword();
+
+private:
+    QVariant decorationRole() const;
+    QVariant displayRole() const;
+    QVariant visibilityRole() const;
+
+private slots:
+    void thumbnailReady(QPixmap, void *);
+signals:
+    void entryChanged(TsModelItem *);
+
+private:
+    QObject &mService;
+    const QVariantHash mActivity;
+    QIcon mIcon;
+    bool mRequetPending;
+};
+
+#endif // TSACTIVITYMODELITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsdataroles.h	Mon May 03 12:24:59 2010 +0300
@@ -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,
+        Visible,
+    };
+}
+
+#endif // TSDATAROLES_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsdevicedialog.h	Mon May 03 12:24:59 2010 +0300
@@ -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 TSDEVICEDIALOG_H
+#define TSDEVICEDIALOG_H
+
+#include <HbDialog>
+#include <HbDeviceDialogInterface>
+
+class QGraphicsLinearLayout;
+class HbDocumentLoader;
+
+class TsDeviceDialog : public HbDialog, public HbDeviceDialogInterface
+{
+    Q_OBJECT
+
+public:
+    TsDeviceDialog(HbDocumentLoader &loader, QGraphicsItem *parent = 0);
+    ~TsDeviceDialog();
+
+    virtual bool setDeviceDialogParameters(const QVariantMap &parameters);
+    virtual int deviceDialogError() const;
+    virtual void closeDeviceDialog(bool byClient);
+    virtual HbPopup *deviceDialogWidget() const;
+
+signals:
+    void deviceDialogClosed();
+
+public slots:
+    void changeOrientation(Qt::Orientation orientation);
+
+private:
+    HbDocumentLoader &mLoader;
+
+};
+
+#endif // TSDEVICEDIALOG_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsdevicedialogplugin.h	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,64 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef TSDEVICEDIALOGPLUGIN_H
+#define TSDEVICEDIALOGPLUGIN_H
+
+#include <hbdevicedialogplugin.h>
+
+#include <QObject>
+#include <QVariantMap>
+#include <QSharedPointer>
+#include <qabstractitemmodel.h>
+
+#include "tsdocumentloader.h"
+
+class CaService;
+class TsDeviceDialogPlugin : public HbDeviceDialogPlugin
+{
+    Q_OBJECT
+
+public:
+    TsDeviceDialogPlugin();
+    ~TsDeviceDialogPlugin();
+
+    bool accessAllowed(const QString &deviceDialogType, const QVariantMap &parameters, const QVariantMap &securityInfo) const;
+    HbDeviceDialogInterface *createDeviceDialog(const QString &deviceDialogType, const QVariantMap &parameters);
+    bool deviceDialogInfo(const QString &deviceDialogType, const QVariantMap &parameters, DeviceDialogInfo *info) const;
+    QStringList deviceDialogTypes() const;
+    PluginFlags pluginFlags() const;
+    int error() const;
+
+private slots:
+    void activated(QModelIndex index);
+    void pressed();
+    void longPressed();
+
+signals:
+    void activate(QModelIndex);
+
+private:
+    int mError;
+    TsDocumentLoader mLoader;
+    QAbstractListModel *mModel;
+    QSharedPointer<CaService> mStorage;
+    bool mLongPressed;
+
+    Q_DISABLE_COPY(TsDeviceDialogPlugin)
+};
+
+#endif // TSDEVICEDIALOGPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsdocumentloader.h	Mon May 03 12:24:59 2010 +0300
@@ -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/tsdevicedialogplugin/inc/tsentrymodelitem.h	Mon May 03 12:24:59 2010 +0300
@@ -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: tsentrymodelitem.h
+*
+*/
+
+#ifndef TSENTRYMODELITEM_H
+#define TSENTRYMODELITEM_H
+#include "tsmodelitem.h"
+#include <caservice.h>
+
+class CaEntry;
+
+/*!
+    Class implements model item which represents Content Arsenal entry
+*/
+class TsEntryModelItem : public TsModelItem
+{
+public:
+    TsEntryModelItem(CaService &service, QSharedPointer<CaEntry> entry, QSize mSize);
+    ~TsEntryModelItem();
+    QVariant data(int role) const;
+    void close();
+    void open();
+
+private:
+    bool closable() const;
+
+private:
+    CaService &mService;
+    const QSharedPointer<CaEntry> mEntry;
+    const QSize mSize;
+};
+
+#endif // TSMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsmodel.h	Mon May 03 12:24:59 2010 +0300
@@ -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: tsmodel.h
+*
+*/
+
+#ifndef TSMODEL_H
+#define TSMODEL_H
+
+#include <QAbstractItemModel>
+#include <QList>
+#include <QSize>
+#include <QSharedPointer>
+#include <caquery.h>
+#include <caentry.h>
+
+class CaService;
+class ActivityManager;
+class CaNotifier;
+class TsModelItem;
+
+class TsModel : public QAbstractListModel
+{
+    Q_OBJECT
+
+public:
+    explicit TsModel(CaService &applicationSrv,
+                     QObject &activitySrv,
+                     QObject *parent = 0);
+    ~TsModel();
+
+    int rowCount(const QModelIndex &parent = QModelIndex()) const;
+    QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+    int maxRowCount()const;
+
+public slots:
+    void openApplication(const QModelIndex &index);
+    void closeApplication(const QModelIndex &index);
+    void updateModel();
+    void entryChanged(CaEntry, ChangeType);
+    void entryChanged(TsModelItem *);
+private:
+    TsModelItem *entry(const QModelIndex &index) const;
+    void getApplications();
+    void getActivities();
+    void prepareActivityEntry(QVariantHash &activity);
+    QString getApplicationName(int id);
+
+private:
+    /*
+     * List containing result
+     */
+    QList<TsModelItem *> mEntries;
+
+    /*
+     * Query
+     */
+    CaQuery mQuery;
+
+    /*
+     * Content Arsenal Service
+     */
+    CaService &mApplicationService;
+
+    /*
+     * Activity Service
+     */
+    QObject &mActivityService;
+
+    /*
+     * Content Arsenal Notifier
+     */
+    CaNotifier *mNotifier;
+
+    /*
+     * Icon size in model
+     */
+    QSize mSize;
+};
+
+#endif // TSMODEL_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tsmodelitem.h	Mon May 03 12:24:59 2010 +0300
@@ -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: tsmodelitem.h
+*
+*/
+
+#ifndef TSMODELITEM_H
+#define TSMODELITEM_H
+#include <QVariant>
+#include <QModelIndex>
+/*!
+    Abstract class which define model item for taskswitcher
+*/
+class TsModelItem: public QObject
+{
+    Q_OBJECT
+
+public:
+    virtual QVariant data(int role) const =0;
+    virtual void close() =0;
+    virtual void open() =0;
+};
+
+#endif // TSMODELITEM_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/inc/tstasksgrid.h	Mon May 03 12:24:59 2010 +0300
@@ -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/tsdevicedialogplugin/inc/tstasksgriditem.h	Mon May 03 12:24:59 2010 +0300
@@ -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(const TsTasksGridItem &item);
+    ~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
Binary file taskswitcherapp/tsdevicedialogplugin/resource/delete.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tsactivitymodelitem.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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: tsactivitymodelitem.cpp
+*
+*/
+#include "tsactivitymodelitem.h"
+#include "tsdataroles.h"
+#include <hsactivitydbclientinterface.h>
+#include <hbicon.h>
+
+/*!
+    \class TsActivityModelItem
+    \ingroup group_tsdevicedialogplugin
+    \brief Item presenting activity in the grid.
+*/
+
+/*!
+    Standard C++ constructor
+    /param model - reference to parent model
+    /param service - reference to initialized ActivityManager instance
+    /param entry - Activity data
+*/
+TsActivityModelItem::TsActivityModelItem(QAbstractListModel &model,
+                                         QObject& service, 
+                                         const QVariantHash & activity)
+    :
+    mService(service),
+    mActivity(activity),
+    mIcon(),
+    mRequetPending(false)
+{
+    connect(this,
+            SIGNAL(entryChanged(TsModelItem *)),
+            &model,
+            SLOT(entryChanged(TsModelItem *)));
+    connect(&mService,
+            SIGNAL(thumbnailReady(QPixmap, void *)),
+            this,
+            SLOT(thumbnailReady(QPixmap, void *)));
+}
+
+/*!
+    Standard C++ destructor
+    /param service - reference to initialized ActivityManager instance
+    /param entry - Activity data
+*/
+TsActivityModelItem::~TsActivityModelItem()
+{
+}
+
+/*!
+    Returns the data stored under the given role.
+    /param role - requested data role
+    /return data encapulated by QVariant
+*/
+QVariant TsActivityModelItem::data(int role) const
+{
+    switch (role) {
+        case Qt::DisplayRole:
+            return displayRole();
+        case Qt::DecorationRole:
+            return decorationRole();
+        case TsDataRoles::Closable:
+            return QVariant(false);
+        case TsDataRoles::Visible:
+            return visibilityRole();
+        default:
+            return QVariant(QVariant::Invalid);
+    }
+}
+
+/*!
+    Empty interface implementation
+*/
+void TsActivityModelItem::close()
+{
+    //no implementation required
+}
+
+/*!
+    Open or move to foreground activity repesented by entry
+*/
+void TsActivityModelItem::open()
+{
+    QVariantHash::const_iterator
+    app(mActivity.constFind(ActivityApplicationKeyword)),
+        act(mActivity.constFind(ActivityActivityKeyword));
+
+    if (mActivity.end() != app && mActivity.end() != act) {
+        QMetaObject::invokeMethod(&mService,
+                                  "launchActivity",
+                                  Q_ARG(int, app.value().toInt()),
+                                  Q_ARG(QString, act.value().toString()));
+    }
+}
+
+/*!
+    Return application name keyword
+*/
+QString TsActivityModelItem::applicationKeyword()
+{
+    static QString applciationName(":ApplicationName");
+    return applciationName;
+}
+
+/*!
+    Return activity visibility status keyword
+*/
+QString TsActivityModelItem::visibilityKeyword()
+{
+    static QString visibility("visible");
+    return visibility;
+}
+
+/*!
+    Return activity screenshot keyword
+*/
+QString TsActivityModelItem::screenshotKeyword()
+{
+    static QString screenshot("screenshot");
+    return screenshot;
+}
+
+/*!
+    Returns the data stored under decoration role.
+    /return data encapulated by QVariant
+*/
+QVariant TsActivityModelItem::decorationRole() const
+{
+    if (!mRequetPending) {
+        const_cast<TsActivityModelItem *>(this)->mRequetPending = true;
+        QVariantHash::const_iterator node(mActivity.constFind(screenshotKeyword()));
+        if (mActivity.end() != node) {
+            QMetaObject::invokeMethod(&mService,
+                                      "getThumbnail",
+                                      Q_ARG(QString, node.value().toString()),
+                                      Q_ARG(void *, const_cast<TsActivityModelItem *>(this)));
+        }
+    }
+    return QVariant::fromValue<HbIcon>(HbIcon(mIcon));
+}
+
+/*!
+    Returns the data stored under display role.
+    /return data encapulated by QVariant
+*/
+QVariant TsActivityModelItem::displayRole() const
+{
+    QVariantHash::const_iterator node(mActivity.find(applicationKeyword()));
+    return mActivity.end() != node ? node.value() : QVariant(QString::null);
+}
+
+/*!
+    Returns the data stored under visibility role.
+    /return data encapulated by QVariant
+*/
+QVariant TsActivityModelItem::visibilityRole() const
+{
+    QVariantHash::const_iterator node(mActivity.find(visibilityKeyword()));
+    return mActivity.end() != node ? node.value() : QVariant(true);
+}
+
+/*!
+    Slot retrieve thumbnail form TM, update content and notify observers
+    /param pixmap - thumbnail content
+    /ptr - user data provided to request
+*/
+void TsActivityModelItem::thumbnailReady(QPixmap pixmap, void *ptr)
+{
+    if (ptr == this) {
+        mIcon = pixmap;
+        emit entryChanged(this);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tsdevicedialog.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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: Default Screensaver runtime.
+*
+*/
+
+#include <HbMainWindow>
+#include <HbDocumentLoader>
+
+#include "tsdevicedialog.h"
+
+/*!
+    \class TsDeviceDialog
+    \ingroup group_tsdevicedialogplugin
+    \brief TaskSwitcher Device Dialog.
+ */
+
+/*!
+    Constructor.
+    \param parent Parent.
+ */
+TsDeviceDialog::TsDeviceDialog(HbDocumentLoader &loader, QGraphicsItem *parent) : HbDialog(parent), mLoader(loader)
+{
+    connect(mainWindow(), SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(changeOrientation(Qt::Orientation)));
+    connect(this, SIGNAL(aboutToClose()), this, SIGNAL(deviceDialogClosed()));
+}
+
+TsDeviceDialog::~TsDeviceDialog()
+{
+    qDebug("Destruction");
+}
+
+/*!
+    Sets device dialog parameters.
+    \param parameters Device Dialog's parameters to be set.
+    \ret return true if parameters are correct.
+ */
+bool TsDeviceDialog::setDeviceDialogParameters(const QVariantMap &parameters)
+{
+    Q_UNUSED(parameters);
+    return false;
+}
+
+/*!
+    Returns error code.
+    \ret error code.
+ */
+int TsDeviceDialog::deviceDialogError() const
+{
+    return 0;
+}
+
+/*!
+    Closes device dialog.
+    \param byClient If dialog is close by client.
+ */
+void TsDeviceDialog::closeDeviceDialog(bool byClient)
+{
+    Q_UNUSED(byClient)
+    hide();
+    emit deviceDialogClosed();
+}
+
+/*!
+    Returns device dialog instance.
+    \ret Device dialog instance.
+ */
+HbPopup *TsDeviceDialog::deviceDialogWidget() const
+{
+    return const_cast<TsDeviceDialog *>(this);
+}
+
+void TsDeviceDialog::changeOrientation(Qt::Orientation orientation)
+{
+    qDebug("Loading DOCML data for orientation %d", 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/tsdevicedialogplugin/src/tsdevicedialogplugin.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,177 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies 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 <QtPlugin>
+#include <hbdevicedialog.h>
+#include <HbMainWindow>
+#include <qservicemanager.h>
+
+#include "tsdevicedialogplugin.h"
+#include "tsdevicedialog.h"
+#include "tstasksgrid.h"
+#include "tstasksgriditem.h"
+#include "tsdocumentloader.h"
+#include "tsmodel.h"
+#include <caservice.h>
+
+/*!
+    \class TsDeviceDialogPlugin
+    \ingroup group_tsdevicedialogplugin
+    \brief TaskSwitcher Device Dialog Plug-in.
+ */
+
+const QString KTsDialogType = "com.nokia.taskswitcher.tsdevicedialogplugin/1.0";
+
+/*!
+    Constructor.
+ */
+TsDeviceDialogPlugin::TsDeviceDialogPlugin() : mError(0), mModel(0), mStorage(CaService::instance()), mLongPressed(false)
+{
+}
+
+TsDeviceDialogPlugin::~TsDeviceDialogPlugin()
+{
+    delete mModel;
+}
+/*!
+    \reimp
+ */
+bool TsDeviceDialogPlugin::accessAllowed(const QString &deviceDialogType, const QVariantMap &parameters, const QVariantMap &securityInfo) const
+{
+    Q_UNUSED(deviceDialogType)
+    Q_UNUSED(parameters)
+    Q_UNUSED(securityInfo)
+
+    // This plugin doesn't perform operations that may compromise security.
+    // All clients are allowed to use.
+    return true;
+}
+
+/*!
+    \reimp
+ */
+HbDeviceDialogInterface *TsDeviceDialogPlugin::createDeviceDialog(const QString &deviceDialogType, const QVariantMap &parameters)
+{
+    Q_UNUSED(parameters)
+    TsDeviceDialog *dialog(0);
+    if (deviceDialogType == KTsDialogType) {
+        if (0 == mModel) {
+            QtMobility::QServiceManager serviceManager;
+            QObject *objPtr(serviceManager.loadInterface("com.nokia.qt.activities.ActivityManager"));
+            if (objPtr) {
+                objPtr->setParent(this);//make it autodestucted
+            } else {
+                objPtr = this;//activity plugin is not present. provide invalid instance because its not critical functionality.
+                //QMetaObject::invokeMethod is safe to use in such a case.
+            }
+            mModel = new TsModel(*mStorage, *objPtr);
+        }
+
+        mLoader.reset();
+        bool ok(true);
+        mLoader.load(":/xml/resource/layout.docml", &ok);
+        Q_ASSERT(ok);
+
+        dialog = qobject_cast<TsDeviceDialog *>(mLoader.findWidget("tsdevicedialog"));
+        TsTasksGrid *grid = qobject_cast<TsTasksGrid *>(mLoader.findWidget("taskgrid"));
+        Q_ASSERT(dialog);
+        Q_ASSERT(grid);
+
+        dialog->changeOrientation(dialog->mainWindow()->orientation());
+
+        grid->setItemPrototype(new TsTasksGridItem());
+        grid->setModel(mModel);
+
+        static_cast<TsModel *>(mModel)->updateModel();
+
+        // connect the grid and model
+        qRegisterMetaType<QModelIndex>("QModelIndex");
+        
+        disconnect(grid, SIGNAL(activated(QModelIndex)), this, SLOT(activated(QModelIndex)));
+        disconnect(grid, SIGNAL(pressed(QModelIndex)), this, SLOT(pressed()));
+        disconnect(grid, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)), this, SLOT(longPressed()));
+        disconnect(this, SIGNAL(activate(QModelIndex)), mModel, SLOT(openApplication(QModelIndex)));
+        disconnect(this, SIGNAL(activate(QModelIndex)), dialog, SLOT(close()));
+        disconnect(grid, SIGNAL(deleteButtonClicked(QModelIndex)), mModel, SLOT(closeApplication(QModelIndex)));
+        
+        connect(grid, SIGNAL(activated(QModelIndex)), this, SLOT(activated(QModelIndex)));
+        connect(grid, SIGNAL(pressed(QModelIndex)), this, SLOT(pressed()));
+        connect(grid, SIGNAL(longPressed(HbAbstractViewItem *, QPointF)), this, SLOT(longPressed()));
+        connect(this, SIGNAL(activate(QModelIndex)), mModel, SLOT(openApplication(QModelIndex)));
+        connect(this, SIGNAL(activate(QModelIndex)), dialog, SLOT(close()));
+        connect(grid, SIGNAL(deleteButtonClicked(QModelIndex)), mModel, SLOT(closeApplication(QModelIndex)), Qt::QueuedConnection);
+    }
+    return dialog;
+}
+
+/*!
+    \reimp
+ */
+bool TsDeviceDialogPlugin::deviceDialogInfo(const QString &deviceDialogType, const QVariantMap &parameters, DeviceDialogInfo *info) const
+{
+    Q_UNUSED(parameters)
+    Q_UNUSED(deviceDialogType)
+
+    info->group = GenericDeviceDialogGroup;
+    info->flags = NoDeviceDialogFlags;
+    info->priority = DefaultPriority;
+
+    return true;
+}
+
+/*!
+    \reimp
+ */
+QStringList TsDeviceDialogPlugin::deviceDialogTypes() const
+{
+    return QStringList(KTsDialogType);
+}
+
+/*!
+    \reimp
+ */
+HbDeviceDialogPlugin::PluginFlags TsDeviceDialogPlugin::pluginFlags() const
+{
+    return PluginFlags(PreloadPlugin | KeepPluginLoaded);
+}
+
+/*!
+    \reimp
+ */
+int TsDeviceDialogPlugin::error() const
+{
+    return mError;
+}
+
+void TsDeviceDialogPlugin::activated(QModelIndex index)
+{
+    if (!mLongPressed) {
+        emit activate(index);
+    }
+}
+
+void TsDeviceDialogPlugin::pressed()
+{
+    mLongPressed = false;
+}
+
+void TsDeviceDialogPlugin::longPressed()
+{
+    mLongPressed = true;
+}
+
+Q_EXPORT_PLUGIN2(tsdevicedialogplugin, TsDeviceDialogPlugin)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tsdocumentloader.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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: Screensaver custom document loader.
+*
+*/
+
+#include "tsdocumentloader.h"
+#include "tstasksgrid.h"
+#include "tsdevicedialog.h"
+
+/*!
+    \class TsDocumentLoader
+    \ingroup group_tsdevicedialogplugin
+    \brief Document loader.
+
+    TS implementation of document loader. It is creating TS objects used in UI
+*/
+
+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 == TsDeviceDialog::staticMetaObject.className()) {
+        QObject *object = new TsDeviceDialog(*this);
+        object->setObjectName(name);
+        return object;
+    }
+
+    return HbDocumentLoader::createObject(type, name);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tsentrymodelitem.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: tsentrymodelitem.cpp
+*
+*/
+#include "tsentrymodelitem.h"
+#include "tsdataroles.h"
+
+#include <HbIcon>
+
+/*!
+    \class TsEntryModelItem
+    \ingroup group_tsdevicedialogplugin
+    \brief Item presenting running apps in the grid.
+*/
+
+/*!
+    Standard C++ constructor
+    /param service - reference to initialized Content Aresnal client instance
+    /param entry - Content Arsenal data
+    /param size - icon size
+*/
+TsEntryModelItem::TsEntryModelItem(CaService& service, QSharedPointer<CaEntry> entry, QSize size)
+    :
+    mService(service),
+    mEntry(entry),
+    mSize(size)
+{
+    //no implementation required
+}
+
+/*!
+    Standard C++ destructor
+*/
+TsEntryModelItem::~TsEntryModelItem()
+{
+}
+
+/*!
+    Returns the data stored under the given role.
+    /param role - requested data role
+    /return data encapulated by QVariant
+*/
+QVariant TsEntryModelItem::data(int role) const
+{
+    switch (role) {
+        case Qt::DisplayRole:
+            return QVariant(mEntry->text());
+        case Qt::DecorationRole:
+            return QVariant(mEntry->makeIcon(mSize));
+        case TsDataRoles::Closable:
+            return QVariant(closable());
+        case TsDataRoles::Visible:
+            return QVariant(true);
+        default:
+            return QVariant(QVariant::Invalid);
+    }
+}
+
+/*!
+    Close running application repesented by entry
+*/
+void TsEntryModelItem::close()
+{
+    mService.executeCommand(mEntry->id(), QString("close"));
+}
+
+/*!
+    Open or move to foreground application repesented by entry
+*/
+void TsEntryModelItem::open()
+{
+    mService.executeCommand(mEntry->id(), QString("open"));
+}
+
+/*!
+    Check if application represented by entry is running.
+    /return true if application is running, false otherwise
+*/
+bool TsEntryModelItem::closable() const
+{
+    return (mEntry->flags().testFlag(RunningEntryFlag) &&
+            !mEntry->flags().testFlag(SystemEntryFlag));
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tsmodel.cpp	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,267 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: tsmodel.cpp
+*
+*/
+#include "tsmodel.h"
+#include "tsmodelitem.h"
+#include "tsentrymodelitem.h"
+#include "tsactivitymodelitem.h"
+#include "tsdataroles.h"
+
+#include <HbIcon>
+#include <qvariant.h>
+#include <qlist.h>
+#include <cadefs.h>
+
+#include <canotifier.h>
+#include <canotifierfilter.h>
+#include <hsactivitydbclientinterface.h>
+
+const char entryTypeKeyword[] = "application";
+const char applicationUidKeyword [] = "application:uid";
+const int maxItems(10);
+/*!
+    \class TsModel
+    \ingroup group_tsdevicedialogplugin
+    \brief Model storing running application and activieties.
+*/
+
+/*!
+    Constructor
+    \param query used to create model
+    \param pointer to parent object
+*/
+TsModel::TsModel(CaService &applicationSrv, QObject &activitySrv, QObject *parent) :
+    QAbstractListModel(parent),
+    mEntries(),
+    mApplicationService(applicationSrv),
+    mActivityService(activitySrv),
+    mNotifier(NULL),
+    mSize(240, 240)
+{
+    // creating query
+    mQuery.setEntryRoles(ItemEntryRole);
+    mQuery.addEntryTypeName(entryTypeKeyword);
+    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 = mApplicationService.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
+*/
+TsModel::~TsModel()
+{
+    qDeleteAll(mEntries);
+    delete mNotifier;
+}
+
+/*!
+    Returns count of rows in model
+    \retval number of rows
+*/
+int TsModel::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 TsModel::data(const QModelIndex &index,
+                       int role) const
+{
+    return index.isValid() ? entry(index)->data(role) : QVariant();
+}
+
+/*!
+    Returns maximum anount of data allowed for model
+    \retval maximum data count
+*/
+
+int TsModel::maxRowCount()const
+{
+    return maxItems;
+}
+
+/*!
+    Activate one of model entries
+*/
+void TsModel::openApplication(const QModelIndex &index)
+{
+    if (!index.isValid()) {
+        return;
+    }
+    entry(index)->open();
+}
+
+/*!
+    Close one of moder entries
+*/
+void TsModel::closeApplication(const QModelIndex &index)
+{
+    if (!index.isValid() || !entry(index)->data(TsDataRoles::Closable).toBool()) {
+        return;
+    }
+    entry(index)->close();
+}
+
+/*!
+    Updates model with fresh entries
+*/
+void TsModel::updateModel()
+{
+    //clear current data
+    qDeleteAll(mEntries);
+    mEntries.clear();
+
+    beginResetModel();
+    getApplications();
+    getActivities();
+    endResetModel();
+
+}
+
+/*!
+    Read list of running applications
+*/
+void TsModel::getApplications()
+{
+    //get running applications
+    TsModelItem *entry(0);
+    QList< QSharedPointer<CaEntry> > applications(mApplicationService.getEntries(mQuery));
+    foreach(QSharedPointer<CaEntry> application, applications) {
+        //CA entry ownership is transfered to model item
+        entry = new TsEntryModelItem(mApplicationService, application, mSize);
+        if (entry) {
+            //add running application filtering
+            if (entry->data(TsDataRoles::Closable).toBool() && //running application filtering
+                    entry->data(TsDataRoles::Visible).toBool() && //visible applications filtering
+                    maxRowCount() > mEntries.count()) { //maximum model size check
+                mEntries.append(entry);
+            } else {
+                delete entry;
+            }
+
+        }
+    }
+}
+
+/*!
+    Read current activities
+*/
+void TsModel::getActivities()
+{
+    //get activities
+    TsModelItem *entry(0);
+    QList<QVariantHash> activities;
+    QMetaObject::invokeMethod(&mActivityService, "activitiesList", Q_RETURN_ARG(QList<QVariantHash>, activities));
+    foreach(QVariantHash activity, activities) {
+        prepareActivityEntry(activity);
+        entry = new TsActivityModelItem(*this, mActivityService, activity);
+        if (entry) {
+            if (entry->data(TsDataRoles::Visible).toBool() && //visible activity filtering
+                    maxRowCount() > mEntries.count()) { //maximum model size check
+                mEntries.append(entry);
+            } else {
+                delete entry;
+            }
+        }
+    }
+}
+
+/*!
+    Modify activity entry replacing application id with name
+*/
+void TsModel::prepareActivityEntry(QVariantHash &activity)
+{
+    activity.insert(TsActivityModelItem::applicationKeyword(),
+                    activity.find(ActivityActivityKeyword) == activity.end() ?
+                    QString::null :
+                    getApplicationName(activity[ActivityApplicationKeyword].toInt()));
+}
+
+/*!
+    Return application name
+    \param id - reqiested application identyfier
+*/
+QString TsModel::getApplicationName(int id)
+{
+    CaQuery query;
+    QString retVal;
+    query.setEntryRoles(ItemEntryRole);
+    query.addEntryTypeName(entryTypeKeyword);
+    query.setAttribute(applicationUidKeyword, QString::number(id));
+    QList< QSharedPointer<CaEntry> > applications(mApplicationService.getEntries(query));
+    if (applications.begin() != applications.end()) {
+        retVal = (*applications.begin())->text();
+    }
+    return retVal;
+}
+
+/*!
+    Called when some entry was changed
+    \param updatedEntry entry that was changed
+    \param change change type
+*/
+void TsModel::entryChanged(CaEntry updatedEntry,
+                           ChangeType change)
+{
+    Q_UNUSED(updatedEntry);
+    Q_UNUSED(change)
+    updateModel();
+}
+
+/*!
+    Called when some item was changed
+    \param itemPtr - address of updated item
+*/
+void TsModel::entryChanged(TsModelItem *itemPtr)
+{
+    QList<TsModelItem *>::const_iterator iter(mEntries.constBegin());
+    for (int offset(0); iter != mEntries.constEnd(); ++iter, ++offset) {
+        if ((*iter) == itemPtr) {
+            emit dataChanged(index(offset, 0), index(offset, 0));
+            break;
+        }
+    }
+}
+
+/*!
+    Returns an entry from model
+    \param index of entry in model
+    \retval pointer to an entry
+*/
+TsModelItem *TsModel::entry(const QModelIndex &index) const
+{
+    return mEntries.at(index.row());
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/src/tstasksgriditem.cpp	Mon May 03 12:24:59 2010 +0300
@@ -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:
+*
+*/
+#include "tstasksgriditem.h"
+
+#include <hblabel.h>
+#include <hbpushbutton.h>
+#include <hbabstractitemview.h>
+#include <hbanchorlayout.h>
+#include "tsdataroles.h"
+
+/*!
+    \class TsTasksGridItem
+    \ingroup group_tsdevicedialogplugin
+    \brief Item that should be presented in grid.
+*/
+
+
+TsTasksGridItem::TsTasksGridItem() : HbAbstractViewItem(), mScreenshotLabel(0), mApplicationNameLabel(0), mDeleteButton(0)
+{
+}
+
+TsTasksGridItem::TsTasksGridItem(const TsTasksGridItem &item) : HbAbstractViewItem(item)
+{
+    // 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(*this);
+    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();
+    }
+}
Binary file taskswitcherapp/tsdevicedialogplugin/taskswitcher.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/taskswitcher.ts	Mon May 03 12:24:59 2010 +0300
@@ -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 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>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/tsdevicedialogplugin.pro	Mon May 03 12:24:59 2010 +0300
@@ -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: tsdevicedialogplugin.pro
+#
+
+TEMPLATE = lib
+CONFIG += hb plugin mobility
+MOBILITY = serviceframework 
+
+include (../common.pri)
+
+HEADERS +=  inc/tsdevicedialog.h \
+            inc/tsdevicedialogplugin.h \
+            inc/tsmodel.h \
+            inc/tsmodelitem.h \
+            inc/tsentrymodelitem.h \
+            inc/tsactivitymodelitem.h \
+            inc/tstasksgrid.h \
+            inc/tstasksgriditem.h \
+            inc/tsdocumentloader.h \
+            inc/tsdataroles.h \
+
+SOURCES +=  src/tsdevicedialog.cpp \
+            src/tsdevicedialogplugin.cpp \
+            src/tsmodel.cpp \
+            src/tsentrymodelitem.cpp \
+            src/tsactivitymodelitem.cpp \
+            src/tstasksgriditem.cpp \
+            src/tsdocumentloader.cpp \
+
+INCLUDEPATH += . \
+               ./inc \
+
+LIBS +=     -lcaclient           
+            
+TRANSLATIONS = taskswitcher.ts
+
+RESOURCES += tsdevicedialogplugin.qrc
+               
+symbian {
+    TARGET.CAPABILITY = CAP_ECOM_PLUGIN
+    TARGET.UID3 = 0x2002677F
+    pluginstub.sources = tsdevicedialogplugin.dll
+    pluginstub.path = /resource/plugins/devicedialogs
+
+    # ugly hack
+    translation.sources = ./*.qm
+    translation.path = $$QT_PLUGINS_BASE_DIR/../translations
+	
+    DEPLOYMENT += pluginstub translation
+}
+
+win32 {
+    include ($$[QMAKE_MKSPECS]/features/hb_install.prf)
+    DESTDIR = $$HB_PLUGINS_DIR/devicedialogs
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcherapp/tsdevicedialogplugin/tsdevicedialogplugin.qrc	Mon May 03 12:24:59 2010 +0300
@@ -0,0 +1,8 @@
+<RCC>
+    <qresource prefix="/xml">
+        <file>resource/layout.docml</file>
+    </qresource>
+    <qresource prefix="/" >
+        <file>resource/delete.png</file>
+    </qresource>
+</RCC>
--- a/taskswitcherapp/tsserviceplugin/inc/s60/tsexternalactivationwatcher_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 TSEXTERNALACTIVATIONWATCHERPRIVATE_H
-#define TSEXTERNALACTIVATIONWATCHERPRIVATE_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-class TsExternalActivationWatcher;
-
-class TsExternalActivationWatcherPrivate : public CActive
-{
-public:
-    TsExternalActivationWatcherPrivate(TsExternalActivationWatcher *parent);
-    virtual ~TsExternalActivationWatcherPrivate();
-
-public: //From CActive
-    /**
-    * Implements cancellation of an outstanding request.
-    */
-    virtual void DoCancel();
-
-    /**
-    Handles an active object's request completion event.
-    */
-    void RunL();
-    
-private:
-    bool CheckActivationFlag();
-    void ResetActivationFlag();
-
-private:
-    TsExternalActivationWatcher *mParent;
-    RProperty mProperty;
-
-};
-
-#endif // TSEXTERNALACTIVATIONWATCHERPRIVATE_H
--- a/taskswitcherapp/tsserviceplugin/inc/s60/tslongpresswatcher_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +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 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
--- a/taskswitcherapp/tsserviceplugin/inc/tsactivation.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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 TSACTIVATION_H
-#define TSACTIVATION_H
-
-#include "tsactivationinterface.h"
-
-class TsActivation : public TsActivationInterface
-{
-
-    Q_OBJECT
-
-public:
-    TsActivation(QObject *parent = 0);
-
-};
-
-#endif // TSACTIVATION_H
--- a/taskswitcherapp/tsserviceplugin/inc/tsactivationinterface.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tsclosedapplicationsfiltermodel.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-
-#ifndef TSCLOSEDAPPLICATIONSFILTERMODEL_H
-#define TSCLOSEDAPPLICATIONSFILTERMODEL_H
-
-#include <QSortFilterProxyModel>
-
-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
--- a/taskswitcherapp/tsserviceplugin/inc/tsdataroles.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#ifndef TSDATAROLES_H
-#define TSDATAROLES_H
-
-namespace TsDataRoles {
-    enum EntryAttributes {
-        Closable = Qt::UserRole + 1,
-        EntryId
-    };
-}
-
-#endif // TSDATAROLES_H
--- a/taskswitcherapp/tsserviceplugin/inc/tsdeactivation.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#ifndef TSDEACTIVATION_H
-#define TSDEACTIVATION_H
-
-#include "tsdeactivationinterface.h"
-
-class QEvent;
-
-class TsDeactivation : public TsDeactivationInterface
-{
-    Q_OBJECT
-
-public:
-    TsDeactivation(QObject *parent = 0);
-
-protected:
-    bool eventFilter(QObject *obj, QEvent *event);
-    
-};
-
-#endif // TSDEACTIVATION_H
--- a/taskswitcherapp/tsserviceplugin/inc/tsdeactivationinterface.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tsdocumentloader.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 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
--- a/taskswitcherapp/tsserviceplugin/inc/tsexternalactivationwatcher.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-#ifndef TSEXTERNALACTIVATIONWATCHER_H
-#define TSEXTERNALACTIVATIONWATCHER_H
-
-#include <QObject>
-    
-class TsExternalActivationWatcherPrivate;    
-    
-class TsExternalActivationWatcher : public QObject
-{
-    Q_OBJECT
-
-public:
-    TsExternalActivationWatcher(QObject *parent = 0);
-    virtual ~TsExternalActivationWatcher();
-    
-signals:
-    void activationRequested();
-
-private:
-    TsExternalActivationWatcherPrivate *d_ptr;    
-    friend class TsExternalActivationWatcherPrivate;    
-    
-};
-
-#endif // TSEXTERNALACTIVATIONWATCHER_H
--- a/taskswitcherapp/tsserviceplugin/inc/tsitemprovider.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tsitemproviderinterface.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tslongpresswatcher.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tspresentation.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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 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
--- a/taskswitcherapp/tsserviceplugin/inc/tspresentationinterface.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tsrecentapplicationsmodel.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 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;
-
-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
--- a/taskswitcherapp/tsserviceplugin/inc/tsserviceplugin.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tstaskpopuphandler.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/inc/tstasksgrid.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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 TSTASKSGRID_H
-#define TSTASKSGRID_H
-
-#include <hbgridview.h>
-
-class TsTasksGrid : public HbGridView
-{
-
-    Q_OBJECT
-
-signals:
-    void deleteButtonClicked(const QModelIndex &index);
-
-};
-
-#endif // TSTASKSGRID_H
--- a/taskswitcherapp/tsserviceplugin/inc/tstasksgriditem.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +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 TSTASKSGRIDITEM_H
-#define TSTASKSGRIDITEM_H
-
-#include <hbabstractviewitem.h>
-
-class HbLabel;
-class HbPushButton;
-
-class TsTasksGridItem : public HbAbstractViewItem
-{
-    Q_OBJECT
-
-public:
-    TsTasksGridItem();
-    TsTasksGridItem(const TsTasksGridItem& item);
-    ~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
--- a/taskswitcherapp/tsserviceplugin/inc/win/tsexternalactivationwatcher_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#ifndef TSEXTERNALACTIVATIONWATCHERPRIVATE_H
-#define TSEXTERNALACTIVATIONWATCHERPRIVATE_H
-
-#include <QObject>
-#include <qmobilityglobal.h>
-
-QTM_BEGIN_NAMESPACE
-    class QValueSpacePublisher;
-    class QValueSpaceSubscriber;
-QTM_END_NAMESPACE
-
-QTM_USE_NAMESPACE
-    
-class TsExternalActivationWatcherPrivate : public QObject
-{
-    Q_OBJECT
-
-public:
-    TsExternalActivationWatcherPrivate(QObject *parent);
-
-private slots:
-    void checkActivationFlag();
-    
-signals:
-    void activationRequested();
-
-private:
-    QValueSpacePublisher *mPublisher;
-    QValueSpaceSubscriber *mSubscriber;
-    
-};
-
-#endif // TSEXTERNALACTIVATIONWATCHERPRIVATE_H
--- a/taskswitcherapp/tsserviceplugin/inc/win/tslongpresswatcher_p.h	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-#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
--- a/taskswitcherapp/tsserviceplugin/resource/tsexternalactivation.qcrml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<repository target="RProperty" uidValue="0x2002677D">
-    <key int="0x1" ref="/TaskSwitcher/Activation"/>
-</repository>
--- a/taskswitcherapp/tsserviceplugin/serviceinstaller/serviceinstaller.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-#
-
-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")
-}
--- a/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-
-#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());
-    }
-}
--- a/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: 
-#
-
-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
-}
--- a/taskswitcherapp/tsserviceplugin/serviceinstaller/tsserviceinstaller/tsserviceinstaller.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<RCC>
-    <qresource prefix="/" >
-        <file alias="tsserviceplugin.xml">../../tsserviceplugin.xml</file>
-    </qresource>
-</RCC>
--- a/taskswitcherapp/tsserviceplugin/src/s60/tsexternalactivationwatcher_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +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 "tsexternalactivationwatcher_p.h"
-#include "tsexternalactivationwatcher.h"
-
-const TUid KTaskswitcherCategory = { 0x2002677D };
-const TUint KExternalActivationKey = 0x1;
-const TInt KTaskswitcherActivateFlag = 1;
-
-/*!
-    \class TsExternalActivationWatcherPrivate
-    \ingroup group_tsserviceplugin
-    \brief Private implementation of external activation watcher.
-*/
-
-TsExternalActivationWatcherPrivate::TsExternalActivationWatcherPrivate(TsExternalActivationWatcher *parent) : CActive(CActive::EPriorityStandard), mParent(parent)
-{
-    CActiveScheduler::Add(this);
-    
-    TInt err = RProperty::Define(KTaskswitcherCategory, KExternalActivationKey, RProperty::EInt);
-    if (err == KErrNone || err == KErrAlreadyExists) {
-        err = mProperty.Attach(KTaskswitcherCategory, KExternalActivationKey);
-    }
-    
-    Q_ASSERT_X(err == KErrNone, "TsExternalActivationWatcherPrivate", qPrintable(QString("Cannot define/attach to activation watcher property %1").arg(err)));
-    
-    mProperty.Subscribe(iStatus);
-    SetActive();
-}
-
-TsExternalActivationWatcherPrivate::~TsExternalActivationWatcherPrivate()
-{
-    Cancel();
-    mProperty.Close();
-}
-
-void TsExternalActivationWatcherPrivate::ResetActivationFlag()
-{
-    TInt value(0);
-    mProperty.Set(value);
-}
-
-void TsExternalActivationWatcherPrivate::DoCancel()
-{
-    mProperty.Cancel();
-}
-
-void TsExternalActivationWatcherPrivate::RunL()
-{
-    if (iStatus.Int() != KErrCancel) {
-        
-        if (CheckActivationFlag()) {
-            ResetActivationFlag();
-            QT_TRYCATCH_LEAVING(emit mParent->activationRequested());
-        }
-        mProperty.Subscribe(iStatus);
-        SetActive();
-    }
-}
-
-bool TsExternalActivationWatcherPrivate::CheckActivationFlag()
-{
-    TInt value(0);
-    TInt result = mProperty.Get(value);
-    return (result == KErrNone && value & KTaskswitcherActivateFlag);
-}
--- a/taskswitcherapp/tsserviceplugin/src/s60/tslongpresswatcher_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-#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;
-
-/*!
-    \class TsLongPressWatcherPrivate
-    \ingroup group_tsserviceplugin
-    \brief Private implementation of long press app key watcher.
-*/
-
-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;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsactivation.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*
-*/
-
-#include "tsactivation.h"
-
-#include "tslongpresswatcher.h"
-#include "tsexternalactivationwatcher.h"
-
-/*!
-    \class TsActivation
-    \ingroup group_tsserviceplugin
-    \brief Activation service.
-    
-    Service responsible for observing all events that might show TS. When any of them
-    occurs it is emiting activation signal.
-*/
-TsActivation::TsActivation(QObject *parent) : TsActivationInterface(parent)
-{
-    TsLongPressWatcher *longPressWatcher = new TsLongPressWatcher(this);
-    connect(longPressWatcher, SIGNAL(applicationKeyLongPress()), this, SIGNAL(activated()));
-    
-    TsExternalActivationWatcher *externalActivationWatcher = new TsExternalActivationWatcher(this);
-    connect(externalActivationWatcher, SIGNAL(activationRequested()), this, SIGNAL(activated()));    
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsclosedapplicationsfiltermodel.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-#include "tsclosedapplicationsfiltermodel.h"
-#include "tsdataroles.h"
-
-
-/*!
-    \class TsClosedApplicationsFilterModel
-    \ingroup group_tsserviceplugin
-    \brief Filtering model to hide closed apps.
-	
-	When app is closed from Task Switcher it is hidden from it and will be presented when TS is started once more.
-*/
-
-/*!
-    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;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsdeactivation.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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 "tsdeactivation.h"
-
-#include <QCoreApplication>
-#include <QEvent>
-
-/*!
-    \class TsDeactivation
-    \ingroup group_tsserviceplugin
-    \brief Deactivation service.
-	
-	Service responsible for observation of all events that might hide TS. When any of 
-	them occurs it is emiting signal.
-*/
-TsDeactivation::TsDeactivation(QObject *parent) : TsDeactivationInterface(parent)
-{
-    qApp->installEventFilter(this);
-}
-
-bool TsDeactivation::eventFilter(QObject *obj, QEvent *event)
-{
-    if (event->type() == QEvent::ApplicationDeactivate) {
-        emit deactivated();
-    } 
-    return TsDeactivationInterface::eventFilter(obj, event);  
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsdocumentloader.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: Screensaver custom document loader.
-*
-*/
-
-#include "tsdocumentloader.h"
-#include "tstasksgrid.h"
-#include "tstasksgriditem.h"
-
-/*!
-    \class TsDocumentLoader
-    \ingroup group_tsserviceplugin
-    \brief Document loader.
-	
-	TS implementation of document loader. It is creating TS objects used in UI
-*/
-
-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);
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsexternalactivationwatcher.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "tsexternalactivationwatcher.h"
-#include "tsexternalactivationwatcher_p.h"
-
-TsExternalActivationWatcher::TsExternalActivationWatcher(QObject *parent) : QObject(parent)
-{
-    d_ptr = new TsExternalActivationWatcherPrivate(this);
-}
-
-TsExternalActivationWatcher::~TsExternalActivationWatcher()
-{
-    delete d_ptr;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsitemprovider.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +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 "tsitemprovider.h"
-
-#include <QModelIndex>
-#include <QAbstractItemModel>
-
-#include <caservice.h>
-
-#include "tsrecentapplicationsmodel.h"
-#include "tsclosedapplicationsfiltermodel.h"
-#include "tsdataroles.h"
-
-/*!
-    \class TsItemProvider
-    \ingroup group_tsserviceplugin
-    \brief Returns items that should be presented in TS.
-	
-	Service providing information about items that should be presented in TS. It also allows to
-	start some action on it (open/close).
-*/
-
-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()
-{
-    QList<int> closableList;
-    for (int row(0); row < mModel->rowCount(); ++row) {
-        if (mModel->index(row, 0).data(TsDataRoles::Closable).toBool()) {
-            QVariant entryId = mModel->index(row, 0).data(TsDataRoles::EntryId);
-            if (entryId.isValid()) {
-                closableList.append(entryId.toInt());
-            }
-        }
-    }
-    foreach (int entryId, closableList) {
-        mModel->addId(entryId);
-        mService->executeCommand(entryId, QString("close"));        
-    }
-}
-
-void TsItemProvider::clearClosedApplicationList()
-{
-    mModel->clearIds();
-}
--- a/taskswitcherapp/tsserviceplugin/src/tslongpresswatcher.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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:
-*
-*/
-
-#include "tslongpresswatcher.h"
-#include "tslongpresswatcher_p.h"
-
-/*!
-    \class TsLongPressWatcher
-    \ingroup group_tsserviceplugin
-    \brief Class watching app key events.
-*/
-TsLongPressWatcher::TsLongPressWatcher(QObject *parent) : QObject(parent)
-{
-    d_ptr = new TsLongPressWatcherPrivate(this);
-}
-
-TsLongPressWatcher::~TsLongPressWatcher()
-{
-    delete d_ptr;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tspresentation.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-#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    
-
-/*!
-    \class TsPresentation
-    \ingroup group_tsserviceplugin
-    \brief Class providing UI for presenting TS data.
-*/
-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]);
-    Q_ASSERT_X(task.Exists(), "Bringing task switcher to foreground", "Application couldn't find task with its own UID");
-    task.BringToForeground();
-#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);
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsrecentapplicationsmodel.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,170 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: recentapplicationsmodel.cpp
-*
-*/
-#include "tsrecentapplicationsmodel.h"
-
-#include <HbIcon>
-#include <cadefs.h>
-#include <caservice.h>
-#include <canotifier.h>
-#include <canotifierfilter.h>
-
-#include "tsdataroles.h"
-
-/*!
-    \class TsRecentApplicationsModel
-    \ingroup group_tsserviceplugin
-    \brief Model storing recent application.
-*/
-
-/*!
-    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;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tsserviceplugin.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-*
-*/
-
-#include "tsserviceplugin.h"
-
-#include <qserviceinterfacedescriptor.h>
-#include <qabstractsecuritysession.h>
-#include <qservicecontext.h>
-
-#include "tsitemprovider.h"
-#include "tsactivation.h"
-#include "tsdeactivation.h"
-#include "tspresentation.h"
-
-#ifdef COVERAGE_MEASUREMENT
-#pragma CTC SKIP
-#endif //COVERAGE_MEASUREMENT
-
-/*!
-    \class TsServicePlugin
-    \ingroup group_tsserviceplugin
-    \brief Plugin implementation.
-*/
-
-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)
-
-#ifdef COVERAGE_MEASUREMENT
-#pragma CTC ENDSKIP
-#endif //COVERAGE_MEASUREMENT
--- a/taskswitcherapp/tsserviceplugin/src/tstaskpopuphandler.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +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 "tstaskpopuphandler.h"
-
-#include <hbmenu.h>
-#include <hbabstractviewitem.h>
-
-#include "tsdataroles.h"
-
-/*!
-    \class TsTaskPopupHandler
-    \ingroup group_tsserviceplugin
-    \brief Create popup with options for TS app.
-*/
-
-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;
-}
--- a/taskswitcherapp/tsserviceplugin/src/tstasksgriditem.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-#include "tstasksgriditem.h"
-
-#include <hblabel.h>
-#include <hbpushbutton.h>
-#include <hbabstractitemview.h>
-#include <hbanchorlayout.h>
-#include "tsdataroles.h"
-
-/*!
-    \class TsTasksGridItem
-    \ingroup group_tsserviceplugin
-    \brief Item that should be presented in grid.
-*/
-
-
-TsTasksGridItem::TsTasksGridItem() : HbAbstractViewItem()
-{
-}
-
-TsTasksGridItem::TsTasksGridItem(const TsTasksGridItem &item) : HbAbstractViewItem(item)
-{
-    // 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(*this);
-    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();
-    }
-}
--- a/taskswitcherapp/tsserviceplugin/src/win/tsexternalactivationwatcher_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-#include "tsexternalactivationwatcher_p.h"
-
-#include <qvaluespacesubscriber.h>
-#include <qvaluespacepublisher.h>
-
-QTM_USE_NAMESPACE
-
-TsExternalActivationWatcherPrivate::TsExternalActivationWatcherPrivate(QObject *parent) : QObject()
-{
-    mSubscriber = new QValueSpaceSubscriber("/TaskSwitcher/Activation", this);
-    mPublisher = new QValueSpacePublisher("/TaskSwitcher", this);
-    connect(mSubscriber, SIGNAL(contentsChanged()), this, SLOT(checkActivationFlag()));
-    connect(this, SIGNAL(activationRequested()), parent, SIGNAL(activationRequested()));
-}
-
-void TsExternalActivationWatcherPrivate::checkActivationFlag()
-{
-    if (mSubscriber->value().isValid()) {
-        mPublisher->resetValue("Activation");
-        mPublisher->sync();
-        emit activationRequested();
-    }
-}
--- a/taskswitcherapp/tsserviceplugin/src/win/tslongpresswatcher_p.cpp	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +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 "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
--- a/taskswitcherapp/tsserviceplugin/taskswitcher.ts	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
-<context>
-<message numerus="no" id="txt_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>
--- a/taskswitcherapp/tsserviceplugin/tspresentation.qrc	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-<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/castorage.db has changed
--- a/taskswitcherapp/tsserviceplugin/tsserviceplugin.pro	Fri Apr 16 14:54:01 2010 +0300
+++ /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: 
-#
-
-TEMPLATE = lib
-CONFIG += plugin hb mobility
-MOBILITY = serviceframework 
-
-win32 {
-    MOBILITY += publishsubscribe
-}
-
-INCLUDEPATH += . inc
-
-HEADERS +=  inc/tsserviceplugin.h \
-            inc/tsdataroles.h \
-            inc/tsactivationinterface.h \
-            inc/tsactivation.h \
-            inc/tslongpresswatcher.h \
-            inc/tsexternalactivationwatcher.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/tsexternalactivationwatcher.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) 
-
-    plugin.sources = tsserviceplugin.dll
-    plugin.path = $$QT_PLUGINS_BASE_DIR     
-
-    # ugly hack
-    translation.sources = ./*.qm
-    translation.path = $$QT_PLUGINS_BASE_DIR/../translations
-
-    # another ugly hack 
-    crml.sources = ./resource/*.qcrml
-    crml.path = $$QT_PLUGINS_BASE_DIR/../crml
-    
-    DEPLOYMENT += plugin translation crml
-}
-
-symbian {
-    INCLUDEPATH += inc/s60
-    HEADERS +=  inc/s60/tslongpresswatcher_p.h \
-                inc/s60/tsexternalactivationwatcher_p.h \
-                
-    SOURCES +=  src/s60/tslongpresswatcher_p.cpp \
-                src/s60/tsexternalactivationwatcher_p.cpp \
-                
-    LIBS += -lcone \
-            -lapgrfx \
-            -lws32 \
-
-}
-
-win32 {
-    INCLUDEPATH +=  inc/win
-
-    HEADERS +=  inc/win/tslongpresswatcher_p.h \
-                inc/win/tsexternalactivationwatcher_p.h \
-    
-    SOURCES +=  src/win/tslongpresswatcher_p.cpp \
-                src/win/tsexternalactivationwatcher_p.cpp \
-                
-    LIBS += -lUser32
-}
-
-include(../common.pri)
--- a/taskswitcherapp/tsserviceplugin/tsserviceplugin.xml	Fri Apr 16 14:54:01 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-<?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>