Revision: 201023 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 21 Jun 2010 15:27:11 +0300
branchRCL_3
changeset 28 d721605b30d0
parent 26 1b758917cafc
child 29 d12a7ea0f775
child 31 89165693e770
Revision: 201023 Kit: 2010125
idlehomescreen/data/qhd_tch/templateview_20026f50/loc/templateview.loc
idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/view.dtd
idlehomescreen/data/qhd_tch/view_2001f48b/loc/View.loc
idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dtd
idlehomescreen/data/qhd_tch/view_200286e4/loc/View.loc
idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dtd
idlehomescreen/data/qhd_tch/view_200286e5/loc/View.loc
idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dtd
idlehomescreen/data/vga_tch/view1_2001fdb9/loc/view.loc
idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dtd
idlehomescreen/inc/xnviewmanager.h
idlehomescreen/loc/activeidle3.loc
idlehomescreen/widgetmanager/inc/wmlistbox.h
idlehomescreen/widgetmanager/inc/wmlistbox.inl
idlehomescreen/widgetmanager/inc/wmmaincontainer.h
idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h
idlehomescreen/widgetmanager/src/wmlistbox.cpp
idlehomescreen/widgetmanager/src/wmmaincontainer.cpp
idlehomescreen/widgetmanager/src/wmplugin.cpp
idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp
idlehomescreen/xmluicontroller/inc/appui.h
idlehomescreen/xmluicontroller/src/appui.cpp
idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h
idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp
idlehomescreen/xmluirendering/uiengine/inc/xneditor.h
idlehomescreen/xmluirendering/uiengine/inc/xnitemactivator.h
idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h
idlehomescreen/xmluirendering/uiengine/inc/xnrootdata.h
idlehomescreen/xmluirendering/uiengine/inc/xnuiengineimpl.h
idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h
idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp
idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp
idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp
idlehomescreen/xmluirendering/uiengine/src/xnitemactivator.cpp
idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp
idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp
idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp
idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp
menufw/menufwui/matrixmenu/src/mmappui.cpp
menufw/menufwui/mmwidgets/inc/mmlistboxview.h
menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp
menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp
menufw/menufwui/mmwidgets/src/mmlistboxview.cpp
taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp
taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h
taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp
taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/loc/templateview.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/loc/templateview.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -27,8 +27,8 @@
 // r: TB9.2
 #define qtn_msk_open "Open"
 
-// d: Options
-// l: control_pane_t1/opt7
+// d: Done
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_done "Done"
@@ -40,7 +40,7 @@
 #define qtn_options_open "Open"
 
 // d: Back
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_back "Back"
@@ -76,13 +76,13 @@
 #define qtn_hs_widget_catalog "Widget catalog"
 
 // d: Search
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_search "Search"
 
 // d: Options
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_options "Options"
@@ -172,13 +172,13 @@
 #define qtn_set_right_idle_softkey "Right selection key"
 
 // d: Select
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_select "Select"
 
 // d: Cancel
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_cancel "Cancel"
@@ -250,7 +250,7 @@
 #define qtn_hs_title_editing_view "Editing view"
 
 // d: Call
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_call "Call"
@@ -266,3 +266,45 @@
 // w:
 // r: TB9.2
 #define qtn_hs_page_edit_options_delete "Delete page"
+
+// d: Done
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_done "Done"
+
+// d: Search
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_search "Search"
+
+// d: Options
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_options "Options"
+
+// d: Back
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_back "Back"
+
+// d: Select
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_select "Select"
+
+// d: Cancel
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_cancel "Cancel"
+
+// d: Call
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_call "Call"
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/view.dtd	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/view.dtd	Mon Jun 21 15:27:11 2010 +0300
@@ -42,7 +42,7 @@
 
 <!--
 text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
+text_softkey_done.layout "nhd_control_pane_t2/opt7"
 text_softkey_done.release "TB9.2"
 text_softkey_done.description "Done"
 text_softkey_done.grammar "Done"
@@ -62,7 +62,7 @@
 
 <!--
 text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
+text_softkey_back.layout "nhd_control_pane_t2/opt7"
 text_softkey_back.release "TB9.2"
 text_softkey_back.description "Back text for SK2"
 text_softkey_back.parents "control_pane"
@@ -120,7 +120,7 @@
 
 <!--
 text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
+text_softkey_search.layout "nhd_control_pane_t2/opt7"
 text_softkey_search.release "TB9.2"
 text_softkey_search.description "Search"
 text_softkey_search.grammar "Search"
@@ -130,7 +130,7 @@
 
 <!--
 text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
+text_softkey_options.layout "nhd_control_pane_t2/opt7"
 text_softkey_options.release "TB9.2"
 text_softkey_options.description "Options"
 text_softkey_options.grammar "Options"
@@ -280,7 +280,7 @@
 
 <!--
 text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
+text_softkey_select.layout "nhd_control_pane_t2/opt7"
 text_softkey_select.release "TB9.2"
 text_softkey_select.description "Select"
 text_softkey_select.grammar "Select"
@@ -290,7 +290,7 @@
 
 <!--
 text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
+text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
 text_softkey_cancel.release "TB9.2"
 text_softkey_cancel.description "Cancel"
 text_softkey_cancel.grammar "Cancel"
@@ -401,7 +401,7 @@
 
 <!--
 text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
+text_softkey_call.layout "nhd_control_pane_t2/opt7"
 text_softkey_call.release "TB9.2"
 text_softkey_call.description "RSK caption call inactive"
 text_softkey_call.parents ""
@@ -426,3 +426,71 @@
 qtn_hs_page_edit_options_delete.parents ""
 -->
 <!ENTITY qtn_hs_page_edit_options_delete "Delete page">
+
+<!--
+qtn_hs_text_softkey_done.attributes
+qtn_hs_text_softkey_done.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_done.release "TB9.2"
+qtn_hs_text_softkey_done.description "Done"
+qtn_hs_text_softkey_done.grammar "Done"
+qtn_hs_text_softkey_done.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_done "Done">
+
+<!--
+qtn_hs_text_softkey_search.attributes
+qtn_hs_text_softkey_search.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_search.release "TB9.2"
+qtn_hs_text_softkey_search.description "Search"
+qtn_hs_text_softkey_search.grammar "Search"
+qtn_hs_text_softkey_search.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_search "Search">
+
+<!--
+qtn_hs_text_softkey_options.attributes
+qtn_hs_text_softkey_options.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_options.release "TB9.2"
+qtn_hs_text_softkey_options.description "Options"
+qtn_hs_text_softkey_options.grammar "Options"
+qtn_hs_text_softkey_options.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_options "Options">
+
+<!--
+qtn_hs_text_softkey_back.attributes
+qtn_hs_text_softkey_back.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_back.release "TB9.2"
+qtn_hs_text_softkey_back.description "Back text for SK2"
+qtn_hs_text_softkey_back.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_back "Back">
+
+<!--
+qtn_hs_text_softkey_select.attributes
+qtn_hs_text_softkey_select.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_select.release "TB9.2"
+qtn_hs_text_softkey_select.description "Select"
+qtn_hs_text_softkey_select.grammar "Select"
+qtn_hs_text_softkey_select.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_select "Select">
+
+<!--
+qtn_hs_text_softkey_cancel.attributes
+qtn_hs_text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_cancel.release "TB9.2"
+qtn_hs_text_softkey_cancel.description "Cancel"
+qtn_hs_text_softkey_cancel.grammar "Cancel"
+qtn_hs_text_softkey_cancel.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_cancel "Cancel">
+
+<!--
+qtn_hs_text_softkey_call.attributes
+qtn_hs_text_softkey_call.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_call.release "TB9.2"
+qtn_hs_text_softkey_call.description "RSK caption call inactive"
+qtn_hs_text_softkey_call.parents ""
+-->
+<!ENTITY qtn_hs_text_softkey_call "Call">
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/loc/View.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/loc/View.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -27,8 +27,8 @@
 // r: TB9.2
 #define qtn_msk_open "Open"
 
-// d: Options
-// l: control_pane_t1/opt7
+// d: Done
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_done "Done"
@@ -40,7 +40,7 @@
 #define qtn_options_open "Open"
 
 // d: Back
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_back "Back"
@@ -76,13 +76,13 @@
 #define qtn_hs_widget_catalog "Widget catalog"
 
 // d: Search
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_search "Search"
 
 // d: Options
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_options "Options"
@@ -172,13 +172,13 @@
 #define qtn_set_right_idle_softkey "Right selection key"
 
 // d: Select
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_select "Select"
 
 // d: Cancel
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_cancel "Cancel"
@@ -250,7 +250,7 @@
 #define qtn_hs_title_editing_view "Editing view"
 
 // d: Call
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_call "Call"
@@ -266,3 +266,45 @@
 // w:
 // r: TB9.2
 #define qtn_hs_page_edit_options_delete "Delete page"
+
+// d: Done
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_done "Done"
+
+// d: Search
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_search "Search"
+
+// d: Options
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_options "Options"
+
+// d: Back
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_back "Back"
+
+// d: Select
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_select "Select"
+
+// d: Cancel
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_cancel "Cancel"
+
+// d: Call
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_call "Call"
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dtd	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.dtd	Mon Jun 21 15:27:11 2010 +0300
@@ -42,7 +42,7 @@
 
 <!--
 text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
+text_softkey_done.layout "nhd_control_pane_t2/opt7"
 text_softkey_done.release "TB9.2"
 text_softkey_done.description "Done"
 text_softkey_done.grammar "Done"
@@ -62,7 +62,7 @@
 
 <!--
 text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
+text_softkey_back.layout "nhd_control_pane_t2/opt7"
 text_softkey_back.release "TB9.2"
 text_softkey_back.description "Back text for SK2"
 text_softkey_back.parents "control_pane"
@@ -120,7 +120,7 @@
 
 <!--
 text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
+text_softkey_search.layout "nhd_control_pane_t2/opt7"
 text_softkey_search.release "TB9.2"
 text_softkey_search.description "Search"
 text_softkey_search.grammar "Search"
@@ -130,7 +130,7 @@
 
 <!--
 text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
+text_softkey_options.layout "nhd_control_pane_t2/opt7"
 text_softkey_options.release "TB9.2"
 text_softkey_options.description "Options"
 text_softkey_options.grammar "Options"
@@ -280,7 +280,7 @@
 
 <!--
 text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
+text_softkey_select.layout "nhd_control_pane_t2/opt7"
 text_softkey_select.release "TB9.2"
 text_softkey_select.description "Select"
 text_softkey_select.grammar "Select"
@@ -290,7 +290,7 @@
 
 <!--
 text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
+text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
 text_softkey_cancel.release "TB9.2"
 text_softkey_cancel.description "Cancel"
 text_softkey_cancel.grammar "Cancel"
@@ -401,7 +401,7 @@
 
 <!--
 text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
+text_softkey_call.layout "nhd_control_pane_t2/opt7"
 text_softkey_call.release "TB9.2"
 text_softkey_call.description "RSK caption call inactive"
 text_softkey_call.parents ""
@@ -426,3 +426,71 @@
 qtn_hs_page_edit_options_delete.parents ""
 -->
 <!ENTITY qtn_hs_page_edit_options_delete "Delete page">
+
+<!--
+qtn_hs_text_softkey_done.attributes
+qtn_hs_text_softkey_done.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_done.release "TB9.2"
+qtn_hs_text_softkey_done.description "Done"
+qtn_hs_text_softkey_done.grammar "Done"
+qtn_hs_text_softkey_done.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_done "Done">
+
+<!--
+qtn_hs_text_softkey_search.attributes
+qtn_hs_text_softkey_search.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_search.release "TB9.2"
+qtn_hs_text_softkey_search.description "Search"
+qtn_hs_text_softkey_search.grammar "Search"
+qtn_hs_text_softkey_search.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_search "Search">
+
+<!--
+qtn_hs_text_softkey_options.attributes
+qtn_hs_text_softkey_options.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_options.release "TB9.2"
+qtn_hs_text_softkey_options.description "Options"
+qtn_hs_text_softkey_options.grammar "Options"
+qtn_hs_text_softkey_options.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_options "Options">
+
+<!--
+qtn_hs_text_softkey_back.attributes
+qtn_hs_text_softkey_back.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_back.release "TB9.2"
+qtn_hs_text_softkey_back.description "Back text for SK2"
+qtn_hs_text_softkey_back.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_back "Back">
+
+<!--
+qtn_hs_text_softkey_select.attributes
+qtn_hs_text_softkey_select.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_select.release "TB9.2"
+qtn_hs_text_softkey_select.description "Select"
+qtn_hs_text_softkey_select.grammar "Select"
+qtn_hs_text_softkey_select.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_select "Select">
+
+<!--
+qtn_hs_text_softkey_cancel.attributes
+qtn_hs_text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_cancel.release "TB9.2"
+qtn_hs_text_softkey_cancel.description "Cancel"
+qtn_hs_text_softkey_cancel.grammar "Cancel"
+qtn_hs_text_softkey_cancel.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_cancel "Cancel">
+
+<!--
+qtn_hs_text_softkey_call.attributes
+qtn_hs_text_softkey_call.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_call.release "TB9.2"
+qtn_hs_text_softkey_call.description "RSK caption call inactive"
+qtn_hs_text_softkey_call.parents ""
+-->
+<!ENTITY qtn_hs_text_softkey_call "Call">
--- a/idlehomescreen/data/qhd_tch/view_200286e4/loc/View.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/loc/View.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -27,8 +27,8 @@
 // r: TB9.2
 #define qtn_msk_open "Open"
 
-// d: Options
-// l: control_pane_t1/opt7
+// d: Done
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_done "Done"
@@ -40,7 +40,7 @@
 #define qtn_options_open "Open"
 
 // d: Back
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_back "Back"
@@ -76,13 +76,13 @@
 #define qtn_hs_widget_catalog "Widget catalog"
 
 // d: Search
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_search "Search"
 
 // d: Options
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_options "Options"
@@ -172,13 +172,13 @@
 #define qtn_set_right_idle_softkey "Right selection key"
 
 // d: Select
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_select "Select"
 
 // d: Cancel
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_cancel "Cancel"
@@ -250,7 +250,7 @@
 #define qtn_hs_title_editing_view "Editing view"
 
 // d: Call
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_call "Call"
@@ -266,3 +266,45 @@
 // w:
 // r: TB9.2
 #define qtn_hs_page_edit_options_delete "Delete page"
+
+// d: Done
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_done "Done"
+
+// d: Search
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_search "Search"
+
+// d: Options
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_options "Options"
+
+// d: Back
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_back "Back"
+
+// d: Select
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_select "Select"
+
+// d: Cancel
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_cancel "Cancel"
+
+// d: Call
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_call "Call"
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dtd	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dtd	Mon Jun 21 15:27:11 2010 +0300
@@ -42,7 +42,7 @@
 
 <!--
 text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
+text_softkey_done.layout "nhd_control_pane_t2/opt7"
 text_softkey_done.release "TB9.2"
 text_softkey_done.description "Done"
 text_softkey_done.grammar "Done"
@@ -62,7 +62,7 @@
 
 <!--
 text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
+text_softkey_back.layout "nhd_control_pane_t2/opt7"
 text_softkey_back.release "TB9.2"
 text_softkey_back.description "Back text for SK2"
 text_softkey_back.parents "control_pane"
@@ -120,7 +120,7 @@
 
 <!--
 text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
+text_softkey_search.layout "nhd_control_pane_t2/opt7"
 text_softkey_search.release "TB9.2"
 text_softkey_search.description "Search"
 text_softkey_search.grammar "Search"
@@ -130,7 +130,7 @@
 
 <!--
 text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
+text_softkey_options.layout "nhd_control_pane_t2/opt7"
 text_softkey_options.release "TB9.2"
 text_softkey_options.description "Options"
 text_softkey_options.grammar "Options"
@@ -280,7 +280,7 @@
 
 <!--
 text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
+text_softkey_select.layout "nhd_control_pane_t2/opt7"
 text_softkey_select.release "TB9.2"
 text_softkey_select.description "Select"
 text_softkey_select.grammar "Select"
@@ -290,7 +290,7 @@
 
 <!--
 text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
+text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
 text_softkey_cancel.release "TB9.2"
 text_softkey_cancel.description "Cancel"
 text_softkey_cancel.grammar "Cancel"
@@ -401,7 +401,7 @@
 
 <!--
 text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
+text_softkey_call.layout "nhd_control_pane_t2/opt7"
 text_softkey_call.release "TB9.2"
 text_softkey_call.description "RSK caption call inactive"
 text_softkey_call.parents ""
@@ -426,3 +426,71 @@
 qtn_hs_page_edit_options_delete.parents ""
 -->
 <!ENTITY qtn_hs_page_edit_options_delete "Delete page">
+
+<!--
+qtn_hs_text_softkey_done.attributes
+qtn_hs_text_softkey_done.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_done.release "TB9.2"
+qtn_hs_text_softkey_done.description "Done"
+qtn_hs_text_softkey_done.grammar "Done"
+qtn_hs_text_softkey_done.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_done "Done">
+
+<!--
+qtn_hs_text_softkey_search.attributes
+qtn_hs_text_softkey_search.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_search.release "TB9.2"
+qtn_hs_text_softkey_search.description "Search"
+qtn_hs_text_softkey_search.grammar "Search"
+qtn_hs_text_softkey_search.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_search "Search">
+
+<!--
+qtn_hs_text_softkey_options.attributes
+qtn_hs_text_softkey_options.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_options.release "TB9.2"
+qtn_hs_text_softkey_options.description "Options"
+qtn_hs_text_softkey_options.grammar "Options"
+qtn_hs_text_softkey_options.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_options "Options">
+
+<!--
+qtn_hs_text_softkey_back.attributes
+qtn_hs_text_softkey_back.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_back.release "TB9.2"
+qtn_hs_text_softkey_back.description "Back text for SK2"
+qtn_hs_text_softkey_back.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_back "Back">
+
+<!--
+qtn_hs_text_softkey_select.attributes
+qtn_hs_text_softkey_select.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_select.release "TB9.2"
+qtn_hs_text_softkey_select.description "Select"
+qtn_hs_text_softkey_select.grammar "Select"
+qtn_hs_text_softkey_select.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_select "Select">
+
+<!--
+qtn_hs_text_softkey_cancel.attributes
+qtn_hs_text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_cancel.release "TB9.2"
+qtn_hs_text_softkey_cancel.description "Cancel"
+qtn_hs_text_softkey_cancel.grammar "Cancel"
+qtn_hs_text_softkey_cancel.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_cancel "Cancel">
+
+<!--
+qtn_hs_text_softkey_call.attributes
+qtn_hs_text_softkey_call.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_call.release "TB9.2"
+qtn_hs_text_softkey_call.description "RSK caption call inactive"
+qtn_hs_text_softkey_call.parents ""
+-->
+<!ENTITY qtn_hs_text_softkey_call "Call">
--- a/idlehomescreen/data/qhd_tch/view_200286e5/loc/View.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/loc/View.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -27,8 +27,8 @@
 // r: TB9.2
 #define qtn_msk_open "Open"
 
-// d: Options
-// l: control_pane_t1/opt7
+// d: Done
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_done "Done"
@@ -40,7 +40,7 @@
 #define qtn_options_open "Open"
 
 // d: Back
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_back "Back"
@@ -76,13 +76,13 @@
 #define qtn_hs_widget_catalog "Widget catalog"
 
 // d: Search
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_search "Search"
 
 // d: Options
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_options "Options"
@@ -172,13 +172,13 @@
 #define qtn_set_right_idle_softkey "Right selection key"
 
 // d: Select
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_select "Select"
 
 // d: Cancel
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_cancel "Cancel"
@@ -250,7 +250,7 @@
 #define qtn_hs_title_editing_view "Editing view"
 
 // d: Call
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_call "Call"
@@ -266,3 +266,45 @@
 // w:
 // r: TB9.2
 #define qtn_hs_page_edit_options_delete "Delete page"
+
+// d: Done
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_done "Done"
+
+// d: Search
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_search "Search"
+
+// d: Options
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_options "Options"
+
+// d: Back
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_back "Back"
+
+// d: Select
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_select "Select"
+
+// d: Cancel
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_cancel "Cancel"
+
+// d: Call
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_call "Call"
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dtd	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dtd	Mon Jun 21 15:27:11 2010 +0300
@@ -42,7 +42,7 @@
 
 <!--
 text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
+text_softkey_done.layout "nhd_control_pane_t2/opt7"
 text_softkey_done.release "TB9.2"
 text_softkey_done.description "Done"
 text_softkey_done.grammar "Done"
@@ -62,7 +62,7 @@
 
 <!--
 text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
+text_softkey_back.layout "nhd_control_pane_t2/opt7"
 text_softkey_back.release "TB9.2"
 text_softkey_back.description "Back text for SK2"
 text_softkey_back.parents "control_pane"
@@ -120,7 +120,7 @@
 
 <!--
 text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
+text_softkey_search.layout "nhd_control_pane_t2/opt7"
 text_softkey_search.release "TB9.2"
 text_softkey_search.description "Search"
 text_softkey_search.grammar "Search"
@@ -130,7 +130,7 @@
 
 <!--
 text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
+text_softkey_options.layout "nhd_control_pane_t2/opt7"
 text_softkey_options.release "TB9.2"
 text_softkey_options.description "Options"
 text_softkey_options.grammar "Options"
@@ -280,7 +280,7 @@
 
 <!--
 text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
+text_softkey_select.layout "nhd_control_pane_t2/opt7"
 text_softkey_select.release "TB9.2"
 text_softkey_select.description "Select"
 text_softkey_select.grammar "Select"
@@ -290,7 +290,7 @@
 
 <!--
 text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
+text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
 text_softkey_cancel.release "TB9.2"
 text_softkey_cancel.description "Cancel"
 text_softkey_cancel.grammar "Cancel"
@@ -401,7 +401,7 @@
 
 <!--
 text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
+text_softkey_call.layout "nhd_control_pane_t2/opt7"
 text_softkey_call.release "TB9.2"
 text_softkey_call.description "RSK caption call inactive"
 text_softkey_call.parents ""
@@ -426,3 +426,71 @@
 qtn_hs_page_edit_options_delete.parents ""
 -->
 <!ENTITY qtn_hs_page_edit_options_delete "Delete page">
+
+<!--
+qtn_hs_text_softkey_done.attributes
+qtn_hs_text_softkey_done.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_done.release "TB9.2"
+qtn_hs_text_softkey_done.description "Done"
+qtn_hs_text_softkey_done.grammar "Done"
+qtn_hs_text_softkey_done.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_done "Done">
+
+<!--
+qtn_hs_text_softkey_search.attributes
+qtn_hs_text_softkey_search.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_search.release "TB9.2"
+qtn_hs_text_softkey_search.description "Search"
+qtn_hs_text_softkey_search.grammar "Search"
+qtn_hs_text_softkey_search.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_search "Search">
+
+<!--
+qtn_hs_text_softkey_options.attributes
+qtn_hs_text_softkey_options.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_options.release "TB9.2"
+qtn_hs_text_softkey_options.description "Options"
+qtn_hs_text_softkey_options.grammar "Options"
+qtn_hs_text_softkey_options.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_options "Options">
+
+<!--
+qtn_hs_text_softkey_back.attributes
+qtn_hs_text_softkey_back.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_back.release "TB9.2"
+qtn_hs_text_softkey_back.description "Back text for SK2"
+qtn_hs_text_softkey_back.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_back "Back">
+
+<!--
+qtn_hs_text_softkey_select.attributes
+qtn_hs_text_softkey_select.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_select.release "TB9.2"
+qtn_hs_text_softkey_select.description "Select"
+qtn_hs_text_softkey_select.grammar "Select"
+qtn_hs_text_softkey_select.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_select "Select">
+
+<!--
+qtn_hs_text_softkey_cancel.attributes
+qtn_hs_text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_cancel.release "TB9.2"
+qtn_hs_text_softkey_cancel.description "Cancel"
+qtn_hs_text_softkey_cancel.grammar "Cancel"
+qtn_hs_text_softkey_cancel.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_cancel "Cancel">
+
+<!--
+qtn_hs_text_softkey_call.attributes
+qtn_hs_text_softkey_call.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_call.release "TB9.2"
+qtn_hs_text_softkey_call.description "RSK caption call inactive"
+qtn_hs_text_softkey_call.parents ""
+-->
+<!ENTITY qtn_hs_text_softkey_call "Call">
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/loc/view.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/vga_tch/view1_2001fdb9/loc/view.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -27,8 +27,8 @@
 // r: TB9.2
 #define qtn_msk_open "Open"
 
-// d: Options
-// l: control_pane_t1/opt7
+// d: Done
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_done "Done"
@@ -40,7 +40,7 @@
 #define qtn_options_open "Open"
 
 // d: Back
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_back "Back"
@@ -76,13 +76,13 @@
 #define qtn_hs_widget_catalog "Widget catalog"
 
 // d: Search
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_search "Search"
 
 // d: Options
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_options "Options"
@@ -172,13 +172,13 @@
 #define qtn_set_right_idle_softkey "Right selection key"
 
 // d: Select
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_select "Select"
 
 // d: Cancel
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_cancel "Cancel"
@@ -250,7 +250,7 @@
 #define qtn_hs_title_editing_view "Editing view"
 
 // d: Call
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: TB9.2
 #define text_softkey_call "Call"
@@ -266,3 +266,45 @@
 // w:
 // r: TB9.2
 #define qtn_hs_page_edit_options_delete "Delete page"
+
+// d: Done
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_done "Done"
+
+// d: Search
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_search "Search"
+
+// d: Options
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_options "Options"
+
+// d: Back
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_back "Back"
+
+// d: Select
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_select "Select"
+
+// d: Cancel
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_cancel "Cancel"
+
+// d: Call
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: TB9.2
+#define qtn_hs_text_softkey_call "Call"
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dtd	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/data/vga_tch/view1_2001fdb9/xuikon/00/view.dtd	Mon Jun 21 15:27:11 2010 +0300
@@ -42,7 +42,7 @@
 
 <!--
 text_softkey_done.attributes
-text_softkey_done.layout "control_pane_t1/opt7"
+text_softkey_done.layout "nhd_control_pane_t2/opt7"
 text_softkey_done.release "TB9.2"
 text_softkey_done.description "Done"
 text_softkey_done.grammar "Done"
@@ -62,7 +62,7 @@
 
 <!--
 text_softkey_back.attributes
-text_softkey_back.layout "control_pane_t1/opt7"
+text_softkey_back.layout "nhd_control_pane_t2/opt7"
 text_softkey_back.release "TB9.2"
 text_softkey_back.description "Back text for SK2"
 text_softkey_back.parents "control_pane"
@@ -120,7 +120,7 @@
 
 <!--
 text_softkey_search.attributes
-text_softkey_search.layout "control_pane_t1/opt7"
+text_softkey_search.layout "nhd_control_pane_t2/opt7"
 text_softkey_search.release "TB9.2"
 text_softkey_search.description "Search"
 text_softkey_search.grammar "Search"
@@ -130,7 +130,7 @@
 
 <!--
 text_softkey_options.attributes
-text_softkey_options.layout "control_pane_t1/opt7"
+text_softkey_options.layout "nhd_control_pane_t2/opt7"
 text_softkey_options.release "TB9.2"
 text_softkey_options.description "Options"
 text_softkey_options.grammar "Options"
@@ -280,7 +280,7 @@
 
 <!--
 text_softkey_select.attributes
-text_softkey_select.layout "control_pane_t1/opt7"
+text_softkey_select.layout "nhd_control_pane_t2/opt7"
 text_softkey_select.release "TB9.2"
 text_softkey_select.description "Select"
 text_softkey_select.grammar "Select"
@@ -290,7 +290,7 @@
 
 <!--
 text_softkey_cancel.attributes
-text_softkey_cancel.layout "control_pane_t1/opt7"
+text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
 text_softkey_cancel.release "TB9.2"
 text_softkey_cancel.description "Cancel"
 text_softkey_cancel.grammar "Cancel"
@@ -401,7 +401,7 @@
 
 <!--
 text_softkey_call.attributes
-text_softkey_call.layout "control_pane_t1/opt7"
+text_softkey_call.layout "nhd_control_pane_t2/opt7"
 text_softkey_call.release "TB9.2"
 text_softkey_call.description "RSK caption call inactive"
 text_softkey_call.parents ""
@@ -426,3 +426,71 @@
 qtn_hs_page_edit_options_delete.parents ""
 -->
 <!ENTITY qtn_hs_page_edit_options_delete "Delete page">
+
+<!--
+qtn_hs_text_softkey_done.attributes
+qtn_hs_text_softkey_done.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_done.release "TB9.2"
+qtn_hs_text_softkey_done.description "Done"
+qtn_hs_text_softkey_done.grammar "Done"
+qtn_hs_text_softkey_done.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_done "Done">
+
+<!--
+qtn_hs_text_softkey_search.attributes
+qtn_hs_text_softkey_search.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_search.release "TB9.2"
+qtn_hs_text_softkey_search.description "Search"
+qtn_hs_text_softkey_search.grammar "Search"
+qtn_hs_text_softkey_search.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_search "Search">
+
+<!--
+qtn_hs_text_softkey_options.attributes
+qtn_hs_text_softkey_options.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_options.release "TB9.2"
+qtn_hs_text_softkey_options.description "Options"
+qtn_hs_text_softkey_options.grammar "Options"
+qtn_hs_text_softkey_options.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_options "Options">
+
+<!--
+qtn_hs_text_softkey_back.attributes
+qtn_hs_text_softkey_back.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_back.release "TB9.2"
+qtn_hs_text_softkey_back.description "Back text for SK2"
+qtn_hs_text_softkey_back.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_back "Back">
+
+<!--
+qtn_hs_text_softkey_select.attributes
+qtn_hs_text_softkey_select.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_select.release "TB9.2"
+qtn_hs_text_softkey_select.description "Select"
+qtn_hs_text_softkey_select.grammar "Select"
+qtn_hs_text_softkey_select.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_select "Select">
+
+<!--
+qtn_hs_text_softkey_cancel.attributes
+qtn_hs_text_softkey_cancel.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_cancel.release "TB9.2"
+qtn_hs_text_softkey_cancel.description "Cancel"
+qtn_hs_text_softkey_cancel.grammar "Cancel"
+qtn_hs_text_softkey_cancel.parents "control_pane"
+-->
+<!ENTITY qtn_hs_text_softkey_cancel "Cancel">
+
+<!--
+qtn_hs_text_softkey_call.attributes
+qtn_hs_text_softkey_call.layout "nhd_control_pane_t2/opt7"
+qtn_hs_text_softkey_call.release "TB9.2"
+qtn_hs_text_softkey_call.description "RSK caption call inactive"
+qtn_hs_text_softkey_call.parents ""
+-->
+<!ENTITY qtn_hs_text_softkey_call "Call">
--- a/idlehomescreen/inc/xnviewmanager.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/inc/xnviewmanager.h	Mon Jun 21 15:27:11 2010 +0300
@@ -75,6 +75,10 @@
     virtual void NotifyViewAdditionL( const CXnPluginData& aPluginData ) = 0;
 
     virtual void NotifyViewRemovalL( const CXnPluginData& aPluginData ) = 0;
+    
+    virtual void NotifyAllViewsLoadedL() = 0;
+    
+    virtual void NotifyContainerActivatedL( const CXnViewData& aViewData ) = 0;
     };
 
 /**
@@ -206,6 +210,8 @@
     
     void PublishersReadyL( CXnViewData& aViewData, TInt aResult );
         
+    void NotifyAllViewsLoadedL();
+        
 private:
     // new functions
     
@@ -227,6 +233,8 @@
 
     void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
 
+    void NotifyContainerActivatedL( const CXnViewData& aViewData );
+
     CXnViewData* ViewData( CXnNode& aNode ) const;
 
     CXnViewData& PreviousViewData() const;
--- a/idlehomescreen/loc/activeidle3.loc	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/loc/activeidle3.loc	Mon Jun 21 15:27:11 2010 +0300
@@ -88,7 +88,7 @@
 #define qtn_idle_navi_tapped_all_prof "Show all profiles"
 
 // d: Back text for SK2
-// l: control_pane_t1/opt7
+// l: nhd_control_pane_t2/opt7
 // w:
 // r: 3.2
 //
@@ -316,3 +316,10 @@
 // w:
 // r: TB9.2
 #define qtn_hs_backup_use_prevented  "Home screen is not in use during backup or restore operation. Wait to finish."
+
+// d: Back text for SK2
+// l: nhd_control_pane_t2/opt7
+// w:
+// r: 3.2
+//
+#define qtn_hs_text_softkey_back "Back"
--- a/idlehomescreen/widgetmanager/inc/wmlistbox.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/inc/wmlistbox.h	Mon Jun 21 15:27:11 2010 +0300
@@ -52,10 +52,10 @@
  * CWmListItemDrawer
  */
 NONSHARABLE_CLASS( CWmListItemDrawer ): public CFormattedCellListBoxItemDrawer
-	{
+    {
 public:
     /** Two-phased constructor. */
-	static CWmListItemDrawer* NewL(
+    static CWmListItemDrawer* NewL(
                 CWmPlugin& aWmPlugin,
                 MTextListBoxModel* aTextListBoxModel,
                 const CFont* aFont,
@@ -123,7 +123,7 @@
      */
     CFbsBitmap*         iDefaultLogoImageMask;
     
-	};
+    };
 
 
 // CLASS DECLARATIONS
@@ -132,14 +132,14 @@
  */
 NONSHARABLE_CLASS( CWmListBox ): public CEikFormattedCellListBox,
                       public MWmWidgetDataObserver
-	{
+    {
 public:
     
     /**
      * Two-phased constructor.
      */
-	static CWmListBox* NewL(
-	        CWmPlugin& aWmPlugin,
+    static CWmListBox* NewL(
+            CWmPlugin& aWmPlugin,
             const TRect& aRect,
             const CCoeControl* aParent,  
             TInt aFlags = 0 );
@@ -173,7 +173,7 @@
      * 
      * @return return index from original list for currently selected item
      */
-    TInt RealIndex( TInt aIndex );
+    TInt RealIndex( TInt aIndex, TBool aIgnoreSearchIndex = EFalse );
     
     /** 
      * number of items in the widget data array (also items on the list) 
@@ -192,8 +192,11 @@
      * gets an item by index 
      * 
      * @param aItemIndex index for item to return
+     * @param aIgnoreSearchIndex if true will get widget from full list
+     * even when search is open
      */
-    CWmWidgetData& WidgetData( TInt aItemIndex );
+    CWmWidgetData& WidgetData( TInt aItemIndex, 
+            TBool aIgnoreSearchIndex = EFalse );
 
     /**
      * gets the constant widget data array
@@ -224,7 +227,7 @@
      * 
      * @param aItemIndex index to remove
      * */
-    void RemoveWidgetData( TInt aItemIndex/*, TBool aRedraw = ETrue*/ );
+    void RemoveWidgetData( TInt aItemIndex, TBool aIgnoreSearchIndex = EFalse );
     
     /** 
      * requests to redraw item in given index position 
@@ -280,18 +283,23 @@
      */
     void AddOrderDataL( CWmWidgetOrderData* aOrderData );
     
-    /*
+    /**
      * Returns orderdata object by index
      */
     CWmWidgetOrderData* OrderData( TInt aItemIndex );
     
+    /**
+     * Returns true if findpane is in use
+     */
+    TBool IsFindPaneIsVisible();
+    
 private: // from CEikTextListBox
     /**
      * Creates the item drawer.
      * 
      * @see CEikTextListBox::CreateItemDrawerL
      */
-	void CreateItemDrawerL();
+    void CreateItemDrawerL();
 
 protected: // from base class CCoeControl
     
@@ -310,9 +318,9 @@
      * @see CCoeControl::Draw
      */
     void Draw( const TRect& aRect ) const;
-	
+    
 private:
-  	 /** Constructor for performing 1st stage construction */
+    /** Constructor for performing 1st stage construction */
     CWmListBox( CWmPlugin& aWmPlugin );
 
     /** 2nd phase constructor */
@@ -362,7 +370,7 @@
      * state of list box find pane 
      */
     TBool               iFindPaneIsVisible;
-	
+    
     /** size of logo rect in list item */
     TSize               iLogoSize;
     
@@ -370,7 +378,7 @@
      * array of widget order objects
      */
     ROrderArray         iOrderDataArray;
-	};
+    };
 #include "wmlistbox.inl"
 
 #endif ___WMLISTBOX_H__
--- a/idlehomescreen/widgetmanager/inc/wmlistbox.inl	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/inc/wmlistbox.inl	Mon Jun 21 15:27:11 2010 +0300
@@ -27,6 +27,12 @@
  inline void CWmListBox::SetFindPaneIsVisible( TBool aVisibility )
         { iFindPaneIsVisible = aVisibility; }
  
+/**
+ * Returns true if findpane is in use
+ */
+ inline TBool CWmListBox::IsFindPaneIsVisible()
+        { return iFindPaneIsVisible; }
+ 
  /** 
   * number of items in the widget data array (also items on the list) 
   * 
--- a/idlehomescreen/widgetmanager/inc/wmmaincontainer.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/inc/wmmaincontainer.h	Mon Jun 21 15:27:11 2010 +0300
@@ -28,6 +28,7 @@
 #include <gulicon.h>
 #include <eiklbo.h>  // MEikListBoxObserver
 #include <aknsfld.h>  // MAdaptiveSearchTextObserver
+#include "wmwidgetloaderao.h"
 
 // FORWARD DECLARATIONS
 class CWmPlugin;
@@ -38,30 +39,30 @@
 class CCoeControl;
 class CAknSearchField;
 class CWmPortalButton;
-class CWmWidgetLoaderAo;
 class CWmMainContainerView;
 class CWmConfiguration;
 
 /**
  * Container class for WmMainContainer
  * 
- * @class	CWmMainContainer WmMainContainer.h
+ * @class    CWmMainContainer WmMainContainer.h
  */
 NONSHARABLE_CLASS( CWmMainContainer ) : public CCoeControl,
                                         public MEikListBoxObserver,
-                                        public MAdaptiveSearchTextObserver
-	{
+                                        public MAdaptiveSearchTextObserver,
+                                        public MWmWidgetloaderObserver
+    {
 public: // constructors and destructor
-	
+    
     /*
      * Two-phased constructor.
      * 
      * @param aRect container rect
      * @param aWmPlugin wm plugin
      */
-	static CWmMainContainer* NewL( 
-		const TRect& aRect,
-		CWmPlugin& aWmPlugin );
+    static CWmMainContainer* NewL( 
+        const TRect& aRect,
+        CWmPlugin& aWmPlugin );
 
     /*
      * Two-phased constructor.
@@ -69,23 +70,23 @@
      * @param aRect container rect
      * @param aWmPlugin wm plugin
      */
-	static CWmMainContainer* NewLC( 
-		const TRect& aRect,
-		CWmPlugin& aWmPlugin );	
+    static CWmMainContainer* NewLC( 
+        const TRect& aRect,
+        CWmPlugin& aWmPlugin );    
 
-	 /** Destructor */
-	virtual ~CWmMainContainer();
-	
+    /** Destructor */
+    virtual ~CWmMainContainer();
+    
 private:
     /** constructor */
-	CWmMainContainer(
-	    CWmPlugin& aWmPlugin );
+    CWmMainContainer(
+        CWmPlugin& aWmPlugin );
     
     /** 2nd phase constructor */
     void ConstructL( 
             const TRect& aRect );
 
-public: // new functions	
+public: // new functions    
     
     /** 
      * @return true, if widgets loading operation is ongoing. 
@@ -143,34 +144,34 @@
     void LaunchDetailsDialogL();
 
     /** 
-	 * executes widget addition to home screen 
-	 */
-	void AddWidgetToHomeScreenL();
-	
-	/** 
-	 * executes widget launch 
-	 */
-	void LaunchWidgetL();
-	
-	/** 
-	 * executes findbox activation 
-	 */
-	void ActivateFindPaneL( TBool aActivateAdaptive = EFalse );
+     * executes widget addition to home screen 
+     */
+    void AddWidgetToHomeScreenL();
+    
+    /** 
+     * executes widget launch 
+     */
+    void LaunchWidgetL();
+    
+    /** 
+     * executes findbox activation 
+     */
+    void ActivateFindPaneL( TBool aActivateAdaptive = EFalse );
 
     /** 
-	 * executes findbox deactivation 
-	 */
+     * executes findbox deactivation 
+     */
     void DeactivateFindPaneL(TBool aLayout = ETrue);
-	
+    
     /** 
      * sorts the widget list in alphabetical order
      */
     void SortListAlphabeticallyL();
 
-	/** 
-	 * executes widget uninstall 
-	 */
-	void UninstallWidgetL();
+    /** 
+     * executes widget uninstall 
+     */
+    void UninstallWidgetL();
 
     /**
      * opens currently selected portal
@@ -192,44 +193,44 @@
      * in practice reloads the widget list from the widgets API
      * and redraws the screen.
      */
-	void HandleWidgetListChanged();
+    void HandleWidgetListChanged();
 
 public:
 
-	/**
+    /**
      * Handles focus changed events.
      *
      * @see CCoeControl::FocusChanged
      */    
     void FocusChanged( TDrawNow aDrawNow );    
-	
+    
     /**
      * Handles key events.
      * 
      * @see CCoeControl::OfferKeyEventL
      */
-	TKeyResponse OfferKeyEventL( 
-			const TKeyEvent& aKeyEvent, 
-			TEventCode aType );
-	
-	/**
-	 * Handles a change to the control's resources
-	 * 
-	 * @see CCoeControl::HandleResourceChange
-	 */
-	void HandleResourceChange( TInt aType );
-	
-	/**
-	 * Handles pointer events.
-	 * 
-	 * @see CCoeControl::HandlePointerEventL
-	 */
-	void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-	
-	/**
-	 * Moves focus to the OVI button
-	 * @param aIndex 0=first button, 1=second (if it exists)
-	 */
+    TKeyResponse OfferKeyEventL( 
+            const TKeyEvent& aKeyEvent, 
+            TEventCode aType );
+    
+    /**
+     * Handles a change to the control's resources
+     * 
+     * @see CCoeControl::HandleResourceChange
+     */
+    void HandleResourceChange( TInt aType );
+    
+    /**
+     * Handles pointer events.
+     * 
+     * @see CCoeControl::HandlePointerEventL
+     */
+    void HandlePointerEventL( const TPointerEvent& aPointerEvent );
+    
+    /**
+     * Moves focus to the OVI button
+     * @param aIndex 0=first button, 1=second (if it exists)
+     */
     void SetFocusToPortalButton( TInt aIndex );
 
     /**
@@ -336,6 +337,9 @@
             TEventCode aType );
     TInt OperatorButtonHigherPriority( TInt aIndex );
     
+public: // from MWmWidgetloaderObserver
+    void LoadDoneL( TBool aWidgetListChanged );
+    
 private:
 
     /**
@@ -349,14 +353,14 @@
     CWmListBox*             iWidgetsList;
 
     /**
-	 * search filed
-	 */
-    CAknSearchField* 		iFindbox;
+     * search filed
+     */
+    CAknSearchField*         iFindbox;
     
     /**
-	 * search filed visibility switch
-	 */
-    TBool            		iFindPaneIsVisible;
+     * search filed visibility switch
+     */
+    TBool                    iFindPaneIsVisible;
     
     /**
      * background
--- a/idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h	Mon Jun 21 15:27:11 2010 +0300
@@ -32,6 +32,17 @@
 
 // CLASS DECLARATIONS
 
+class MWmWidgetloaderObserver
+    {
+public:
+    /**
+     * Notifies client when widget list is succesfully loaded
+     *
+     * @param aWidgetListChanged true if widget list changed
+     */
+    virtual void LoadDoneL( TBool aWidgetListChanged ) = 0;
+    };
+    
 /**
  * Active object to load widgets into list
  */
@@ -39,17 +50,17 @@
     {
     
 public:
-	/**
+    /**
      * Static constructor
      */
-	static CWmWidgetLoaderAo* NewL(
-	        CWmPlugin& aWmPlugin,
-	        CWmListBox& aTargetList );
-	
+    static CWmWidgetLoaderAo* NewL(
+            CWmPlugin& aWmPlugin,
+            CWmListBox& aTargetList );
+    
     /**
      * Destructor.
      */
-	~CWmWidgetLoaderAo();
+    ~CWmWidgetLoaderAo();
 
     /**
      * Starts the load process by activating the AO
@@ -61,6 +72,10 @@
      */
     TBool IsLoading();
 
+    /**
+     * Set MWmWidgetloaderObserver observer
+      */
+    void SetObserver( MWmWidgetloaderObserver* aObserver );
 private:
     
     /**
@@ -150,11 +165,17 @@
     /** persistent widget order */
     CWmPersistentWidgetOrder* iWidgetOrder;
     
-	/** uid of currently unistalled widget */
+    /** uid of currently unistalled widget */
     TUid iUninstallUid;
     
     /** switch for loading operation */
     TBool iLoading;
+    
+    /** Notifies client when widget list is fully loaded */
+    MWmWidgetloaderObserver* iObserver;
+    
+    /** tells if widgetlist has changed */
+    TBool iWidgetListChanged;
     };
 
 #endif // WMWIDGETLOADERAO_H_
--- a/idlehomescreen/widgetmanager/src/wmlistbox.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/src/wmlistbox.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -77,10 +77,10 @@
         CWmListBox* aListBox )
     : CFormattedCellListBoxItemDrawer( aTextListBoxModel,aFont,aFormattedCellData ),
     iWmPlugin( aWmPlugin )
-	{
+    {
     iCellData = aFormattedCellData;
     iListBox = aListBox;
-	}
+    }
 
 // ---------------------------------------------------------
 // CWmListItemDrawer::ConstructL
@@ -136,14 +136,14 @@
 // ---------------------------------------------------------
 //
 CWmListItemDrawer::~CWmListItemDrawer()
-	{
+    {
     iCellData = NULL;
     iListBox = NULL;
 
     // dispose icons
     delete iDefaultLogoImage;
     delete iDefaultLogoImageMask;
-	}
+    }
 
 // ---------------------------------------------------------
 // CWmListItemDrawer::UpdateItemHeight
@@ -156,6 +156,7 @@
         ::list_wgtman_pane().LayoutLine();
     TAknLayoutRect listPaneRect;
     listPaneRect.LayoutRect( iListBox->Rect(), listPane );
+
     TAknWindowLineLayout listRowPane = AknLayoutScalable_Apps
         ::listrow_wgtman_pane().LayoutLine();
     TAknLayoutRect listRowPaneRect;
@@ -163,6 +164,9 @@
     TRect itemRect = listRowPaneRect.Rect();
     TRAP_IGNORE( iListBox->SetItemHeightL( itemRect.Height() ); );
     iListBox->View()->ItemDrawer()->SetItemCellSize( itemRect.Size() );
+    
+    // update view rect according to layout ( ou1cimx1#402776 )
+    iListBox->View()->SetViewRect( listPaneRect.Rect() );
     }
 
 // ---------------------------------------------------------
@@ -190,9 +194,9 @@
     if ( aItemIsCurrent && listFocused && highlightEnabled )
         {
         TRect innerRect( itemRect );
-        const TInt highlightOffset = 2;
+        const TInt highlightOffset = 5;
         innerRect.Shrink( highlightOffset, highlightOffset );
-		
+        
         AknsDrawUtils::DrawFrame( skin,
                                   gc,
                                   itemRect,
@@ -323,7 +327,7 @@
     iWmPlugin( aWmPlugin )
     {
     iFindPaneIsVisible = EFalse;
-	iLogoSize = TSize( 0, 0);
+    iLogoSize = TSize( 0, 0);
     }
 
 // ---------------------------------------------------------
@@ -372,9 +376,9 @@
 // CWmListBox::WidgetData
 // ---------------------------------------------------------
 //
-CWmWidgetData& CWmListBox::WidgetData( TInt aItemIndex )
+CWmWidgetData& CWmListBox::WidgetData( TInt aItemIndex, TBool aIgnoreSearchIndex )
     {
-    return *iVisibleWidgetArray[ RealIndex( aItemIndex ) ];
+    return *iVisibleWidgetArray[ RealIndex( aItemIndex, aIgnoreSearchIndex ) ];
     }
 
 // ---------------------------------------------------------
@@ -397,17 +401,14 @@
 // CWmListBox::RemoveWidgetData
 // ---------------------------------------------------------
 //
-void CWmListBox::RemoveWidgetData( TInt aItemIndex )
+void CWmListBox::RemoveWidgetData( TInt aItemIndex, TBool aIgnoreSearchIndex )
     {
-    TInt realIndex = RealIndex( aItemIndex );
+    TInt realIndex = RealIndex( aItemIndex, aIgnoreSearchIndex );
     TBool current = ( aItemIndex == CurrentItemIndex() );
     // remove widget data
     CWmWidgetData* data = iVisibleWidgetArray[realIndex];
     iVisibleWidgetArray.Remove( realIndex );
-    // reorganise
-    TRAP_IGNORE(
-        AknListBoxUtils::HandleItemRemovalAndPositionHighlightL(
-            this, realIndex, current ) );
+    
 
     // Remove item from order array
     for ( TInt i = 0; i < iOrderDataArray.Count(); i++ )
@@ -422,6 +423,14 @@
             }
         }
     
+    if ( aIgnoreSearchIndex )
+        {
+        // reorganise
+        TRAP_IGNORE(
+            AknListBoxUtils::HandleItemRemovalAndPositionHighlightL(
+                this, realIndex, current ) );
+
+        }
     // delete now
     delete data;
     data = NULL;
@@ -475,7 +484,7 @@
 void CWmListBox::HandleLayoutChanged()
     {
     iLogoSize = TSize( 0, 0);
-	iLogoSize = LogoSize();
+    iLogoSize = LogoSize();
     for ( TInt i=0; i<iVisibleWidgetArray.Count(); i++)
         {
         iVisibleWidgetArray[i]->UpdateLogo( iLogoSize, EFalse );
@@ -541,10 +550,10 @@
 // CWmListBox::RealIndex
 // ---------------------------------------------------------
 //
-TInt CWmListBox::RealIndex( TInt aIndex )
+TInt CWmListBox::RealIndex( TInt aIndex, TBool aIgnoreSearchIndex )
     {
     TInt realIndex = aIndex;
-    if ( iFindPaneIsVisible && aIndex >= 0 )
+    if ( ( iFindPaneIsVisible && aIndex >= 0 ) && !aIgnoreSearchIndex )
         {
         realIndex = static_cast<CAknFilteredTextListBoxModel*>(Model())->Filter()
                 ->FilteredItemIndex( aIndex );
--- a/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -81,24 +81,28 @@
 //
 CWmMainContainer::CWmMainContainer( CWmPlugin& aWmPlugin ) :
     iWmPlugin( aWmPlugin )
-	{
+    {
     iWidgetsList = NULL;
     iFindbox = NULL;
     iFindPaneIsVisible = EFalse;
     iBgContext = NULL;
     iFocusMode = ENowhere;
     iClosingDown = ETrue;
-	}
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::~CWmMainContainer()
 // ---------------------------------------------------------
 //
 CWmMainContainer::~CWmMainContainer()
-	{
+    {
     TRAP_IGNORE(DeactivateFindPaneL(EFalse));
     
-    delete iWidgetLoader;
+    if ( iWidgetLoader )
+        {
+        iWidgetLoader->SetObserver( NULL );
+        delete iWidgetLoader;
+        }
 
     RemoveCtrlsFromStack();
     Components().ResetAndDestroy();
@@ -107,9 +111,9 @@
     iPortalButtonOne = NULL;
     iPortalButtonTwo = NULL;
     iFindbox = NULL;
-	delete iBgContext;
-	delete iConfiguration;
-	}
+    delete iBgContext;
+    delete iConfiguration;
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::NewL
@@ -118,13 +122,13 @@
 CWmMainContainer* CWmMainContainer::NewL( 
     const TRect& aRect,
     CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainer* self = CWmMainContainer::NewLC( 
+    {
+    CWmMainContainer* self = CWmMainContainer::NewLC( 
         aRect, 
         aWmPlugin );
-	CleanupStack::Pop( self );
-	return self;
-	}
+    CleanupStack::Pop( self );
+    return self;
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::NewLC
@@ -133,12 +137,12 @@
 CWmMainContainer* CWmMainContainer::NewLC( 
     const TRect& aRect,
     CWmPlugin& aWmPlugin )
-	{
-	CWmMainContainer* self = new (ELeave) CWmMainContainer( aWmPlugin );
-	CleanupStack::PushL( self );
-	self->ConstructL( aRect );
-	return self;
-	}
+    {
+    CWmMainContainer* self = new (ELeave) CWmMainContainer( aWmPlugin );
+    CleanupStack::PushL( self );
+    self->ConstructL( aRect );
+    return self;
+    }
 
 // ---------------------------------------------------------
 // ScreenRect
@@ -163,48 +167,48 @@
 // ---------------------------------------------------------
 //
 void CWmMainContainer::ConstructL( 
-		const TRect& aRect )
-	{  
+        const TRect& aRect )
+    {  
     // Initialize control array
-	InitComponentArrayL();
-	Components().SetControlsOwnedExternally( ETrue );
+    InitComponentArrayL();
+    Components().SetControlsOwnedExternally( ETrue );
 
     // create the UI
     CreateWindowL();
 
-	// background context
-	iBgContext = CAknsBasicBackgroundControlContext::NewL( 
-	        KAknsIIDQsnBgScreen, ScreenRect() , ETrue);
+    // background context
+    iBgContext = CAknsBasicBackgroundControlContext::NewL( 
+            KAknsIIDQsnBgScreen, ScreenRect() , ETrue);
 
     // load configuration
     iConfiguration = CWmConfiguration::NewL( iWmPlugin.ResourceLoader() );
     
-	// set up controls
-	InitializeControlsL( aRect );
+    // set up controls
+    InitializeControlsL( aRect );
 
-	// set size and activate
-	SetRect( aRect );
+    // set size and activate
+    SetRect( aRect );
     ActivateL();
-	
-	}
+    
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::SizeChanged
 // ---------------------------------------------------------
 //
 void CWmMainContainer::SizeChanged()
-	{
-	CCoeControl::SizeChanged();
+    {
+    CCoeControl::SizeChanged();
     iBgContext->SetRect( ScreenRect() );
-	LayoutControls();
-	}
+    LayoutControls();
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::LayoutControls
 // ---------------------------------------------------------
 //
 void CWmMainContainer::LayoutControls()
-	{
+    {
     TRect rect( Rect() );
 
     // determine layout type
@@ -212,16 +216,16 @@
     iMirrored = Layout_Meta_Data::IsMirrored();
     
     // layout iPortalButtons
-	if ( iConfiguration->PortalButtonCount() == 1 )
-	    {
-	    // one button
-	    TAknWindowLineLayout btnPane = AknLayoutScalable_Apps
-	       ::wgtman_btn_pane( iLandscape ? 1 : 0 ).LayoutLine();
-	    AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, btnPane );
-	    }
-	else
-	    {
-	    // two buttons
+    if ( iConfiguration->PortalButtonCount() == 1 )
+        {
+        // one button
+        TAknWindowLineLayout btnPane = AknLayoutScalable_Apps
+           ::wgtman_btn_pane( iLandscape ? 1 : 0 ).LayoutLine();
+        AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, btnPane );
+        }
+    else
+        {
+        // two buttons
         TInt variety = (iLandscape ? 3 : 2);
         TAknWindowLineLayout oviBtnLayout = AknLayoutScalable_Apps
                 ::wgtman_btn_pane( variety ).LayoutLine();
@@ -239,16 +243,16 @@
             AknLayoutUtils::LayoutControl( iPortalButtonOne, rect, oviBtnLayout );
             AknLayoutUtils::LayoutControl( iPortalButtonTwo, rect, operatorBtnLayout );
             }
-	    }
+        }
     
-	// layout iWidgetsList
+    // layout iWidgetsList
     TAknWindowLineLayout listPane = AknLayoutScalable_Apps
         ::listscroll_wgtman_pane( iLandscape ? 1 : 0 ).LayoutLine();
     if( iFindbox && iFindPaneIsVisible )
         {
-		TAknLayoutRect layoutRect;
+        TAknLayoutRect layoutRect;
         layoutRect.LayoutRect( rect, listPane );
-		iWidgetsList->SetRect( layoutRect.Rect() );
+        iWidgetsList->SetRect( layoutRect.Rect() );
         HandleFindSizeChanged();
         }
     else
@@ -257,7 +261,7 @@
         }
 
     DrawDeferred();
-	}
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::OfferKeyEventL
@@ -836,60 +840,60 @@
         TBool eatEvent( EFalse );
         TPointerEvent event( aPointerEvent );
 
-		if (aPointerEvent.iType == TPointerEvent::EButton1Down)
-			{
-	        // Check if user clicked a child control
-	        CCoeControl* control = FindChildControlByPoint( aPointerEvent.iPosition );
-	        if ( control && !control->IsFocused() )
-	            {
-	            // remove focus from ALL other child controls.
-	            CCoeControlArray::TCursor cursor = Components().Begin();
-	            CCoeControl* c;
-	            while ((c=cursor.Control<CCoeControl>()) != NULL )
-	                {
-	                if ( c != control && c->IsFocused() ) c->SetFocus( EFalse );
-	                cursor.Next();
-	                }
-	            
-	            // Set focus to the control that was clicked
-	            control->SetFocus( ETrue );
-	                            
-	            // update focus mode accordingly
-	            UpdateFocusMode();
-	            // repaint
-	            DrawDeferred();
-	            }
-	        
-	        // stylus popup should not be opened when uninstalling. 
-	        // ou1cimx1#302973
-	        if ( control == iWidgetsList && iWidgetsList->IsFocused() )
-	             {
-	             TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
-	             TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
-	                                     aPointerEvent.iPosition,
-	                                     itemIndex );
-	             if ( itemIndex >= 0 && itemPointed )
-	                 {
-	                 CWmWidgetData& data = iWidgetsList->WidgetData( itemIndex );                
-	                 if ( &data && data.IsUninstalling() )
-	                     {
+        if (aPointerEvent.iType == TPointerEvent::EButton1Down)
+            {
+            // Check if user clicked a child control
+            CCoeControl* control = FindChildControlByPoint( aPointerEvent.iPosition );
+            if ( control && !control->IsFocused() )
+                {
+                // remove focus from ALL other child controls.
+                CCoeControlArray::TCursor cursor = Components().Begin();
+                CCoeControl* c;
+                while ((c=cursor.Control<CCoeControl>()) != NULL )
+                    {
+                    if ( c != control && c->IsFocused() ) c->SetFocus( EFalse );
+                    cursor.Next();
+                    }
+                
+                // Set focus to the control that was clicked
+                control->SetFocus( ETrue );
+                                
+                // update focus mode accordingly
+                UpdateFocusMode();
+                // repaint
+                DrawDeferred();
+                }
+            
+            // stylus popup should not be opened when uninstalling. 
+            // ou1cimx1#302973
+            if ( control == iWidgetsList && iWidgetsList->IsFocused() )
+                 {
+                 TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
+                 TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
+                                         aPointerEvent.iPosition,
+                                         itemIndex );
+                 if ( itemIndex >= 0 && itemPointed )
+                     {
+                     CWmWidgetData& data = iWidgetsList->WidgetData( itemIndex );                
+                     if ( &data && data.IsUninstalling() )
+                         {
                          event.iType = TPointerEvent::EButton1Up;
-	                     eatEvent = ETrue;
-	                     }
-	                 }
-	             }
-	        
-			}
-		
-		// set downkey event to base class
-		CCoeControl::HandlePointerEventL( aPointerEvent );
-		
-		// send key up event if selected widget is being uninstalled.
-		// stylus popup shouldn't be displayed for this item.
-		if ( eatEvent )
-		    {
+                         eatEvent = ETrue;
+                         }
+                     }
+                 }
+            
+            }
+        
+        // set downkey event to base class
+        CCoeControl::HandlePointerEventL( aPointerEvent );
+        
+        // send key up event if selected widget is being uninstalled.
+        // stylus popup shouldn't be displayed for this item.
+        if ( eatEvent )
+            {
             CCoeControl::HandlePointerEventL( event );
-		    }
+            }
         }
     }
 
@@ -898,8 +902,8 @@
 // ---------------------------------------------------------
 //
 void CWmMainContainer::InitializeControlsL( const TRect& /*aRect*/ )
-	{
-	// Create portal buttons
+    {
+    // Create portal buttons
     iPortalButtonOne = CWmPortalButton::NewL( this, 0 );
     iPortalButtonOne->SetMopParent( this );    
     AddControlL( iPortalButtonOne, EPortalOne );
@@ -917,7 +921,7 @@
             this );
     iWidgetsList->SetMopParent( this );
     AddControlL( iWidgetsList, EWidgetsList );
-	iWidgetsList->ActivateL();
+    iWidgetsList->ActivateL();
     iWidgetsList->SetListBoxObserver( this );
     
     // Create scroll bar.
@@ -952,22 +956,11 @@
 //
 void CWmMainContainer::StartLoadingWidgetsL()
     {
-    if ( iFindbox && iFindPaneIsVisible )
-        {
-        iFindbox->ResetL();        
-        CAknFilteredTextListBoxModel* m = 
-                static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
-        if ( m && m->Filter() )
-            {
-            m->Filter()->ResetFilteringL();
-            }
-        iFindbox->SetSearchTextL( KNullDesC );
-        iFindbox->DrawNow();
-        }
     if ( !iWidgetLoader )
         {
         // create the widget loader AO
         iWidgetLoader = CWmWidgetLoaderAo::NewL( iWmPlugin, *iWidgetsList );
+        iWidgetLoader->SetObserver( this );
         }
     iWidgetLoader->StartLoading();
     }
@@ -977,9 +970,9 @@
 // ---------------------------------------------------------
 //
 void CWmMainContainer::HandleResourceChange( TInt aType )
-	{
+    {
     CCoeControl::HandleResourceChange( aType );
-	
+    
     if ( KEikDynamicLayoutVariantSwitch == aType )
         {
         TRect rect;
@@ -990,7 +983,7 @@
         // notify widgetlist
         iWidgetsList->HandleLayoutChanged();
         }
-	}
+    }
 
 
 // ---------------------------------------------------------
@@ -1012,12 +1005,12 @@
 // ---------------------------------------------------------
 //
 void CWmMainContainer::Draw( const TRect& aRect ) const
-	{
-	CWindowGc& gc = SystemGc();	
+    {
+    CWindowGc& gc = SystemGc();    
     MAknsSkinInstance* skin = AknsUtils::SkinInstance();
     MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
     AknsDrawUtils::Background( skin, cc, this, gc, aRect );
-	}
+    }
 
 // ---------------------------------------------------------
 // CWmMainContainer::AddControlL
@@ -1032,13 +1025,13 @@
     CAknView* view = iWmPlugin.ViewAppUi().View( 
             TUid::Uid(EWmMainContainerViewId) );
     if ( view )
-		{
+        {
         iWmPlugin.ViewAppUi().AddToStackL( *view, aControl );
-		}
-	else
-		{
+        }
+    else
+        {
         iWmPlugin.ViewAppUi().AddToStackL( aControl );
-		}
+        }
     aControl->MakeVisible( ETrue );
     }
 
@@ -1357,7 +1350,7 @@
             CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() );
         CleanupStack::PushL( widgetOrder );
         widgetOrder->StoreL( iWidgetsList->OrderDataArray() );
-		
+        
         CleanupStack::PopAndDestroy( widgetOrder );
         }
     }
@@ -1593,7 +1586,7 @@
     else if ( aForeground )
         {
         // set init state when wm comes to foreground.
-		// remove focus from all controls when activating view.
+        // remove focus from all controls when activating view.
         ResetFocus( EDrawNow );
         }
     }
@@ -1648,13 +1641,30 @@
 // CWmMainContainer::AdaptiveSearchTextChanged
 // ----------------------------------------------------
 //
-void CWmMainContainer::AdaptiveSearchTextChanged( 
-        CAknSearchField* aSearchField )
+void CWmMainContainer::AdaptiveSearchTextChanged( CAknSearchField* /*aSearchField*/ )
     {
     // fix for ou1cimx1#376818. aknfind will call drawDeferred for lisbox. 
     // We need to be sure that button area is also drawn.
     DrawDeferred();
     }
 
+
+// ----------------------------------------------------
+// CWmMainContainer::LoadDone
+// ----------------------------------------------------
+//
+void CWmMainContainer::LoadDoneL( TBool aWidgetListChanged )
+    {
+    if ( aWidgetListChanged && iFindbox && iFindPaneIsVisible )
+        {
+        CAknFilteredTextListBoxModel* m = 
+                static_cast <CAknFilteredTextListBoxModel*> ( iWidgetsList->Model() );
+        if ( m && m->Filter() )
+            {
+            m->Filter()->HandleItemArrayChangeL();
+            }
+        }
+    }
+
 // End of File
 
--- a/idlehomescreen/widgetmanager/src/wmplugin.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/src/wmplugin.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -118,7 +118,7 @@
 	CleanupStack::Pop( mainView );
 	
 	// laucher for adding widgets.
-	iLauncher = CPeriodic::NewL( CActive::EPriorityIdle );
+	iLauncher = CPeriodic::NewL( CActive::EPriorityUserInput + 1 );
     }
 
 // ---------------------------------------------------------
@@ -127,23 +127,27 @@
 //
 void CWmPlugin::Activate()
     {
-    CWmMainContainerView* view = static_cast<CWmMainContainerView*>(
-            iViewAppUi->View( TUid::Uid(EWmMainContainerViewId) ) );
-    if ( !IsActive() && view && iHsContentController )
+	// prevents opening wm if adding widget is ongoing.
+    if ( !iLauncher->IsActive() )
         {
-        // stop displaying menubar before starting fullscreen effects
-        CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
-        if ( menuBar && menuBar->IsDisplayed() )
+        CWmMainContainerView* view = static_cast<CWmMainContainerView*>(
+                iViewAppUi->View( TUid::Uid(EWmMainContainerViewId) ) );
+        if ( !IsActive() && view && iHsContentController )
             {
-            menuBar->StopDisplayingMenuBar();
+            // stop displaying menubar before starting fullscreen effects
+            CEikMenuBar* menuBar = CEikonEnv::Static()->AppUiFactory()->MenuBar();
+            if ( menuBar && menuBar->IsDisplayed() )
+                {
+                menuBar->StopDisplayingMenuBar();
+                }
+    
+            TRAP_IGNORE( 
+                iEffectManager->BeginFullscreenEffectL( 
+                    KAppStartEffectStyle );
+                iViewAppUi->ActivateLocalViewL(
+                    TUid::Uid( EWmMainContainerViewId ) );
+                );
             }
-
-        TRAP_IGNORE( 
-            iEffectManager->BeginFullscreenEffectL( 
-                KAppStartEffectStyle );
-            iViewAppUi->ActivateLocalViewL(
-                TUid::Uid( EWmMainContainerViewId ) );
-            );
         }
     }
 
@@ -262,8 +266,11 @@
     if ( !iEffectManager->IsEffectActive() )
         {
         // launch effect without delay
-        iExecutionCount = KMaxCmdExecutionCount;
-        iLauncher->Start( 0, 0, TCallBack( ExecuteCommand, this ) );
+        if ( !iLauncher->IsActive() )
+            {
+            iExecutionCount = KMaxCmdExecutionCount;
+            iLauncher->Start( 0, 0, TCallBack( ExecuteCommand, this ) );
+            }
         }
     else
         {
--- a/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -114,6 +114,10 @@
     DoLoadWidgetsL();
     Cleanup();
     CloseSession();
+    if ( iObserver )
+        {
+        iObserver->LoadDoneL( iWidgetListChanged );
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -141,8 +145,9 @@
 //
 void CWmWidgetLoaderAo::DoLoadWidgetsL()
     {
+    iWidgetListChanged = EFalse;
     // Check if unistallation is ongoing for for some widget
-	// iUninstallUid is null no uninstallation is ongoing
+    // iUninstallUid is null no uninstallation is ongoing
     iUninstallUid = iWmPlugin.WmInstaller().UninstallUid();
     
     // connect to widget registry
@@ -162,8 +167,8 @@
     // 3. prepare the widget data array & sort order array
     for( TInt i=0; i<iWidgetsList.WidgetDataCount(); ++i )
         {
-        iWidgetsList.WidgetData(i).SetPersistentWidgetOrder( iWidgetOrder );
-        iWidgetsList.WidgetData(i).SetValid( EFalse );
+        iWidgetsList.WidgetData(i, ETrue ).SetPersistentWidgetOrder( iWidgetOrder );
+        iWidgetsList.WidgetData(i, ETrue ).SetValid( EFalse );
         }
     for( TInt i = 0; i < iWidgetsList.OrderDataArray().Count(); ++i )
         {
@@ -216,15 +221,15 @@
     TInt widgetsRemoved = 0;
     for( TInt i=0; i<iWidgetsList.WidgetDataCount(); i++ )
         {
-        if( !iWidgetsList.WidgetData(i).IsValid() )
+        if( !iWidgetsList.WidgetData(i, ETrue ).IsValid() )
             {
-            iWidgetsList.RemoveWidgetData( i );
+            iWidgetsList.RemoveWidgetData( i, ETrue );
             ++widgetsRemoved;
             }
         }
     
     // update listbox
-    if ( widgetsAdded > 0 )
+    if ( widgetsAdded > 0 && !iWidgetsList.IsFindPaneIsVisible() )
         {
         iWidgetsList.HandleItemAdditionL();
         }
@@ -232,9 +237,12 @@
     if ( widgetsRemoved > 0 || widgetsAdded > 0 ||
         widgetsChanged > 0 )
         {
-        iWidgetsList.DrawDeferred();
+        if ( !iWidgetsList.IsFindPaneIsVisible() )
+            {
+            iWidgetsList.DrawDeferred();
+            }
+        iWidgetListChanged = ETrue;
         }
-
     // 6: cleanup
     CleanupStack::PopAndDestroy( contentInfoArray );
 
@@ -267,9 +275,9 @@
     CWmWidgetData* data = NULL;
     for( TInt i=0; i<iWidgetsList.WidgetDataCount() && !data; ++i )
         {
-        if ( iWidgetsList.WidgetData(i).EqualsTo( aContentInfo ) )
+        if ( iWidgetsList.WidgetData(i, ETrue ).EqualsTo( aContentInfo ) )
             {
-            data = &iWidgetsList.WidgetData(i);
+            data = &iWidgetsList.WidgetData(i, ETrue );
             }
         }
     return data;
@@ -359,7 +367,7 @@
         // add to visible data
         iWidgetsList.AddWidgetDataL( widgetData, EFalse );
         CleanupStack::Pop( widgetData );
-		aCount++;
+        aCount++;
         }
     else
         {
@@ -379,7 +387,7 @@
     // delete widget order and references to it
     for( TInt i=0; i<iWidgetsList.WidgetDataCount(); ++i )
         {
-        iWidgetsList.WidgetData(i).SetPersistentWidgetOrder( NULL );
+        iWidgetsList.WidgetData(i, ETrue ).SetPersistentWidgetOrder( NULL );
         }
     delete iWidgetOrder;
     iWidgetOrder = NULL;
@@ -414,5 +422,14 @@
     return iLoading;
     }
 
+// ----------------------------------------------------
+// CWmWidgetData::SetObserver
+// ----------------------------------------------------
+//
+void CWmWidgetLoaderAo::SetObserver( MWmWidgetloaderObserver* aObserver )
+    {
+    iObserver = aObserver;
+    }
+
 // end of file
 
--- a/idlehomescreen/xmluicontroller/inc/appui.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluicontroller/inc/appui.h	Mon Jun 21 15:27:11 2010 +0300
@@ -183,6 +183,8 @@
     CAppUi( CXmlUiController& aUiCtl, TUid aAppUid );
     
     void ConstructL();
+    
+    void DoConstructL();
           
 private:     
     // data
--- a/idlehomescreen/xmluicontroller/src/appui.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluicontroller/src/appui.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -84,14 +84,36 @@
     
     iUiCtl.SetAppUi( *this );
     
+    iCoeEnv->DisableExitChecks( ETrue );
+       
+    TRAPD( err, DoConstructL() );
+    
+    if ( err )
+        {
+        __TICK( "CAppUi::ConstructL - failed" );
+        
+        // HandleUiShutdown must be called here 
+        // to free all control environment dependent framework objects
+        iUiCtl.FwEventHandler()->HandleUiShutdown( iUiCtl );    
+        }
+    
+    User::LeaveIfError( err );
+    
+    __TICK( "CAppUi::ConstructL - done" );
+    }
+
+// ----------------------------------------------------------------------------
+// CAppUi::DoConstructL()
+// ----------------------------------------------------------------------------
+//
+void CAppUi::DoConstructL()
+    {
     iUiCtl.NotifyAppEnvReadyL();
            
     // Always reset the phoneforward P&S key on startup just in case
     RProperty::Set( KPSUidAiInformation,
       KActiveIdleForwardNumericKeysToPhone, EPSAiForwardNumericKeysToPhone );
-        
-    iEditModeTitle = StringLoader::LoadL( R_QTN_HS_TITLE_EDITMODE );
-    
+               
     // Initialize with empty title pane so it's not shown on startup.                  
     __HEAP("XML UI: Init - Construct App UI")
     
@@ -101,13 +123,11 @@
     CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
                                      CAknAppUiBase::EDisableSendKeyLong );
     
+    iEditModeTitle = StringLoader::LoadL( R_QTN_HS_TITLE_EDITMODE );
+    
     // Register for XML UI view activation & deactivation
     AddViewActivationObserverL( this );
-    
-    // Disable CCoeEnv exit checks.
-    // Active Idle Framework will perform the checks.
-    iCoeEnv->DisableExitChecks( ETrue );
-    
+        
     __TIME("XML UI: Construct Content Renderer",
         iContentRenderer = CContentRenderer::NewL( *this );
     )
@@ -167,24 +187,6 @@
 //
 void CAppUi::ActivateUi()
     {
-    __PRINTS( "*** CAppUi::ActivateUi" );
-       
-    if ( iDeviceStatusInfo.Uid() == TUid::Null() )
-        {
-        __PRINTS( "*** CAppUi::ActivateUI - Loading DeviceStatus plugin" );
-        
-        _LIT8( KNs, "namespace" );
-        
-        // Load device status plugin here because it is always needed    
-        iDeviceStatusInfo = THsPublisherInfo( KDeviceStatusPluginUid, 
-            KDeviceStatusPluginName, KNs ); 
-                           
-        TAiFwPublisherInfo info( iDeviceStatusInfo,
-            TAiFwCallback(), EAiFwSystemStartup );
-        
-        iUiCtl.FwStateHandler()->LoadPlugin( info );
-        }        
-    
     __PRINTS( "*** CAppUi::ActivateUi - done" );
     }
 
--- a/idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -443,11 +443,11 @@
 //
 void COnlineOfflineHelper::HandleConnectionQueryL( const TDesC& aConnection)
     {
-    if ( aConnection == KDisConnected() ) 
+    if ( aConnection == KDisConnected() && ShowOfflineItem() ) 
         {
         ShowGlobalQueryL(R_QTN_HS_DISABLE_NETWORK, EFalse );
         }
-    else if ( aConnection == KConnected() )
+    else if ( aConnection == KConnected() && ShowOnlineItem() )
         {
         ShowGlobalQueryL(R_QTN_HS_SWITCH_ONLINE, ETrue );
         }
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h	Mon Jun 21 15:27:11 2010 +0300
@@ -124,6 +124,11 @@
     * See CCoeControl documentation
     */          
     void HandleResourceChange( TInt aType );
+    
+    /**
+    * See CCoeControl documentation
+    */  
+    void HandlePointerEventL(const TPointerEvent& aPointerEvent);
 
     /**
      * See CCoeAppUiBase.
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -472,6 +472,42 @@
     }
 
 // -----------------------------------------------------------------------------
+// CXnTextEditorAdapter::HandlePointerEventL
+//
+// -----------------------------------------------------------------------------
+//
+void CXnTextEditorAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent )
+    {
+    TPointerEvent pointerEvent( aPointerEvent ); 
+    TRect rect( iEditor->TextView()->ViewRect() );
+    TPoint point( aPointerEvent.iPosition );
+    
+    // this opens partial screen also when margin is tapped
+    if( !IsFlagSet( iSplitInputFlags, ESplitInputOpen ) )
+        {
+        if( point.iX < rect.iTl.iX )
+            {
+            pointerEvent.iPosition.iX = rect.iTl.iX;
+            }
+        else if( point.iX > rect.iBr.iX )
+            {
+            pointerEvent.iPosition.iX = rect.iBr.iX;
+            }
+        
+        if( point.iY < rect.iTl.iY )
+            {
+            pointerEvent.iPosition.iY = rect.iTl.iY;
+            }
+        else if( point.iY > rect.iBr.iY )
+            {
+            pointerEvent.iPosition.iY = rect.iBr.iY;
+            }
+        }
+    
+    CXnControlAdapter::HandlePointerEventL( pointerEvent );
+    }
+
+// -----------------------------------------------------------------------------
 // CXnTextEditorAdapter::HandleScreenDeviceChangedL
 //
 // -----------------------------------------------------------------------------
--- a/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h	Mon Jun 21 15:27:11 2010 +0300
@@ -311,9 +311,22 @@
      */
     TBool IsViewFull( CXnViewData& aViewData );
     
+    /*
+     * Notifies observers that widget list is changed
+     */
+    void NotifyWidgetListChanged();
+    
     /** callback for notify widget launcher */
     static TInt WidgetListChangedCallBack( TAny* aSelf );
+
+    /*
+     * Notifies observers that view list is changed
+     */
+    void NotifyViewListChanged();
     
+    /** callback for notify view launcher */
+    static TInt ViewListChangedCallBack( TAny* aSelf );
+
 private:
     // from MXnViewObserver    
     
@@ -331,6 +344,10 @@
     void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ );
     
     void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ );
+    
+    void NotifyAllViewsLoadedL();
+
+    void NotifyContainerActivatedL( const CXnViewData& aViewData );
 
 private:
     // from MCpsWrapperObserver    
@@ -371,8 +388,10 @@
     RPointerArray< hspswrapper::CPluginInfo > iPluginConfigurations;
 	/** Oom handler, owned. */
     CXnOomSysHandler* iOomSysHandler;
-	/** Launcher for notifying widget updates */    
-    CPeriodic* iNotifyWidgetUpdate;
+	/** Launcher for notifying widget list changes */    
+    CPeriodic* iNotifyWidgetListChanged;
+    /** Launcher for notifying view list changes */    
+    CPeriodic* iNotifyViewListChanged;
     };
 
 #endif // C_XNEDITOR_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnitemactivator.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnitemactivator.h	Mon Jun 21 15:27:11 2010 +0300
@@ -96,7 +96,7 @@
      * @since S60 5.2
      * @param aItemToActivate Item to activate
      */
-    void Activate( CXnNode* aItemToActivate );
+    void ActivateL( CXnNode* aItemToActivate );
             
 private:
     // data
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnkeyeventdispatcher.h	Mon Jun 21 15:27:11 2010 +0300
@@ -210,6 +210,8 @@
     void NotifyWidgetRemovalL( const CXnPluginData& aPluginData );
     void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
     void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
+    void NotifyAllViewsLoadedL(){};
+    void NotifyContainerActivatedL( const CXnViewData& /*aViewData*/ ){};
 
 private:
     // Data
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnrootdata.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnrootdata.h	Mon Jun 21 15:27:11 2010 +0300
@@ -169,13 +169,19 @@
      * @return number of pages allowed
      */
     TInt32 MaxPages();
-    
+
+    /**
+     * Returns ETrue, if all views are loaded
+     */
+    TBool AllViewsLoaded() const;
+
+    /**
+     * Returns ETrue, if all views are destoyed
+     */
+    TBool AllViewsDestroyed() const;
+
 private:
     // New functions
-    
-    TBool AllViewsLoaded() const;
-    TBool AllViewsDestroyed() const;
-    
     static TInt RunLoadL( TAny* aAny );
     static TInt RunDestroyL( TAny *aAny );
                
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnuiengineimpl.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnuiengineimpl.h	Mon Jun 21 15:27:11 2010 +0300
@@ -653,17 +653,27 @@
     /** 
      * from MXnViewObserver
      */
-   void NotifyWidgetRemovalL( const CXnPluginData& /*aPluginData*/ );
+    void NotifyWidgetRemovalL( const CXnPluginData& /*aPluginData*/ );
+
+    /** 
+     * from MXnViewObserver 
+     */
+    void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
 
-   /** 
-    * from MXnViewObserver 
-    */
-   void NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ ){};
+    /** 
+     * from MXnViewObserver
+     */
+    void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
 
-   /** 
-    * from MXnViewObserver
-    */
-  void NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ ){};
+    /** 
+     * from MXnViewObserver
+     */
+    void NotifyAllViewsLoadedL(){};
+
+    /** 
+     * from MXnViewObserver
+     */
+    void NotifyContainerActivatedL( const CXnViewData& /*aViewData*/ ){};
 
 private:
     // from MXnMenuObserver
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h	Mon Jun 21 15:27:11 2010 +0300
@@ -89,9 +89,10 @@
     void Draw( const TRect& aRect ) const;        
 
     /**
-    * @see CXnControlAdapter
-    */
-    void DoHandlePropertyChangeL( CXnProperty* aProperty = NULL );
+     * From CCoeControl.
+     * Size change notification
+     */
+    void SizeChanged();
 
 private:
     // from MXnUiStateObserver
--- a/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -44,7 +44,7 @@
 #include <StringLoader.h>
 #include <aknnotewrappers.h>
 #include <bautils.h>
-#include <UTF.h>
+#include <utf.h>
 
 #include <AknsUtils.h>
 #include <AknsDrawUtils.h>
--- a/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -17,7 +17,7 @@
 
 // System includes
 #include <s32file.h>
-#include <UTF.h>
+#include <utf.h>
 
 // User includes
 #include "xncomposer.h"
--- a/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -93,7 +93,8 @@
     ECanBeRemoved
     };
 
-const TInt KNotifyWidgetUpdateDelay( 1000000 ); //1sec
+const TInt KNotifyWidgetListChangedDelay( 1000000 ); //1sec
+const TInt KNotifyViewListChangedDelay( 1000000 );   //1sec
 
 // ====================== LOCAL FUNTION PROTOTYPES ============================
 static void DeletePluginInfos( TAny* aObject );
@@ -312,7 +313,8 @@
     iHspsWrapper = CHspsWrapper::NewL( aUid, this );
     iRepository= CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
     iOomSysHandler = CXnOomSysHandler::NewL();
-    iNotifyWidgetUpdate = CPeriodic::New( CActive::EPriorityIdle );
+    iNotifyWidgetListChanged = CPeriodic::New( CActive::EPriorityIdle );
+    iNotifyViewListChanged = CPeriodic::New( CActive::EPriorityIdle );
     }
 
 // ---------------------------------------------------------------------------
@@ -321,12 +323,18 @@
 // 
 CXnEditor::~CXnEditor()
     {
-    if ( iNotifyWidgetUpdate->IsActive() )
+    if ( iNotifyWidgetListChanged->IsActive() )
         {
-        iNotifyWidgetUpdate->Cancel();
+        iNotifyWidgetListChanged->Cancel();
         }
-    delete iNotifyWidgetUpdate;
-    
+    delete iNotifyWidgetListChanged;
+
+    if ( iNotifyViewListChanged->IsActive() )
+        {
+        iNotifyViewListChanged->Cancel();
+        }
+    delete iNotifyViewListChanged;
+
     iViewManager.RemoveObserver( *this );
     if( iPluginConfigurations.Count() )
         {
@@ -610,7 +618,7 @@
     	return;
         }
     
-    TBuf8<KOpaQDataLen> oPaqDataStr;
+    TBuf8<KOpaQDataLen> oPaqDataStr = KNullDesC8();
            
     MHsContentControlUi* ui( NULL );
     if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
@@ -1240,7 +1248,7 @@
     
     node->SetDirtyL( XnDirtyLevel::ELayoutAndRenderSiblings );
     
-    WidgetListChanged();
+    NotifyWidgetListChanged();
     }
 
 // ---------------------------------------------------------------------------
@@ -1322,7 +1330,7 @@
             }               
         }
     
-    WidgetListChanged();
+    NotifyWidgetListChanged();
     }
 
 // ---------------------------------------------------------------------------
@@ -1331,7 +1339,7 @@
 //
 void CXnEditor::NotifyViewAdditionL( const CXnPluginData& /*aPluginData*/ )
     {
-    ViewListChanged();
+    NotifyViewListChanged();
     }
 
 // ---------------------------------------------------------------------------
@@ -1340,7 +1348,7 @@
 //
 void CXnEditor::NotifyViewRemovalL( const CXnPluginData& /*aPluginData*/ )
     {
-    ViewListChanged();
+    NotifyViewListChanged();
     }
 
 // ---------------------------------------------------------------------------
@@ -1351,7 +1359,7 @@
     {
     ResetPluginsAndPublishers();
     RemoveUnRegisteredWidgetL( aPublisher );
-    WidgetListChanged();    
+    NotifyWidgetListChanged();    
     }
 
 // ---------------------------------------------------------------------------
@@ -1361,7 +1369,7 @@
 void CXnEditor::NotifyWidgetRegisteredL()
     {
     ResetPluginsAndPublishers();        
-    WidgetListChanged();
+    NotifyWidgetListChanged();
     }
 
 // ---------------------------------------------------------------------------
@@ -1370,17 +1378,49 @@
 //
 void CXnEditor::NotifyWidgetUpdatedL()
     {
-    if ( iNotifyWidgetUpdate->IsActive() )
+    NotifyWidgetListChanged();
+    }
+
+// ---------------------------------------------------------------------------
+// CXnEditor::NotifyAllViewsLoadedL
+// ---------------------------------------------------------------------------
+//
+void CXnEditor::NotifyAllViewsLoadedL()
+    {
+    NotifyViewListChanged();
+    NotifyWidgetListChanged();
+    }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::NotifyContainerActivatedL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::NotifyContainerActivatedL( const CXnViewData& /* aViewData */ )
+    {
+    if ( iViewManager.ActiveAppData().AllViewsLoaded() )
         {
-        iNotifyWidgetUpdate->Cancel();
+        NotifyWidgetListChanged();
         }
-    // start waiting for widget updates (wait time is 1sec).
-	// if no new updates, notify views about changes. otherwise
-	// start waiting for new updates again. 
-    iNotifyWidgetUpdate->Start(
-        KNotifyWidgetUpdateDelay,
-        KNotifyWidgetUpdateDelay,
+    }
+
+// ---------------------------------------------------------------------------
+// CXnEditor::NotifyWidgetListChanged
+// ---------------------------------------------------------------------------
+//
+void CXnEditor::NotifyWidgetListChanged()
+    {
+    if ( iNotifyWidgetListChanged->IsActive() )
+        {
+        iNotifyWidgetListChanged->Cancel();
+        }
+    // start waiting for widget list changes (wait time is 1sec).
+    // if no new changes, notify observers about changes. otherwise
+    // start waiting for new updates again. 
+    iNotifyWidgetListChanged->Start(
+        KNotifyWidgetListChangedDelay,
+        KNotifyWidgetListChangedDelay,
         TCallBack( WidgetListChangedCallBack, this ) );
+
     }
 
 // ---------------------------------------------------------------------------
@@ -1390,16 +1430,52 @@
 TInt CXnEditor::WidgetListChangedCallBack( TAny* aSelf )
     {
     CXnEditor* editor = static_cast<CXnEditor*>( aSelf );
-    if ( editor && editor->iNotifyWidgetUpdate->IsActive() )
+    if ( editor && editor->iNotifyWidgetListChanged->IsActive() )
         {
         // prevent multiple events
-        editor->iNotifyWidgetUpdate->Cancel();
+        editor->iNotifyWidgetListChanged->Cancel();
         editor->WidgetListChanged();
         }
     return KErrNone;
     }
 
 // ---------------------------------------------------------------------------
+// CXnEditor::NotifyViewListChanged
+// ---------------------------------------------------------------------------
+//
+void CXnEditor::NotifyViewListChanged()
+    {
+    if ( iNotifyViewListChanged->IsActive() )
+        {
+        iNotifyViewListChanged->Cancel();
+        }
+    // start waiting for widget list changes (wait time is 1sec).
+    // if no new changes, notify observer about changes. otherwise
+    // start waiting for new changes again. 
+    iNotifyViewListChanged->Start(
+        KNotifyViewListChangedDelay,
+        KNotifyViewListChangedDelay,
+        TCallBack( ViewListChangedCallBack, this ) );
+
+    }
+
+// ---------------------------------------------------------------------------
+// CXnEditor::ViewListChangedCallBack
+// ---------------------------------------------------------------------------
+//
+TInt CXnEditor::ViewListChangedCallBack( TAny* aSelf )
+    {
+    CXnEditor* editor = static_cast<CXnEditor*>( aSelf );
+    if ( editor && editor->iNotifyViewListChanged->IsActive() )
+        {
+        // prevent multiple events
+        editor->iNotifyViewListChanged->Cancel();
+        editor->ViewListChanged();
+        }
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------------------------
 // CXnEditor::NotifyViewDeactivatedL
 // ---------------------------------------------------------------------------
 //
@@ -1468,7 +1544,7 @@
         info->SetPluginIdL( aPluginId );
 
         RemoveUnInstalledWidgetL( *info );
-        WidgetListChanged();
+        NotifyWidgetListChanged();
 
         CleanupStack::PopAndDestroy( info );
         }
@@ -1480,7 +1556,7 @@
         {        
         ResetPluginsAndPublishers();
         
-        WidgetListChanged();        
+        NotifyWidgetListChanged();        
         }
     else if ( aEvent == KEventPluginUpdated )
         {
@@ -1496,7 +1572,7 @@
             ReplaceWidgetL( *info );                
             CleanupStack::PopAndDestroy( info );
             }
-        WidgetListChanged();
+        NotifyWidgetListChanged();
         }
  
     return KErrNone;
@@ -1508,7 +1584,7 @@
 //
 void CXnEditor::WidgetListChanged()
     {
-    TBuf8<KOpaQDataLen> oPaqDataStr;
+    TBuf8<KOpaQDataLen> oPaqDataStr = KNullDesC8();
               
    MHsContentControlUi* ui( NULL );
    if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
@@ -1532,7 +1608,7 @@
 //
 void CXnEditor::ViewListChanged()
     {
-    TBuf8<KOpaQDataLen> oPaqDataStr;
+    TBuf8<KOpaQDataLen> oPaqDataStr = KNullDesC8();
               
    MHsContentControlUi* ui( NULL );
    if ( IdFromCrep ( oPaqDataStr ) == KErrNone )
@@ -1850,23 +1926,12 @@
     const TDesC8& type( aInfo.Type() );
     
     if ( ( type != KKeyWidget && type != KKeyTemplate ) ||
-         aInfo.Uid() == KNullDesC8 )
+         aInfo.Uid() == KNullDesC8  || !aInfo.CanBeAdded() )
         {
         // malformed content info
         return KErrArgument;
         }
 
-    // the widget can not be added. Return proper error code
-    if ( IsCurrentViewFull() )
-        {
-        return KHsErrorViewFull;
-        }
-    else if ( !aInfo.CanBeAdded() )
-        {
-        return KHsErrorMaxInstanceCountExceeded;
-        }
-
-
     CXnPluginData* plugin( NULL );
     
     if( iTargetPlugin )
@@ -1880,9 +1945,27 @@
     
     iTargetPlugin = NULL;
     
-    if ( !plugin )
+    // the widget can not be added. Return proper error code
+    if ( IsCurrentViewFull() || !plugin )
+        {
+        return KHsErrorViewFull;
+        }
+    else
         {
-        return KErrGeneral;
+        TInt result;
+        if ( aInfo.Type() != KKeyTemplate() )
+            { 
+            result = NonTemplateWidgetCanBeAddedRemovedL( aInfo ); 
+            }
+        else
+            {
+            result = TemplateWidgetCanBeAddedRemovedL( aInfo );
+            } 
+        
+        if ( !( result & ECanBeAdded ) )
+            {
+            return KHsErrorMaxInstanceCountExceeded;
+            } 
         }
     
     ret = iViewManager.LoadWidgetToPluginL( aInfo, *plugin );
--- a/idlehomescreen/xmluirendering/uiengine/src/xnitemactivator.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnitemactivator.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -170,10 +170,9 @@
 // 
 // -----------------------------------------------------------------------------
 //
-TInt CXnItemActivator::RunError( TInt /*aError*/ )
-    {
-    // Ignore
-    return KErrNone;
+TInt CXnItemActivator::RunError( TInt aError )
+    {    
+    return aError;
     }
 
 // -----------------------------------------------------------------------------
@@ -187,11 +186,11 @@
     }
 
 // -----------------------------------------------------------------------------
-// CXnItemActivator::Activate()
+// CXnItemActivator::ActivateL()
 // 
 // -----------------------------------------------------------------------------
 //
-void CXnItemActivator::Activate( CXnNode* aItemToActivate )
+void CXnItemActivator::ActivateL( CXnNode* aItemToActivate )
     {
     if ( aItemToActivate )
         {
@@ -201,7 +200,7 @@
         
         if ( IsMenuItem( *aItemToActivate ) )
             {
-            TRAP_IGNORE( RunL() );
+            RunL();
             }
         else
             {                              
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -3979,7 +3979,7 @@
         
         if ( focusedNode )
             {
-            aEngine.AppUiAdapter().ItemActivator().Activate( focusedNode );            
+            aEngine.AppUiAdapter().ItemActivator().ActivateL( focusedNode );            
             }
         
         return ETrue;
@@ -7632,7 +7632,7 @@
 
     if ( activated )
         {
-        iUiEngine->AppUiAdapter().ItemActivator().Activate( iNode );
+        iUiEngine->AppUiAdapter().ItemActivator().ActivateL( iNode );
         }
 
     if ( stateChanged )
--- a/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -252,15 +252,22 @@
 //
 void CXnRootData::LoadRemainingViews()
     {
-    if ( iFlags.IsClear( EIsDispose ) && !AllViewsLoaded() )
+    if ( iFlags.IsClear( EIsDispose ) )
         {
-        iLoadForward = ETrue;
-        
-        iLoadTimer->Cancel();
-        
-        iLoadTimer->Start( TTimeIntervalMicroSeconds32( KScheduleInterval ),
-                           TTimeIntervalMicroSeconds32( KScheduleInterval ),
-                           TCallBack( RunLoadL, this ) );       
+        if ( !AllViewsLoaded() )
+            {
+            iLoadForward = ETrue;
+            
+            iLoadTimer->Cancel();
+            
+            iLoadTimer->Start( TTimeIntervalMicroSeconds32( KScheduleInterval ),
+                               TTimeIntervalMicroSeconds32( KScheduleInterval ),
+                               TCallBack( RunLoadL, this ) );
+            }
+        else
+            {
+            iManager.NotifyAllViewsLoadedL();
+            }
         }
     }
 
@@ -546,7 +553,8 @@
         
         if ( self->AllViewsLoaded() )
             {            
-            self->iLoadTimer->Cancel();            
+            self->iLoadTimer->Cancel();
+            self->iManager.NotifyAllViewsLoadedL();
             }                    
         }
         
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -8284,13 +8284,7 @@
                         rect = node->BorderRect();
                         }
                     
-                    // popup calculates its position based on _s60-position-hint property
-                    // This needs to be done even if popup's rect has not been changed
-                    if( node->Type()->Type() == KPopUpNodeName )
-                        {
-                        adapter->DoHandlePropertyChangeL();
-                        }
-                    else if ( adapter->Rect() != rect )
+                    if ( adapter->Rect() != rect )
                         {
                         AddToRedrawListL( node, rect );
                         
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -322,6 +322,7 @@
 void CXnViewAdapter::PrepareToExit()
     {                
     iAppUiAdapter.RemoveFromStack( iEventDispatcher );
+    
     delete iEventDispatcher;
     iEventDispatcher = NULL;
     
@@ -388,16 +389,16 @@
 
     __TICK( "CXnViewAdapter::DoActivateL" );
     __TIME_MARK( time );
+
+    TBool wasActive( iFlags.IsSet( EIsActivated ) );
     
     iFlags.Set( EIsActivated );
     
-    // State must be cleared before adding to stack
     iEventDispatcher->ClearStateL();
+           
+    iAppUiAdapter.RemoveFromStack( iEventDispatcher );
     iAppUiAdapter.AddToStackL( *this, iEventDispatcher );
 
-    // enable statuspane transparancy 
-    CEikStatusPane* sp( iAppUiAdapter.StatusPane() );
-
     CEikButtonGroupContainer* bgc( iAppUiAdapter.Cba() );
     
     if ( bgc )
@@ -408,30 +409,37 @@
 
         iAppUiAdapter.RemoveFromStack( cba );        
         }
-        
+       
     iBgManager->MakeVisible( ETrue );
-
-    // Set status pane layout
+        
     CXnViewData& viewData( iAppUiAdapter.ViewManager().ActiveViewData() );
-    CXnProperty* prop( viewData.Node()->LayoutNode()->GetPropertyL( 
-        XnPropertyNames::view::KStatusPaneLayout ) );
-
-    // Is there status pane declaration available
-    TInt spane( DetermineStatusPaneLayout( prop ) );
-
-    if ( spane != KErrNotFound )
+    
+    if ( !wasActive )
         {
-        if ( sp && sp->CurrentLayoutResId() != spane )
+        // Set status pane layout        
+        CXnProperty* prop( viewData.Node()->LayoutNode()->GetPropertyL( 
+            XnPropertyNames::view::KStatusPaneLayout ) );
+    
+        CEikStatusPane* sp( iAppUiAdapter.StatusPane() );
+        
+        // Is there status pane declaration available
+        TInt spane( DetermineStatusPaneLayout( prop ) );
+    
+        if ( spane != KErrNotFound )
             {
-            sp->SwitchLayoutL( spane );
-            sp->ApplyCurrentSettingsL();
-            }
-        }    
-    
-    if ( sp && !sp->IsTransparent() ) 
-        { 
-        sp->EnableTransparent( ETrue );
-        sp->DrawNow();
+            if ( sp && sp->CurrentLayoutResId() != spane )
+                {
+                sp->SwitchLayoutL( spane );
+                sp->ApplyCurrentSettingsL();
+                }
+            }    
+        
+        // enable statuspane transparancy        
+        if ( sp && !sp->IsTransparent() ) 
+            { 
+            sp->EnableTransparent( ETrue );
+            sp->DrawNow();
+            }    
         }
 
     if ( aCustomMessage == KSetWallpaper )
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -19,6 +19,7 @@
 
 // User includes
 #include <aifwdefs.h>
+#include <aifwpublisherinfo.h>
 #include "xnappuiadapter.h"
 #include "xncomposer.h"
 #include "xnodtparser.h"
@@ -29,12 +30,14 @@
 #include "xndomnode.h"
 #include "xnnode.h"
 #include "xnoomsyshandler.h"
+#include "ainativeuiplugins.h"
 #include "xnpanic.h"
 
 #include "debug.h"
 
 // Constants
-
+_LIT8( KNs, "namespace" );
+        
 // ============================ LOCAL FUNCTIONS ================================
 
 // ============================ MEMBER FUNCTIONS ===============================
@@ -118,6 +121,21 @@
         {
         if ( aActive )
             {
+            if ( iFlags.IsSet( EIsInitial ) )
+                {
+                // Load device status plugin here because it is always needed
+                THsPublisherInfo devstat( KDeviceStatusPluginUid, 
+                    KDeviceStatusPluginName, KNs ); 
+                                   
+                TAiFwPublisherInfo publisher( devstat,
+                    TAiFwCallback(), EAiFwSystemStartup );
+                
+                CXnAppUiAdapter* appui = 
+                    static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
+                
+                appui->LoadPublisher( publisher );
+                }
+            
             iFlags.Set( EIsActive );
             iFlags.Clear( EIsInitial );
             
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -352,8 +352,8 @@
            
     CleanupStack::PopAndDestroy(); // DisableRenderUiLC();
     
-    // Load initial view publishers         
-    ActiveViewData().LoadPublishers( EAiFwSystemStartup );    
+    // Load initial view publishers    
+    ActiveViewData().SetActive( ETrue );    
     }
 
 // -----------------------------------------------------------------------------
@@ -378,6 +378,16 @@
     delete iWidgetAmountTrigger;
     iWidgetAmountTrigger = NULL;
           
+    // Destroy all publishers
+    RPointerArray< CXnPluginData >& views( iRootData->PluginData() );
+    
+    for ( TInt i = 0; i < views.Count(); i++ )
+        {
+        CXnViewData* view = static_cast< CXnViewData* >( views[i] );
+                
+        view->DestroyPublishers( EAiFwSystemShutdown );        
+        }
+    
     // Destroy active view data
     ActiveViewData().Destroy();
          
@@ -387,6 +397,8 @@
        
     User::Heap().Compress();
     
+    iUiReady = EFalse;
+    
     LoadUiL();
     
     // Activate first view from the new configuration
@@ -1405,6 +1417,19 @@
     }
 
 // -----------------------------------------------------------------------------
+// CXnViewManager::NotifyAllViewsLoadedL()
+// Notifies that all views included in root configuration are loaded
+// -----------------------------------------------------------------------------
+//
+void CXnViewManager::NotifyAllViewsLoadedL()
+    {
+    for ( TInt i = 0; i < iObservers.Count(); i++ )
+        {
+        iObservers[i]->NotifyAllViewsLoadedL();
+        }
+    }
+
+// -----------------------------------------------------------------------------
 // CXnViewManager::PublishersReadyL()
 // Notifies that aViewData activation is complete
 // -----------------------------------------------------------------------------
@@ -1456,6 +1481,8 @@
     CXnBackgroundManager& bg( self->iAppUiAdapter.ViewAdapter().BgManager() ); 
         
     TRAP_IGNORE( bg.StoreWallpaperL() );
+
+    self->NotifyContainerActivatedL( active );
     
     return KErrNone;
     }
@@ -1564,6 +1591,19 @@
     }
 
 // -----------------------------------------------------------------------------
+// CXnViewManager::NotifyContainerActivatedL()
+// Notifies view container is activated
+// -----------------------------------------------------------------------------
+//
+void CXnViewManager::NotifyContainerActivatedL( const CXnViewData& aViewData )
+    {
+    for ( TInt i = 0; i < iObservers.Count(); i++ )
+        {
+        iObservers[i]->NotifyContainerActivatedL( aViewData );
+        }
+    }
+
+// -----------------------------------------------------------------------------
 // CXnViewManager::UpdateCachesL()
 //
 // -----------------------------------------------------------------------------
--- a/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -112,7 +112,7 @@
 // -----------------------------------------------------------------------------
 //
 CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter( CXnNodePluginIf& aNode )
-    : iNode( aNode ), iPositionHint( ENone )
+    : iNode( aNode ), iPositionHint( EAboveLeft )
     {
     }
 
@@ -349,16 +349,14 @@
     }
 
 // -----------------------------------------------------------------------------
-// CXnWidgetExtensionAdapter::DoHandlePropertyChangeL
+// CXnWidgetExtensionAdapter::SizeChanged
 // 
 // -----------------------------------------------------------------------------
 //    
-void CXnWidgetExtensionAdapter::DoHandlePropertyChangeL( CXnProperty* /*aProperty*/ )
+void CXnWidgetExtensionAdapter::SizeChanged()
     {
-    if( iNode.Node().IsLaidOut() && IsVisible() )
-        {
-        ChangePopupPosition();
-        }
+    ChangePopupPosition();
+    CXnControlAdapter::SizeChanged();
     }
 
 // -----------------------------------------------------------------------------
@@ -639,7 +637,8 @@
         rect.Move( contentRect.iBr.iX - rect.iBr.iX, 0 );
         }
     
-    this->SetRect( rect );
+    SetPosition( rect.iTl );
+    SetSizeWithoutNotification( rect.Size() );
     }
 
 
--- a/menufw/menufwui/matrixmenu/src/mmappui.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/menufw/menufwui/matrixmenu/src/mmappui.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -12,8 +12,8 @@
 * Contributors:
 *
 * Description:  Application UI class
-*  Version     : %version: MM_176.1.28.1.82 % << Don't touch! Updated by Synergy at check-out.
-*  Version     : %version: MM_176.1.28.1.82 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: MM_176.1.28.1.83 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: MM_176.1.28.1.83 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -1229,13 +1229,13 @@
 // ---------------------------------------------------------------------------
 //
 void CMmAppUi::HandleLongTapEventL( const TPoint& aPenEventLocation )
-  {
+    {
     TBool popupMenuDisplayed(EFalse);
-  if (iPopupMenu)
-      {
-      delete iPopupMenu;
-      iPopupMenu = NULL;
-      }
+    if (iPopupMenu)
+        {
+        delete iPopupMenu;
+        iPopupMenu = NULL;
+        }
     iPopupMenu = CAknStylusPopUpMenu::NewL(this,aPenEventLocation);
 
     if ( AknLayoutUtils::LayoutMirrored() )
@@ -1250,70 +1250,69 @@
         }
 
     if( iCurrentSuiteModel == iHNInterface->GetLastSuiteModelL()
-        && iCurrentContainer->IsHighlightVisible()
-        && iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1 )
-      {
-    MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
-    //fill the main menu structure, look for cascade menus
-    //reset the helper hash map
-    iCascadeMenuMap.Close();
+            && iCurrentContainer->IsHighlightVisible()
+            && iCurrentContainer->GetSuiteModelL()->GetItemModelsCount() > 1 )
+        {
+        MMPERF(("CMmAppUi::DynInitMenuPaneL - START"));
+        //fill the main menu structure, look for cascade menus
+        //reset the helper hash map
+        iCascadeMenuMap.Close();
 
-    MHnMenuItemModelIterator* menuIterator =
-      iCurrentSuiteModel->GetMenuStructureL(
-        iCurrentSuiteModel->IdByIndex(
-            iCurrentContainer->GetHighlight() ) );
+        MHnMenuItemModelIterator* menuIterator =
+                iCurrentSuiteModel->GetMenuStructureL(
+                        iCurrentSuiteModel->IdByIndex(
+                                iCurrentContainer->GetHighlight() ) );
 
-    // check if there is a menu structure available
-    // for the specified item
-    if ( menuIterator )
-      {
-      //create item sorting helper objects
-      RArray<TInt> positionArray;
-      CleanupClosePushL( positionArray );
-      RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
-      CleanupClosePushL( menuItemMap );
+        // check if there is a menu structure available
+        // for the specified item
+        if ( menuIterator )
+            {
+            //create item sorting helper objects
+            RArray<TInt> positionArray;
+            CleanupClosePushL( positionArray );
+            RHashMap<TInt, CEikMenuPaneItem::SData> menuItemMap;
+            CleanupClosePushL( menuItemMap );
 
-      while ( menuIterator->HasNextSpecific() )
-          {
-          CHnMenuItemModel* childItem = menuIterator->GetNextSpecific();
-          CEikMenuPaneItem::SData childData;
-          childData.iCommandId = childItem->Command();
-          childData.iText = childItem->NameL().
-                  Left( CEikMenuPaneItem::SData::ENominalTextLength );
-          childData.iFlags = 0;
-          childData.iCascadeId = 0;
+            while ( menuIterator->HasNextSpecific() )
+                {
+                CHnMenuItemModel* childItem = menuIterator->GetNextSpecific();
+                CEikMenuPaneItem::SData childData;
+                childData.iCommandId = childItem->Command();
+                childData.iText = childItem->NameL().
+                        Left( CEikMenuPaneItem::SData::ENominalTextLength );
+                childData.iFlags = 0;
+                childData.iCascadeId = 0;
 
-          positionArray.AppendL( childItem->Position() );
-          menuItemMap.InsertL( childItem->Position(), childData );
-          }
+                positionArray.AppendL( childItem->Position() );
+                menuItemMap.InsertL( childItem->Position(), childData );
+                }
 
-      positionArray.Sort();
+            positionArray.Sort();
 
-      //add items in correct order
-      for ( TInt i = 0; i < positionArray.Count(); ++i )
-        {
-        iPopupMenu->
-          AddMenuItemL(
-            menuItemMap.FindL( positionArray[i] ).iText,
-            menuItemMap.FindL( positionArray[i] ).iCommandId );
-        }
+            //add items in correct order
+            for ( TInt i = 0; i < positionArray.Count(); ++i )
+                {
+                iPopupMenu->AddMenuItemL(
+                        menuItemMap.FindL( positionArray[i] ).iText,
+                        menuItemMap.FindL( positionArray[i] ).iCommandId );
+                }
 
-      if (positionArray.Count()>0)
-        {
-        iPopupMenu->ShowMenu();
-        popupMenuDisplayed = ETrue;
+            if (positionArray.Count()>0)
+                {
+                iPopupMenu->ShowMenu();
+                popupMenuDisplayed = ETrue;
+                }
+            CleanupStack::PopAndDestroy( &menuItemMap );
+            CleanupStack::PopAndDestroy( &positionArray );
+            }
+        MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
         }
-      CleanupStack::PopAndDestroy( &menuItemMap );
-      CleanupStack::PopAndDestroy( &positionArray );
-      }
-    MMPERF(("CMmAppUi::DynInitMenuPaneL - STOP"));
-    }
 
     if ( !popupMenuDisplayed && iCurrentContainer )
         {
         iCurrentContainer->EndLongTapL( ETrue );
         HandleHighlightItemSingleClickedL(
-            iCurrentContainer->Widget()->CurrentItemIndex() );
+                iCurrentContainer->Widget()->CurrentItemIndex() );
         }
     }
 
--- a/menufw/menufwui/mmwidgets/inc/mmlistboxview.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/menufw/menufwui/mmwidgets/inc/mmlistboxview.h	Mon Jun 21 15:27:11 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:
-*  Version     : %version: MM_12.1.8 % << Don't touch! Updated by Synergy at check-out.
+*  Version     : %version: MM_12.1.9 % << Don't touch! Updated by Synergy at check-out.
 *
 */
 
@@ -228,11 +228,6 @@
 private:
 
   /**
-   * Scrollbar visibility flag.
-   */
-  TBool iScrollbarIsVisible;
-
-  /**
    * iCurrentItemIndex
    */
   TInt iPreviouslyDrawnCurrentItemIndex;
--- a/menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/menufw/menufwui/mmwidgets/src/mmdraweranimator.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -12,7 +12,7 @@
  * Contributors:
  *
  * Description:
- *  Version     : %version: MM_43 % << Don't touch! Updated by Synergy at check-out.
+ *  Version     : %version: MM_44 % << Don't touch! Updated by Synergy at check-out.
  *
  */
 
@@ -180,9 +180,6 @@
                 iDrawer.Widget()->View()->Draw( &refreshRect );
                 }
             }
-
-        iLastRedrawTime.HomeTime();
-
         }
 
     if( iDrawer.GetFloatingItemCount() > 0 )
--- a/menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/menufw/menufwui/mmwidgets/src/mmlistboxitemdrawer.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -307,7 +307,13 @@
             {
             TInt drawnItemIndex = iFloatingItems[i].GetDrawnItemIndex();
             TSize size = iWidget->View()->ItemSize( drawnItemIndex );
-            TRect rect( iFloatingItems[i].GetItemPosition(), iFloatingItems[i].GetItemPosition() + size);
+            if ( iWidgetType == EListbox 
+                    && TemplateLibrary()->GetScrollbarVisibility())
+                {
+                size.iWidth -= TemplateLibrary()->ScrollbarWidth();
+                }
+            TRect rect( iFloatingItems[i].GetItemPosition(),
+                    iFloatingItems[i].GetItemPosition() + size);
 
             if( rect.Intersects( currentlyDrawnRect ) )
                 {
@@ -998,16 +1004,17 @@
 void CMmListBoxItemDrawer::SetDraggedIndexL( TInt aDraggedItemIndex,
         TPoint aPoint )
     {
-    TInt dragFloatingItem = KErrNotFound;
+    TInt dragStartFloatingItem( KErrNotFound );
+    TInt dragFloatingItem( KErrNotFound );
     do
         {
-        dragFloatingItem = GetFloatingItemIndex( EDragStart );
-        if( dragFloatingItem == KErrNotFound )
-            dragFloatingItem = GetFloatingItemIndex( EDrag );
-        if( dragFloatingItem != KErrNotFound )
+        dragStartFloatingItem = GetFloatingItemIndex( EDragStart );
+        dragFloatingItem = GetFloatingItemIndex( EDrag );
+        if( dragStartFloatingItem == KErrNotFound )
+            dragStartFloatingItem = dragFloatingItem;
+        if( dragStartFloatingItem != KErrNotFound )
             {
-            TMmFloatingItem & item = GetFloatingItemAtIndex( dragFloatingItem );
-
+            TMmFloatingItem & item = GetFloatingItemAtIndex( dragStartFloatingItem );
             TMmFloatingItem postDragRefresh( item.GetDrawnItemIndex(),
                     item.GetItemPosition(), EPostDragRefreshItem,
                     MmEffects::KNoAnimationFramesCount, iWidget->View() );
@@ -1015,12 +1022,11 @@
             if( postDragRefresh.GetItemPosition() != aPoint )
                 {
                 iFloatingItems.Append( postDragRefresh );
-                }
-            if( item.GetFloatingItemType() == EDrag )
-                RemoveFloatingItem( dragFloatingItem );
+                }                
             }
+        RemoveFloatingItem( dragFloatingItem );
         }
-    while( GetFloatingItemIndex( EDrag ) != KErrNotFound );
+    while( dragFloatingItem != KErrNotFound );
 
     if( aDraggedItemIndex != KErrNotFound )
         {
--- a/menufw/menufwui/mmwidgets/src/mmlistboxview.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/menufw/menufwui/mmwidgets/src/mmlistboxview.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -12,7 +12,7 @@
 * Contributors:
 *
 * Description:
- *  Version     : %version: MM_54 % << Don't touch! Updated by Synergy at check-out.
+ *  Version     : %version: MM_55 % << Don't touch! Updated by Synergy at check-out.
  *
 */
 
@@ -80,7 +80,6 @@
 //
 void CMmListBoxView::ConstructL ()
   {
-  iScrollbarIsVisible = ETrue;
   iPreviouslyDrawnCurrentItemIndex = KErrNotFound;
   }
 
--- a/taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp	Wed Jun 09 09:29:04 2010 +0300
+++ b/taskswitcher/contextengine/tsfswserver/server/group/tsfswserver.mmp	Mon Jun 21 15:27:11 2010 +0300
@@ -21,6 +21,7 @@
 TARGET tsfswserver.exe
 TARGETTYPE EXE
 UID 0x0 0x2001CBE1
+EPOCSTACKSIZE   0x3000 // 12KB
 // AllFiles cap needed to get icon for wrt widgets
 CAPABILITY CAP_SERVER AllFiles
 
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Wed Jun 09 09:29:04 2010 +0300
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h	Mon Jun 21 15:27:11 2010 +0300
@@ -111,6 +111,13 @@
      */
     TBool IsForeground() const;
     
+    /**
+     * Checks if delayed foreground launch is taking place.
+     * 
+     * @return  ETrue if delayed foreground launch is in progress
+     */
+    TBool DelayedForegroundLaunched();
+    
 public:
     /**
      * From MTsCenrepChangeObserver
@@ -176,6 +183,7 @@
     TInt WgIdOfUnderlyingAppL( TBool aIgnoreParentChild );
 
     static TInt GoToBackgroundTimerCallback( TAny* aParam );
+    static TInt DelayedForegroundCallback( TAny* aParam );
     
     /*
      * Returns id of top parent window group for embeded window group.
@@ -198,6 +206,14 @@
      * @return camera's window group id.
      */
     TInt CheckForUnderlyingHiddenAppsL();
+    
+    /**
+     * Checks if underlying application is multimedia application.
+     * 
+     * @return  ETrue if aplication on top of the app stack is multimedia application.
+     *          Currently it recognises only camera app as multimedia app.
+     */
+    TBool IsUnderlyingAppMultimediaL();
 
 private:
 
@@ -221,6 +237,11 @@
 
     CPeriodic* iGoToBackgroundTimer;
     
+    // Delayed launch handling variables
+    CPeriodic* iForegroundDelayTimer;
+    TBool iForegroundDelayed;
+    TBool iDelayedForegroundInProgress;
+    
     TBool iEffectsEnabled;
     
     /**
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -68,6 +68,8 @@
 const TUid KTsCameraUid = { 0x101F857a };
 const TUid KTsTelephoneUid = { 0x100058b3 };
 
+const TInt KTsMultimediaAppActivationDelay = 1500000;
+
 // -----------------------------------------------------------------------------
 // CTsAppUi::ConstructL()
 // ConstructL is called by the application framework
@@ -117,6 +119,7 @@
 
     // Create timer
     iGoToBackgroundTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+    iForegroundDelayTimer = CPeriodic::NewL( CActive::EPriorityStandard );
 
     // Create commonly used instances (device state only?)
     iDeviceState = CTsDeviceState::NewL();
@@ -169,6 +172,9 @@
     iEikonEnv->WsSession().ComputeMode(RWsSession::EPriorityControlDisabled);
     RProcess().SetPriority(EPriorityHigh);
     
+    iForegroundDelayed = EFalse;
+    iDelayedForegroundInProgress = EFalse;
+    
     TSLOG_OUT();
     }
 
@@ -198,6 +204,7 @@
     GfxTransEffect::SetTransitionObserver(0);
     
     delete iGoToBackgroundTimer;
+    delete iForegroundDelayTimer;
     delete iPropListener;
     delete iLayoutListener;
 
@@ -548,6 +555,27 @@
     }
 
 // -----------------------------------------------------------------------------
+// CTsAppUi::DelayedForegroundCallback
+// -----------------------------------------------------------------------------
+//
+TInt CTsAppUi::DelayedForegroundCallback( TAny* aParam )
+    {
+    CTsAppUi* self = static_cast<CTsAppUi*>( aParam );
+    self->iDelayedForegroundInProgress = ETrue;
+    
+    if ( self->iForegroundDelayTimer )
+        {
+        self->iForegroundDelayTimer->Cancel();
+        }
+    self->iForegroundDelayed = EFalse;
+    self->HandleSwitchToForegroundEvent();
+    
+    self->iDelayedForegroundInProgress = EFalse;
+    
+    return 0;
+    }
+
+// -----------------------------------------------------------------------------
 // CTsAppUi::MoveAppToForeground()
 // -----------------------------------------------------------------------------
 //
@@ -563,7 +591,21 @@
     iApplicationTask.BringToForeground();
 
     // Notify
-    HandleSwitchToForegroundEvent();
+    TBool delayForeground(EFalse);
+    TRAP_IGNORE( delayForeground = IsUnderlyingAppMultimediaL() );
+    if ( delayForeground )
+        {
+        iForegroundDelayed = ETrue;
+        iForegroundDelayTimer->Cancel();
+        iForegroundDelayTimer->Start( 
+                KTsMultimediaAppActivationDelay, 
+                0,
+                TCallBack( DelayedForegroundCallback, this ) );
+        }
+    else
+        {
+        HandleSwitchToForegroundEvent();
+        }
 
     TSLOG_OUT();
     }
@@ -589,6 +631,8 @@
         iAppView->HandleSwitchToBackgroundEvent();
         
         iWg.SetOrdinalPosition(-1, ECoeWinPriorityNormal);
+        
+        iForegroundDelayed = EFalse;
         }
 
     TSLOG_OUT();
@@ -604,7 +648,7 @@
     TSLOG_IN();
 
     // must not do anything if iForeground is already up-to-date
-    if ( !iForeground )
+    if ( !iForeground && !iForegroundDelayed )
         {
         TInt freeRamMemory;
         HAL::Get( HALData::EMemoryRAMFree, freeRamMemory );
@@ -884,4 +928,37 @@
     return wgId;
     }
 
+// -----------------------------------------------------------------------------
+// CTsAppUi::IsUnderlyingAppMultimediaL
+// -----------------------------------------------------------------------------
+//
+TBool CTsAppUi::IsUnderlyingAppMultimediaL()
+    {
+    TBool retVal(EFalse);
+    
+    TApaTaskList taskList( iEikonEnv->WsSession() );
+    TInt underlyingWg = taskList.FindByPos(0).WgId();
+    
+    CApaWindowGroupName* windowName =
+        CApaWindowGroupName::NewLC( iEikonEnv->WsSession(), underlyingWg );
+    TUid appUid = windowName->AppUid();
+    CleanupStack::PopAndDestroy( windowName );
+    if ( appUid == KTsCameraUid )
+        {
+        retVal = ETrue;
+        }
+    
+    return retVal;
+    }
+
+
+// -----------------------------------------------------------------------------
+// CTsAppUi::DelayedForegroundLaunched
+// -----------------------------------------------------------------------------
+//
+TBool CTsAppUi::DelayedForegroundLaunched()
+    {
+    return iDelayedForegroundInProgress;
+    }
+
 // End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp	Wed Jun 09 09:29:04 2010 +0300
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp	Mon Jun 21 15:27:11 2010 +0300
@@ -353,6 +353,12 @@
         iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(ETrue);
         static_cast<CTsAppView*>(&iParent)->EnableDragEvents(EFalse);
         }
+    
+    // Update scrollbar frame
+    if( iGrid->ScrollBarFrame() )
+        {
+        iGrid->SetScrollBarFrame(NULL,CEikListBox::EOwnedExternally);
+        }
     }
 
 
@@ -424,7 +430,8 @@
         TInt selIdx = SelectedIndex();
         TRAPD(err,
               LayoutGridL();
-              LayoutGridViewL( iArray.Count() )
+              LayoutGridViewL( iArray.Count() );
+              iEvtHandler.ReInitPhysicsL( GridWorldSize(), ViewSize(), ETrue );
               );
         
         if ( err != KErrNone )
@@ -900,7 +907,10 @@
     
     iPrevAppCount = iArray.Count();
     
-    iGrid->MakeVisible(ETrue);
+    if ( !appUi->DelayedForegroundLaunched() )
+        {
+        iGrid->MakeVisible(ETrue);
+        }
 
     TSLOG_OUT();
     }
@@ -1182,6 +1192,7 @@
         }
     else if(aSource == iRedrawTimer)
         {
+        iGrid->MakeVisible(ETrue);
         static_cast<CTsAppView*>(&iParent)->OrderFullWindowRedraw();
         }
     else if( aSource == iUpdateGridTimer )