--- 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 )