# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268401309 -7200 # Node ID ff572dfe6d86161ad80632f4eab5a337b27d34ed # Parent f966699dea193979355709c21b51ec1153caaf12 Revision: 201007 Kit: 201008 diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat --- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat Fri Mar 12 15:41:49 2010 +0200 @@ -25,7 +25,7 @@ desktopconfiguration.dtd - 2 + unlimited &qtn_desktop_configuration_desc; skin(270501603 9361):mif(icon.mif 16384 16385) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/desktop_20026f4f/loc/desktopconfiguration.loc --- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/loc/desktopconfiguration.loc Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/desktop_20026f4f/loc/desktopconfiguration.loc Fri Mar 12 15:41:49 2010 +0200 @@ -22,7 +22,7 @@ #define qtn_desktop_configuration_name "Shortcuts" // d: Shortcut widget description -// l: listrow_wgtman_pane_t2 +// l: wgtman_list_pane_t1 // w: // r: TB9.2 #define qtn_desktop_configuration_desc "Quick access to your favorite applications from Home Screen." diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/37/onerow.css --- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/37/onerow.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/37/onerow.css Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,7 @@ padding-left:8px; padding-right:8px; font-line-space: 15; + direction: ltr; text-align: right; text-overflow-mode: wrap; max-line-amount: 2; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/50/onerow.css --- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/50/onerow.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/50/onerow.css Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,7 @@ padding-left:8px; padding-right:8px; font-line-space: 15; + direction: ltr; text-align: right; text-overflow-mode: wrap; max-line-amount: 2; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/57/onerow.css --- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/57/onerow.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/57/onerow.css Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,7 @@ padding-left:8px; padding-right:8px; font-line-space: 15; + direction: ltr; text-align: right; text-overflow-mode: wrap; max-line-amount: 2; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/94/onerow.css --- a/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/94/onerow.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/onerow_2001f480/xuikon/94/onerow.css Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,7 @@ padding-left:8px; padding-right:8px; font-line-space: 15; + direction: ltr; text-align: right; text-overflow-mode: wrap; max-line-amount: 2; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/group/bld.inf --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/group/bld.inf Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/group/bld.inf Fri Mar 12 15:41:49 2010 +0200 @@ -23,8 +23,7 @@ //******************************************************** ../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/manifest.dat ../hsps/00/widgetconfiguration.xml /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/widgetconfiguration.xml -// waiting for localization from platform -//../hsps/00/profileconfiguration.dtd /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/profileconfiguration.dtd +../hsps/00/profileconfiguration.dtd /epoc32/data/Z/resource/homescreen/profile_2001cb7c/hsps/profileconfiguration.dtd ../xuikon/00/profile.dat /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profile_2001cb7c.dat ../xuikon/00/profile.css /epoc32/data/Z/resource/homescreen/profile_2001cb7c/xuikon/profile.css @@ -45,8 +44,7 @@ //***************************** // export localizable loc files (engineering versions) ../loc/profilewidget.loc APP_LAYER_LOC_EXPORT_PATH(profilewidget.loc) -// waiting for localization from platform -//../loc/profileconfiguration.loc APP_LAYER_LOC_EXPORT_PATH(profileconfiguration.loc) +../loc/profileconfiguration.loc APP_LAYER_LOC_EXPORT_PATH(profileconfiguration.loc) // Support for S60 builds //*********************** @@ -61,6 +59,7 @@ START EXTENSION tools/dtd OPTION SWITCH_LOC_FILE_NAME profile_2001cb7c OPTION DTD_TYPE widget +OPTION LOC_FOLDERS yes END diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat Fri Mar 12 15:41:49 2010 +0200 @@ -14,22 +14,17 @@ 0x2001cb7c - - - - profilename waits loc profile 1.0 + + &qtn_profile_configuration_desc; + widgetconfiguration.xml - - profiledesc waits localization from platform skin(270501603 9360):mif(icon.mif 16384 16385) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/widgetconfiguration.xml --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/widgetconfiguration.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/widgetconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -1,9 +1,5 @@ - - - - - + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profileconfiguration.loc --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profileconfiguration.loc Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/loc/profileconfiguration.loc Fri Mar 12 15:41:49 2010 +0200 @@ -23,7 +23,7 @@ #define qtn_profile_configuration_name "Time & profile" // d: profile widget description -// l: listrow_wgtman_pane_t2 +// l: wgtman_list_pane_t1 // w: // r: TB9.2 #define qtn_profile_configuration_desc "Quick access to time, date and change profile." \ No newline at end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_customer.iby --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_customer.iby Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_customer.iby Fri Mar 12 15:41:49 2010 +0200 @@ -23,6 +23,7 @@ // Enabled by DTD-localization tools, language specific data=ZPRIVATE\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 \private\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 +data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\profileconfiguration.dtd \private\200159c0\install\profile_2001cb7c\hsps\00\profileconfiguration.dtd #endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_resources.iby --- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_resources.iby Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/rom/profilewidget_resources.iby Fri Mar 12 15:41:49 2010 +0200 @@ -23,6 +23,7 @@ data=ZPRIVATE\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 \private\200159c0\install\profile_2001cb7c\xuikon\00\profile.o0000 data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\icon.mif \private\200159c0\install\profile_2001cb7c\hsps\00\icon.mif +data=ZPRIVATE\200159c0\install\profile_2001cb7c\hsps\00\profileconfiguration.dtd \private\200159c0\install\profile_2001cb7c\hsps\00\profileconfiguration.dtd #endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.confml Binary file idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.confml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/rootconfiguration.xml --- a/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/rootconfiguration.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/rootconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -1,14 +1,12 @@ - - - - - - - - - - - - - + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/templateviewconfiguration.xml --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/templateviewconfiguration.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/templateviewconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -1,22 +1,23 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: ltr; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -29,11 +29,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml Fri Mar 12 15:41:49 2010 +0200 @@ -132,7 +132,6 @@ - diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -23,18 +23,12 @@ margin-bottom: 4px; margin-right: 5px; margin-left: 5px; - background-color: "SKIN(268458534 9916)"; _s60-longtap: true; nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -23,18 +23,12 @@ margin-bottom: 4px; margin-right: 5px; margin-left: 5px; - background-color: "SKIN(268458534 9916)"; _s60-longtap: true; nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -23,18 +23,12 @@ margin-bottom: 4px; margin-right: 5px; margin-left: 5px; - background-color: "SKIN(268458534 9916)"; _s60-longtap: true; nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css --- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -23,18 +23,12 @@ margin-bottom: 4px; margin-right: 5px; margin-left: 5px; - background-color: "SKIN(268458534 9916)"; _s60-longtap: true; nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/37/threerows.css --- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/37/threerows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/37/threerows.css Fri Mar 12 15:41:49 2010 +0200 @@ -25,6 +25,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/50/threerows.css --- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/50/threerows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/50/threerows.css Fri Mar 12 15:41:49 2010 +0200 @@ -25,6 +25,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/57/threerows.css --- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/57/threerows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/57/threerows.css Fri Mar 12 15:41:49 2010 +0200 @@ -25,6 +25,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/94/threerows.css --- a/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/94/threerows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threerows_2001f486/xuikon/94/threerows.css Fri Mar 12 15:41:49 2010 +0200 @@ -25,6 +25,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/37/threetextrows.css --- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/37/threetextrows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/37/threetextrows.css Fri Mar 12 15:41:49 2010 +0200 @@ -2,6 +2,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/50/threetextrows.css --- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/50/threetextrows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/50/threetextrows.css Fri Mar 12 15:41:49 2010 +0200 @@ -2,6 +2,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/57/threetextrows.css --- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/57/threetextrows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/57/threetextrows.css Fri Mar 12 15:41:49 2010 +0200 @@ -2,6 +2,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/94/threetextrows.css --- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/94/threetextrows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/threetextrows_2001f487/xuikon/94/threetextrows.css Fri Mar 12 15:41:49 2010 +0200 @@ -2,6 +2,7 @@ { padding-left:8px; padding-right:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/37/tworows.css --- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/37/tworows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/37/tworows.css Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,7 @@ padding-right:8px; padding-left:8px; padding-top:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/50/tworows.css --- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/50/tworows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/50/tworows.css Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,7 @@ padding-right:8px; padding-left:8px; padding-top:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/57/tworows.css --- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/57/tworows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/57/tworows.css Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,7 @@ padding-right:8px; padding-left:8px; padding-top:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/94/tworows.css --- a/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/94/tworows.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/tworows_2001f488/xuikon/94/tworows.css Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,7 @@ padding-right:8px; padding-left:8px; padding-top:8px; + direction: ltr; text-align: right; font-family: EAknLogicalFontSecondaryFont; font-size: 23px; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48b.confml Binary file idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48b.confml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/viewconfiguration.xml --- a/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/viewconfiguration.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/viewconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -1,22 +1,23 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: ltr; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -29,11 +29,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml Fri Mar 12 15:41:49 2010 +0200 @@ -132,7 +132,6 @@ - diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -27,11 +27,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -27,11 +27,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -27,11 +27,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css --- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -11,7 +11,7 @@ box#plugins_container { direction: rtl; - block-progression: tb; + block-progression: rl; padding-top: 3px; } @@ -27,11 +27,6 @@ nav-index: appearance; } -plugin:edit -{ - background-color:"SKIN(270501603 8582)"; -} - image.widget_indication { display: none; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.confml Binary file idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.confml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.gcfml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.gcfml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/group/bld.inf Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* The information required for building +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +// Support for productization and Carbide.Ui customization +//******************************************************** +../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/view_200286e4/hsps/manifest.dat +../hsps/00/viewconfiguration.xml /epoc32/data/Z/resource/homescreen/view_200286e4/hsps/viewconfiguration.xml + +../xuikon/00/View.dat /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/view_200286e4.dat +../xuikon/00/View.css /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/view.css +../xuikon/00/View.xml /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/view.xml +../xuikon/00/View.dtd /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/view.dtd + +// Arabic languages +//***************** +../xuikon/37/View.css /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/37/view.css +../xuikon/50/View.css /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/50/view.css +../xuikon/57/View.css /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/57/view.css +../xuikon/94/View.css /epoc32/data/Z/resource/homescreen/view_200286e4/xuikon/94/view.css + + +//Confml and cfgml files for the customization +// starting use confml it is need to remove root_configuration.xml direct exporting (view_200286e4_variant.iby) +//*********************************** +//../conf/view200286e4.confml APP_LAYER_CONFML(view200286e4.confml) +//../conf/view200286e4.gcfml APP_LAYER_GCFML(view200286e4.gcfml) + +// Support for S60 localization +//***************************** +#ifndef __VIEW_LOC__ +#define __VIEW_LOC__ +../loc/view.loc APP_LAYER_LOC_EXPORT_PATH(view.loc) +#endif // __VIEW_LOC__ + +// Support for S60 builds +//*********************** +../rom/view_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(view_200286e4_resources.iby) +../rom/view_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_200286e4_customer.iby) +../rom/view_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_200286e4_variant.iby) +../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view_200286e4.iby) + + +// Dtd-localization +//***************** +PRJ_EXTENSIONS +START EXTENSION tools/dtd +OPTION SWITCH_LOC_FILE_NAME view_200286e4 +OPTION DTD_TYPE widget +END + + +PRJ_MMPFILES + +PRJ_TESTMMPFILES + +// End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/manifest.dat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/manifest.dat Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,59 @@ + + + + + + + qhd_tch + + + + view + + + + + + 0x2001f48a + + + + + + 0x101fb657 + + + + + + 0x200286e4 + + + + + + &qtn_view_200286e4_name; + + ai3_view2 + + 1.0 + + + + + + viewconfiguration.xml + + + + + + + + view.o0000 + + + + + + \ No newline at end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/viewconfiguration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/viewconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/loc/View.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/loc/View.loc Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,268 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Localization strings for project Active Idle 3 +* +*/ + +// d: Help +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_help "Help" + +// d: Open +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define qtn_msk_open "Open" + +// d: Options +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_done "Done" + +// d: Open +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_open "Open" + +// d: Back +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_back "Back" + +// d: Empty string +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define shortcut_emptycaption " " + +// d: Add page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_add_page "Add page" + +// d: Select +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_select_widget "Select" + +// d: Add content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_add_widget "Add content" + +// d: Access the widget catalog +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_widget_catalog "Widget catalog" + +// d: Search +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_search "Search" + +// d: Options +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_options "Options" + +// d: Refresh +// l: list_single_pane_t1_cp2/opt3 +// w: +// r: TB9.2 +#define qtn_hs_refresh_widget "Refresh" + +// d: Focused widget +// l: list_single_popup_submenu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_refresh_one_widget "One" + +// d: All widgets +// l: list_single_popup_submenu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_refresh_all_widgets "All" + +// d: Remove content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_remove_widget "Remove content" + +// d: Hide the content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_hide_widgets "Hide the content" + +// d: Edit contents +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_edit_content "Edit content" + +// d: Change Wallpaper +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_wallpaper "Change Wallpaper" + +// d: Change Shortcut Settings +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_shortcut_settings "Change Shortcut Settings" + +// d: Widget settings +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_widget_settings "Widget settings" + +// d: Show widgets +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_show_widgets "Show the content" + +// d: Change Home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_page "Change Home screen page" + +// d: Change +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define qtn_msk_change "Change" + +// d: Show all profiles in Profiles widget +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_show_profiles "Show all profiles" + +// d: Right selection key +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_set_right_idle_softkey "Right selection key" + +// d: Select +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_select "Select" + +// d: Cancel +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_cancel "Cancel" + +// d: Options menu item which switches home to online. Web widgets get updates from network. +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_online "Switch Home to online" + +// d: Options menu item which switches home to offline. Web widgets are not updated +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_offline "Switch Home to offline" + +// d: String which is shown in long tap menu of Home screen if tapped widget has settings +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_settings "Settings" + +// d: String which is shown in long tap menu of Home screen if tapped some widget which is removable +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_remove_element "Remove" + +// d: String which is shown in long tap menu of Home screen if tapped empty space in home screen +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_add "Add content" + +// d: String which is shown in long tap menu of Home screen +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_change_longtap_wallpaper "Change wallpaper" + +// d: User can download new HS widgets. String is visible in add content list query +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_download_new_widgets "Download" + +// d: Changes focused widget +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_edit_replace "Replace" + +// d: deletes current home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_options_delete "Delete page" + +// d: creates new home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_options_new "New page" + +// d: view title in editing mode +// l: title_pane_t2 +// w: +// r: TB9.2 +#define qtn_hs_title_editing_view "Editing view" + +// d: Call +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_call "Call" + +// d: Added new option menu item to Edit mode for opening the widget catalog, +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_edit_widget_catalog "Widget Catalog" + +// d: Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_edit_options_delete "Delete page" diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/rom/view.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/rom/view.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E4_IBY__ +#define __AI3VIEW_200286E4_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools +data=ZPRIVATE\200159c0\install\view_200286e4\hsps\00\manifest.dat \private\200159c0\install\view_200286e4\hsps\00\manifest.dat + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_200286E4_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/rom/view_customer.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/rom/view_customer.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin language specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E4_CUSTOMER_IBY__ +#define __AI3VIEW_200286E4_CUSTOMER_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools, language specific +data=ZPRIVATE\200159c0\install\view_200286e4\xuikon\00\view.o0000 \private\200159c0\install\view_200286e4\xuikon\00\view.o0000 + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_2001F48B_CUSTOMER_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/rom/view_resources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/rom/view_resources.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin language specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E4_RESOURCES_IBY__ +#define __AI3VIEW_200286E4_RESOURCES_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools, language specific +data=ZPRIVATE\200159c0\install\view_200286e4\xuikon\00\view.o0000 \private\200159c0\install\view_200286e4\xuikon\00\view.o0000 + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_2001F48B_RESOURCES_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/rom/view_variant.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/rom/view_variant.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin variant specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E4_VARIANT_IBY__ +#define __AI3VIEW_200286E4_VARIANT_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by variation tools, variant specific +data=ZPRIVATE\200159c0\install\view_200286e4\hsps\00\viewconfiguration.xml \private\200159c0\install\view_200286e4\hsps\00\viewconfiguration.xml + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_2001F48B_VARIANT_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,89 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: ltr; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + + _s60-longtap: true; + + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + left: auto; + right: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: block; +} + +softkey#msk_rtl +{ + display: none; +} + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dat Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,13 @@ + + + E029CF57 + 101FB657 + 11001234 + DemoView + view + 1.0 + view.xml + view.css + view.dtd + + \ No newline at end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.dtd Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.xml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,296 @@ + + + + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/37/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/37/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/50/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/50/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/57/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/57/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e4/xuikon/94/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/94/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.confml Binary file idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.confml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/group/bld.inf Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* The information required for building +* +*/ + +#include + +PRJ_PLATFORMS +DEFAULT + +PRJ_EXPORTS +// Support for productization and Carbide.Ui customization +//******************************************************** +../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/view_200286e5/hsps/manifest.dat +../hsps/00/viewconfiguration.xml /epoc32/data/Z/resource/homescreen/view_200286e5/hsps/viewconfiguration.xml + +../xuikon/00/View.dat /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/view_200286e5.dat +../xuikon/00/View.css /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/view.css +../xuikon/00/View.xml /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/view.xml +../xuikon/00/View.dtd /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/view.dtd + +// Arabic languages +//***************** +../xuikon/37/View.css /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/37/view.css +../xuikon/50/View.css /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/50/view.css +../xuikon/57/View.css /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/57/view.css +../xuikon/94/View.css /epoc32/data/Z/resource/homescreen/view_200286e5/xuikon/94/view.css + + +//Confml and cfgml files for the customization +// starting use confml it is need to remove root_configuration.xml direct exporting (view_200286e5_variant.iby) +//*********************************** +//../conf/view2001f486.confml APP_LAYER_CONFML(view200286e5.confml) +//../conf/view2001f486.gcfml APP_LAYER_GCFML(view200286e5.gcfml) + +// Support for S60 localization +//***************************** +#ifndef __VIEW_LOC__ +#define __VIEW_LOC__ +../loc/view.loc APP_LAYER_LOC_EXPORT_PATH(view.loc) +#endif // __VIEW_LOC__ + +// Support for S60 builds +//*********************** +../rom/view_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(view_200286e5_resources.iby) +../rom/view_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_200286e5_customer.iby) +../rom/view_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_200286e5_variant.iby) +../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view_200286e5.iby) + + +// Dtd-localization +//***************** +PRJ_EXTENSIONS +START EXTENSION tools/dtd +OPTION SWITCH_LOC_FILE_NAME view_200286e5 +OPTION DTD_TYPE widget +END + + +PRJ_MMPFILES + +PRJ_TESTMMPFILES + +// End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/manifest.dat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/manifest.dat Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,59 @@ + + + + + + + qhd_tch + + + + view + + + + + + 0x2001f48a + + + + + + 0x101fb657 + + + + + + 0x200286e5 + + + + + + &qtn_view_200286e5_name; + + ai3_view3 + + 1.0 + + + + + + viewconfiguration.xml + + + + + + + + view.o0000 + + + + + + \ No newline at end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/viewconfiguration.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/viewconfiguration.xml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/loc/View.loc --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/loc/View.loc Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,268 @@ +/* +* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Localization strings for project Active Idle 3 +* +*/ + +// d: Help +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_help "Help" + +// d: Open +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define qtn_msk_open "Open" + +// d: Options +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_done "Done" + +// d: Open +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_open "Open" + +// d: Back +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_back "Back" + +// d: Empty string +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define shortcut_emptycaption " " + +// d: Add page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_add_page "Add page" + +// d: Select +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_options_select_widget "Select" + +// d: Add content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_add_widget "Add content" + +// d: Access the widget catalog +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_widget_catalog "Widget catalog" + +// d: Search +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_search "Search" + +// d: Options +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_options "Options" + +// d: Refresh +// l: list_single_pane_t1_cp2/opt3 +// w: +// r: TB9.2 +#define qtn_hs_refresh_widget "Refresh" + +// d: Focused widget +// l: list_single_popup_submenu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_refresh_one_widget "One" + +// d: All widgets +// l: list_single_popup_submenu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_refresh_all_widgets "All" + +// d: Remove content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_remove_widget "Remove content" + +// d: Hide the content +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_hide_widgets "Hide the content" + +// d: Edit contents +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_edit_content "Edit content" + +// d: Change Wallpaper +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_wallpaper "Change Wallpaper" + +// d: Change Shortcut Settings +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_shortcut_settings "Change Shortcut Settings" + +// d: Widget settings +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_widget_settings "Widget settings" + +// d: Show widgets +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_show_widgets "Show the content" + +// d: Change Home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_change_page "Change Home screen page" + +// d: Change +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define qtn_msk_change "Change" + +// d: Show all profiles in Profiles widget +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_show_profiles "Show all profiles" + +// d: Right selection key +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_set_right_idle_softkey "Right selection key" + +// d: Select +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_select "Select" + +// d: Cancel +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_cancel "Cancel" + +// d: Options menu item which switches home to online. Web widgets get updates from network. +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_online "Switch Home to online" + +// d: Options menu item which switches home to offline. Web widgets are not updated +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_offline "Switch Home to offline" + +// d: String which is shown in long tap menu of Home screen if tapped widget has settings +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_settings "Settings" + +// d: String which is shown in long tap menu of Home screen if tapped some widget which is removable +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_remove_element "Remove" + +// d: String which is shown in long tap menu of Home screen if tapped empty space in home screen +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_longtap_add "Add content" + +// d: String which is shown in long tap menu of Home screen +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_change_longtap_wallpaper "Change wallpaper" + +// d: User can download new HS widgets. String is visible in add content list query +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_download_new_widgets "Download" + +// d: Changes focused widget +// l: list_single_touch_menu_pane_t1 +// w: +// r: TB9.2 +#define qtn_hs_edit_replace "Replace" + +// d: deletes current home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_options_delete "Delete page" + +// d: creates new home screen page +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_options_new "New page" + +// d: view title in editing mode +// l: title_pane_t2 +// w: +// r: TB9.2 +#define qtn_hs_title_editing_view "Editing view" + +// d: Call +// l: control_pane_t1/opt7 +// w: +// r: TB9.2 +#define text_softkey_call "Call" + +// d: Added new option menu item to Edit mode for opening the widget catalog, +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_edit_widget_catalog "Widget Catalog" + +// d: Deletes the current Home screen page and focus goes to the next available Home screen page in Edit mode +// l: list_single_pane_t1_cp2 +// w: +// r: TB9.2 +#define qtn_hs_page_edit_options_delete "Delete page" diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/rom/view.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/rom/view.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E5_IBY__ +#define __AI3VIEW_200286E5_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools +data=ZPRIVATE\200159c0\install\view_200286e5\hsps\00\manifest.dat \private\200159c0\install\view_200286e5\hsps\00\manifest.dat + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_200286E5_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/rom/view_customer.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/rom/view_customer.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin language specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E5_CUSTOMER_IBY__ +#define __AI3VIEW_200286E5_CUSTOMER_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools, language specific +data=ZPRIVATE\200159c0\install\view_200286e5\xuikon\00\view.o0000 \private\200159c0\install\view_200286e5\xuikon\00\view.o0000 + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_200286E5_CUSTOMER_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/rom/view_resources.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/rom/view_resources.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin language specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E5_RESOURCES_IBY__ +#define __AI3VIEW_200286E5_RESOURCES_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by DTD-localization tools, language specific +data=ZPRIVATE\200159c0\install\view_200286e5\xuikon\00\view.o0000 \private\200159c0\install\view_200286e5\xuikon\00\view.o0000 + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_200286E5_RESOURCES_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/rom/view_variant.iby --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/rom/view_variant.iby Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,29 @@ +/* +* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* View widget HSPS-plugin variant specific IBY file. +* +*/ + +#ifndef __AI3VIEW_200286E5_VARIANT_IBY__ +#define __AI3VIEW_200286E5_VARIANT_IBY__ + +#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) + +// Enabled by variation tools, variant specific +data=ZPRIVATE\200159c0\install\view_200286e5\hsps\00\viewconfiguration.xml \private\200159c0\install\view_200286e5\hsps\00\viewconfiguration.xml + +#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH + +#endif // __AI3VIEW_200286E5_VARIANT_IBY__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,89 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: ltr; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + + _s60-longtap: true; + + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + left: auto; + right: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: block; +} + +softkey#msk_rtl +{ + display: none; +} + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dat --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dat Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,13 @@ + + + E029CF57 + 101FB657 + 11001234 + DemoView + view + 1.0 + view.xml + view.css + view.dtd + + \ No newline at end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dtd --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.dtd Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,428 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.xml Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,296 @@ + + + + + + + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/37/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/37/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/50/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/50/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/57/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/57/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/data/qhd_tch/view_200286e5/xuikon/94/View.css --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/94/View.css Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,86 @@ +view +{ + direction: ltr; + block-progression: tb; + background-image: wallpaper; + swipe: true; + + _s60-status-pane-layout: widescreen-flat-3softkeys; +} + +box#plugins_container +{ + direction: rtl; + block-progression: rl; + padding-top: 3px; +} + +plugin.plugins +{ + height: 82px; + width: 312px; + + margin-bottom: 4px; + margin-right: 5px; + margin-left: 5px; + _s60-longtap: true; + nav-index: appearance; +} + +plugin:edit +{ + background-color:"SKIN(270501603 8582)"; +} + +image.widget_indication +{ + display: none; + position: absolute; + + right: auto; + left: 3px; + top: 5px; + + height: 26px; + width: 26px; + + path: "SKIN(270501603 9252)"; + _s60-aspect-ratio: preserve; + z-index: 2; +} + +image.widget_indication:edit +{ + display: block; +} + +trigger#hs_popup_open_hold:edit +{ + display: none; +} + +trigger#hs_popup_open_up +{ + display: none; +} + +trigger#hs_popup_open_up:edit +{ + display: block; +} + +softkey#rsk +{ + _s60-longtap: true; + _s60-aspect-ratio: preserve; +} + +softkey#msk_ltr +{ + display: none; +} + +softkey#msk_rtl +{ + display: block; +} diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/hscontentcontrol/bwins/hscontentcontrol.def --- a/idlehomescreen/hscontentcontrol/bwins/hscontentcontrol.def Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/hscontentcontrol/bwins/hscontentcontrol.def Fri Mar 12 15:41:49 2010 +0200 @@ -3,4 +3,5 @@ ?GetHsContentController@CHsContentControlFactory@@QAEPAVMHsContentControlUi@@ABVTDesC8@@@Z @ 2 NONAME ; class MHsContentControlUi * CHsContentControlFactory::GetHsContentController(class TDesC8 const &) ??1CHsContentControlFactory@@UAE@XZ @ 3 NONAME ; CHsContentControlFactory::~CHsContentControlFactory(void) ?NewL@CHsContentControlFactory@@SAPAV1@AAVCXnAppUiAdapter@@@Z @ 4 NONAME ; class CHsContentControlFactory * CHsContentControlFactory::NewL(class CXnAppUiAdapter &) + ?PrepareToExit@CHsContentControlFactory@@QAEXXZ @ 5 NONAME ; void CHsContentControlFactory::PrepareToExit(void) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/hscontentcontrol/eabi/hscontentcontrol.def --- a/idlehomescreen/hscontentcontrol/eabi/hscontentcontrol.def Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/hscontentcontrol/eabi/hscontentcontrol.def Fri Mar 12 15:41:49 2010 +0200 @@ -5,4 +5,5 @@ _ZN24CHsContentControlFactoryD0Ev @ 4 NONAME _ZN24CHsContentControlFactoryD1Ev @ 5 NONAME _ZN24CHsContentControlFactoryD2Ev @ 6 NONAME + _ZN24CHsContentControlFactory13PrepareToExitEv @ 7 NONAME diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h --- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h Fri Mar 12 15:41:49 2010 +0200 @@ -88,6 +88,11 @@ IMPORT_C MHsContentControlUi* GetHsContentController( const TDesC8& aControllerType ); + /** + * + */ + IMPORT_C void PrepareToExit(); + private: /** diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp --- a/idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -103,22 +103,13 @@ // EXPORT_C CHsContentControlFactory::~CHsContentControlFactory() { + delete iHsContentControlEComListener; + delete iHsContentControlUninstallMonitor; + iImplArray.ResetAndDestroy(); iImplArray.Close(); - if ( iHsContentControlUis.Count() > 0 ) - { - for( TInt index( iHsContentControlUis.Count() - 1 ); index >= 0; --index ) - { - CHsContentControlUi* cc( iHsContentControlUis[ index ] ); - ReleaseHsCcUi( cc ); - } - } - iHsContentControlUis.ResetAndDestroy(); - - delete iHsContentControlEComListener; - delete iHsContentControlUninstallMonitor; } // --------------------------------------------------------------------------------- @@ -126,7 +117,7 @@ // --------------------------------------------------------------------------------- // EXPORT_C MHsContentControlUi* CHsContentControlFactory::GetHsContentController( - const TDesC8& aControlType ) + const TDesC8& aControlType ) { MHsContentControlUi* retval( FindHsContentController( aControlType ) ); @@ -167,6 +158,22 @@ return retval; } +// --------------------------------------------------------------------------------- +// CHsContentControlFactory::PrepareToExit() +// --------------------------------------------------------------------------------- +// +EXPORT_C void CHsContentControlFactory::PrepareToExit() + { + if ( iHsContentControlUis.Count() > 0 ) + { + for( TInt index( iHsContentControlUis.Count() - 1 ); index >= 0; --index ) + { + CHsContentControlUi* cc( iHsContentControlUis[ index ] ); + ReleaseHsCcUi( cc ); + } + } + } + // ---------------------------------------------------------------------------- // CHsContentControlFactory::FindHsContentController() // ---------------------------------------------------------------------------- @@ -245,7 +252,7 @@ // If an implementation is not present in present in the plugInArray then its removed. for( TInt index( iImplArray.Count() - 1 ); index >= 0 && !done; --index ) { - uid = plugInArray[ index ]->ImplementationUid(); + uid = iImplArray[ index ]->ImplementationUid(); CImplementationInformation* implInfo = FindPluginImplInfo( uid, plugInArray ); if ( implInfo && PluginUpgradeDowngrade( *implInfo ) ) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnappuiadapter.h --- a/idlehomescreen/inc/xnappuiadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnappuiadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -34,6 +34,7 @@ class MHsContentControlUi; class CXnEffectManager; class MHsContentControl; + // Class declaration /** * Avkon adapter for Xuikon. @@ -149,6 +150,7 @@ /** * Routes the events from external rendering plug-ins to content plug-ins. + * To be overriden by subclass. * * @since S60 5.2 * @param aEvent Event string @@ -157,31 +159,45 @@ IMPORT_C virtual void HandleEventL( const TDesC& aEvent, CXnNodeAppIf& aDestination ); -public: /** - * From CEikAppUi. + * This is called when initial view is activated + * To be overriden by subclass. + * + * @since S60 5.2 + */ + IMPORT_C virtual void UiActivated(); + + /** * Second-phase constructor * * @since Series 60 3.1 */ IMPORT_C void ConstructL(); -protected: + /** + * From CEikAppUi. + * + * @since Series 60 3.1 + */ + IMPORT_C void ProcessMessageL( TUid aUid, const TDesC8& aParams ); +protected: + // from CAknViewAppUi + /** - * From CAknAppUi. + * @see CAknViewAppUi * * @since Series 60 3.1 */ IMPORT_C void HandleResourceChangeL( TInt aType ); /** - * From CAknAppUi. + * @see CAknViewAppUi * - * @since Series 60 5.2 + * @since S60 5.2 */ IMPORT_C void PrepareToExit(); - + public: // new functions @@ -266,7 +282,7 @@ * Makes focus control visible * * @since S60 5.0 - */ + */ void ShowFocus(); private: diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xneditmode.h --- a/idlehomescreen/inc/xneditmode.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xneditmode.h Fri Mar 12 15:41:49 2010 +0200 @@ -151,14 +151,6 @@ * @since Series 60 5.0 */ void UpdateScreen(); - - /** - * Sets the title for status pane - * - * @since Series 60 5.0 - * @param aEdit Edit mode or not. - */ - void SetStatusPaneTitleL( TBool aEdit ); private: // Constructors diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnlistquerydialogadapter.h --- a/idlehomescreen/inc/xnlistquerydialogadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnlistquerydialogadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -29,6 +29,7 @@ // FORWARD DECLARATIONS class CXnNodePluginIf; class CXnUiEngine; +class CAknListQueryDialog; // CLASS DECLARATION @@ -200,6 +201,10 @@ void ModifyDynamicEventL( TInt aIndex ); private: // Data + + // Dialog + CAknListQueryDialog* iDialog; + // Node CXnNodePluginIf& iNode; /** diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnnode.h --- a/idlehomescreen/inc/xnnode.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnnode.h Fri Mar 12 15:41:49 2010 +0200 @@ -888,62 +888,6 @@ * @see GetPropertyL * @return The property mapped to the key or NULL if not found. */ - CXnProperty* VisibleRowsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridColumnsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridOrientationL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridVerDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridHorDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* FocusHorLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* FocusVerLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ CXnProperty* ZIndexL(); /** @@ -971,30 +915,6 @@ CXnProperty* BackgroundImageL(); /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* RefL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridScrollBarMarginL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridScrollBarWidthL(); - - /** * Sets the pointer of DOM node * * @since S60 3.1 @@ -1052,27 +972,6 @@ void FixAdaptiveSizeL( const TSize& aFixedSize ); /** - * Restarts the timer in a timed trigger. - * - * @param aDelay Delay in microseconds. If delay is zero, then the timer - * is only cancelled. - */ - void RestartTimedTrigger( TInt aDelay = 0 ); - - /** - * Sets default trigger delay. - * - * @param aDelay delay in microseconds. If new delay is not set, then - * this value is used in restarting the timer. - */ - void SetTriggerDelay( TTimeIntervalMicroSeconds32 aDelay ); - - /** - * Returns the default trigger delay. - */ - TTimeIntervalMicroSeconds32 TriggerDelay(); - - /** * Marks node as dirty, adds it to UiEngine's dirty list and * clears rendered and laidout from the node and its children. * @@ -1184,10 +1083,6 @@ */ CXnNodeAppIf* iAppIf; - /** - * delay in microseconds for timer. - */ - TTimeIntervalMicroSeconds32 iTriggerDelay; }; #endif diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnnodeimpl.h --- a/idlehomescreen/inc/xnnodeimpl.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnnodeimpl.h Fri Mar 12 15:41:49 2010 +0200 @@ -33,7 +33,6 @@ class CXnProperty; class CXnNode; class CXnUiEngine; -class CGridPropertyCache; class CLayoutPropertyCache; class CXnDomNode; class CXnScrollableControlAdapter; @@ -797,62 +796,6 @@ * @see GetPropertyL * @return The property mapped to the key or NULL if not found. */ - CXnProperty* VisibleRowsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridColumnsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridOrientationL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridVerDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridHorDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* FocusHorLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* FocusVerLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ CXnProperty* ZIndexL(); /** @@ -880,30 +823,6 @@ CXnProperty* BackgroundImageL(); /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* RefL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridScrollBarMarginL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - CXnProperty* GridScrollBarWidthL(); - - /** * Sets the pointer of DOM node * * @since S60 3.1 @@ -953,29 +872,6 @@ void FixAdaptiveSizeL( const TSize& aFixedSize ); /** - * Callback which will be called by the CPeriodic. - * - * @param aPtr User defined pointer. - * @return ETrue if the method should be called again. - */ - static TInt PeriodicEventL( TAny* aPtr ); - - /** - * Returns a pointer to the periodic timer (for timed triggers). - */ - CPeriodic* PeriodicTimer(); - - /** - * Creates a periodic timer (iPeriodicTimer). - */ - void CreatePeriodicL(); - - /** - * Deletes a periodict timer (iPeriodicTimer) - */ - void DeletePeriodic(); - - /** * Marks node as dirty, adds it to UiEngine's dirty list and * clears rendered and laidout from the node and its children. * @@ -1016,7 +912,7 @@ * Gets scrollable control. */ CXnScrollableControlAdapter* ScrollableControl(); - + private: TInt DoSetPropertyL( CXnProperty* aPropery ); @@ -1129,12 +1025,6 @@ RArray< CXnDomProperty::TPseudoClass > iStates; /** - * Local cache for property with name KRef. - * Not own. - */ - CXnProperty* iRef; - - /** * Local cache for property with name KName. * Not own. */ @@ -1186,12 +1076,6 @@ * Local property cache. * Own. */ - CGridPropertyCache* iGridPropertyCache; - - /** - * Local property cache. - * Own. - */ CLayoutPropertyCache* iLayoutPropertyCache; /** @@ -1216,11 +1100,6 @@ */ TInt iAdaptive; - /** - * The timer for the timed triggers. - * Own. - */ - CPeriodic* iPeriodicTimer; }; #endif diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnnodepluginif.h --- a/idlehomescreen/inc/xnnodepluginif.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnnodepluginif.h Fri Mar 12 15:41:49 2010 +0200 @@ -390,86 +390,6 @@ * @see GetPropertyL * @return The property mapped to the key or NULL if not found. */ - IMPORT_C CXnProperty* VisibleRowsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridColumnsL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridOrientationL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridVerDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridHorDirectionL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* FocusHorLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* FocusVerLoopingL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* RefL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridScrollBarWidthL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ - IMPORT_C CXnProperty* GridScrollBarMarginL(); - - /** - * Get property as indicated by method name. - * - * @see GetPropertyL - * @return The property mapped to the key or NULL if not found. - */ IMPORT_C CXnProperty* PathL(); /** diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnproperty.h --- a/idlehomescreen/inc/xnproperty.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnproperty.h Fri Mar 12 15:41:49 2010 +0200 @@ -48,27 +48,13 @@ _LIT8(KInitialFocus, "_s60-initial-focus"); _LIT8(KFocusAppearance, "_s60-focus-appearance"); _LIT8(KDisabled, "disabled"); -// _LIT8(KLocked, "locked"); -// _LIT8(KStyleLocked, "stylelocked"); _LIT8(KLongTap, "_s60-longtap"); _LIT8(KSwipe, "swipe"); _LIT8(KSwipeDestination, "_s60-swipe-destination"); _LIT8(KBackgroundMask, "backgroundmask" ); - _LIT8(KStylusStates, "stylusstates"); - /*_LIT8(KTouchFeedbackDown, "touchfeedbackdown"); - _LIT8(KTouchFeedbackUp, "touchfeedbackup"); - _LIT8(KTouchFeedbackDrag, "touchfeedbackdrag"); - _LIT8(KTouchFeedbackLongTap, "touchfeedbacklongtap");*/ - _LIT8(KEventFilter, "eventfilter"); _LIT8(KEffectId, "effectid"); - _LIT8(KKeyMoveMode, "keymovemode"); _LIT8(KSizeAware, "sizeaware"); _LIT8(KVisualisationAware, "visualisationaware"); - /*namespace touchfeedback - { - _LIT8(KFeedbackBasic, "basic"); - _LIT8(KFeedbackSensitive, "sensitive"); - }*/ } namespace tooltip { @@ -77,7 +63,6 @@ _LIT8(KPositionHint, "_s60-position-hint"); namespace positionhint { -// _LIT8(KNone, "none"); _LIT8(KAboveLeft, "aboveleft"); _LIT8(KAboveRight, "aboveright"); _LIT8(KBelowLeft, "belowleft"); @@ -98,10 +83,6 @@ } namespace view { -// _LIT8(KUid, "uid"); - _LIT8(KInitial, "initial"); -// _LIT8(KTitle, "title"); - _LIT8(KFocusVisibility, "_s60-focus-visibility"); _LIT8(KStatusPaneLayout, "_s60-status-pane-layout"); namespace statuspanelayout { @@ -113,59 +94,18 @@ _LIT8( KWideScreenFlat3Softkeys, "widescreen-flat-3softkeys" ); } } - namespace grid - { -// _LIT8(KType, "type"); -// namespace type -// { -// _LIT8(KSelection, "selection"); -// _LIT8(KMarkable, "markable"); -// } -// _LIT8(KSelectionType, "selectiontype"); -// namespace selectiontype -// { -// _LIT8(KSingle, "single"); -// _LIT8(KMulti, "multi"); -// } -// _LIT8(KMarkingElement, "markingelement"); -// _LIT8(KMarkingElementOff, "markingelementoff"); -// _LIT8(KOpeningEffect, "openingeffect"); - _LIT8(KS60GridColumns, "_s60-grid-columns"); - _LIT8(KS60VisibleRows, "_s60-visible-list-rows"); -// _LIT8(KS60GridColumnsLandscape, "_s60-grid-columns-landscape"); -// _LIT8(KS60VisibleRowsLandscape, "_s60-visible-list-rows-landscape"); -// _LIT8(KS60InitialSelection, "_s60-initial-list-selection"); - _LIT8(KS60FocusHorLooping, "_s60-list-focus-horizontal-looping"); - _LIT8(KS60FocusVerLooping, "_s60-list-focus-vertical-looping"); - namespace s60_focus_looping - { - _LIT8(KStop, "stop"); -// _LIT8(KLoop, "loop"); -// _LIT8(KSnake, "snake"); - } - _LIT8(KS60GridOrientation, "_s60-grid-orientation"); - _LIT8(KS60GridVerDirection, "_s60-grid-ver-direction"); //lr, rl - _LIT8(KS60GridHorDirection, "_s60-grid-hor-direction"); //tb, bt -// _LIT8(KS60GridPreserveImageRatio, "_s60-grid-preserve-image-ratio"); - _LIT8(KS60GridScrollbarWidth, "_s60-grid-scrollbar-width"); - _LIT8(KS60GridScrollbarMargin, "_s60-grid-scrollbar-margin"); - _LIT8(KGridCellTemplate, "gridcelltemplate"); - _LIT8(KListRowTemplate, "listrowtemplate"); - } namespace newsticker { _LIT8(KXnNewsticker, "newsticker"); _LIT8(KXnScrollAmount, "_s60-scroll-amount"); _LIT8(KXnScrollDelay, "_s60-scroll-delay"); _LIT8(KXnStartDelay, "_s60-start-delay"); - _LIT8(KXnNewstickerAnimationDelay, "_s60-animation-delay"); _LIT8(KDisplayTime, "_s60-display-time"); _LIT8(KScrollBehaviour, "_s60-scroll-behaviour"); _LIT8(KScrollLoop, "_s60-scroll-loop"); _LIT8(KRestartAfterUpdate, "_s60-restart-after-update"); namespace scroll_behaviour { -// _LIT8(KScroll, "scroll"); _LIT8(KSlide, "slide"); _LIT8(KAlternate, "alternate"); _LIT8(KScrollAlternate, "scroll-alternate"); @@ -176,44 +116,10 @@ _LIT8(KTitleIndex, "titleindex" ); _LIT8(KTitle, "title" ); } -/* namespace trackster - { - _LIT8( KTrackster, "trackster" ); - _LIT8( KTracksterCellTemplate, "trackstercelltemplate" ); - _LIT8( KText, "text" ); - _LIT8( KImage, "image" ); - _LIT8( KCurveTypeCurve, "trackstercurve" ); - _LIT8( KCurveTypeZoom, "tracksterzoom" ); - _LIT8( KKeyPoint, "keypoint" ); - _LIT8( KXCoordinate, "_s60-co-ordinate-x" ); - _LIT8( KYCoordinate, "_s60-co-ordinate-y" ); - _LIT8( KScrollTime, "_S60-scroll-time" ); - _LIT8( KS60VisibleFocus, "_s60-visible-focus" ); - _LIT8( KTracsterItems, "tracksteritems" ); - _LIT8( KItemCount, "_s60-item-count" ); - _LIT8( KVisibleFocus, "_s60-visible-focus" ); - _LIT8( KItemPoints, "_s60-item-points" ); - _LIT8( KTracksterType, "trackstertype" ); - _LIT8( KTypeContainer, "container" ); - _LIT8( KTypePreview, "preview" ); - }*/ -/* namespace anim - { - _LIT8(KS60ZoomingFactor, "_s60-zooming-factor"); - _LIT8(KS60ZoomingTime, "_s60-zooming-time"); - _LIT8(KS60StartDelay, "_s60-start-delay"); - _LIT8(KS60AnimationDelay, "_s60-animation-delay"); - _LIT8(KS60LoopAmount, "_s60-loop-amount"); - _LIT8(KS60SmoothEnding, "_s60-smooth-ending"); - _LIT8(KS60HighlightAnimation, "_s60-highlight-animation"); - _LIT8(KS60FocusAnimationTime, "_s60-focus-animation-time"); - _LIT8(KS60HWAcceleration, "_s60-hw-acceleration"); - }*/ namespace menu { namespace menutype { -// _LIT8(KMenuOptions, "menuoptions"); _LIT8(KMenuOptionsNoTaskSwapper, "menuoptionsnotaskswapper"); } _LIT8(KMenuItem, "menuitem" ); @@ -222,11 +128,8 @@ _LIT8(KMenuType, "menutype"); _LIT8(KEvent, "event"); _LIT8(KLabel, "label"); -// _LIT8(KSelectionType, "selectiontype"); _LIT8(KChecked, "checked"); -// _LIT8(KMSKDotImage8,"#mskdot"); _LIT(KMSKDotImage16,"#mskdot"); -// _LIT(KMSKDialerImage, "#dialer"); _LIT8(KItemType, "type"); } namespace listquerydialog @@ -252,10 +155,6 @@ _LIT8(KModeEdit, "mode_edit"); } } - namespace text - { -// _LIT8(KLabel, "label"); - } namespace image { _LIT8(KPath, "path"); @@ -271,7 +170,6 @@ { _LIT8(KDigital, "digital"); _LIT8(KAnalog, "analog"); -// _LIT8(KLocale, "locale"); } _LIT8(KS60AmPmFontSize, "_s60-ampm-font-size" ); @@ -300,7 +198,6 @@ namespace trigger { _LIT8(KName, "name"); - _LIT8(KDelay, "delay"); namespace name { _LIT8(KLeft, "left"); @@ -310,7 +207,6 @@ _LIT8(KDownAndUp, "downup"); _LIT8(KActivate, "activate"); _LIT8(KHold, "hold"); -// _LIT8(KHover, "hover"); _LIT8(KFocus, "focus"); _LIT8(KPassiveFocus, "passivefocus"); _LIT8(KGainFocus, "gainfocus"); @@ -318,28 +214,19 @@ _LIT8(KKeyEvent, "keyevent"); _LIT8(KViewActivate, "viewactivate"); _LIT8(KViewDeactivate, "viewdeactivate"); -// _LIT8(KStartup, "startup"); -// _LIT8(KShutdown, "shutdown"); _LIT8(KScreenDeviceChange, "screendevicechange"); -// _LIT8(KUiDefinitionModificationStart, "uidefinitionmodificationstart"); -// _LIT8(KUiDefinitionModificationEnd, "uidefinitionmodificationend"); - _LIT8(KForeground, "foreground"); - _LIT8(KBackground, "background"); _LIT8(KStylus, "stylus"); _LIT8(KGainVisualisation, "gainvisualisation"); _LIT8(KLoseVisualisation, "losevisualisation"); - /*_LIT8(KGainFocusNotification, "gainfocusnotification");*/ _LIT8(KSwipe, "swipe"); _LIT8(KSizeChanged, "sizechanged"); _LIT8(KWidgetAmount, "widgetamount"); _LIT8(KTitleToScroll, "titletoscroll"); _LIT8(KTitleScrolled, "titlescrolled"); _LIT8(KTitleIndex, "titleindex"); - /*_LIT8(KViewPagesCountChanged, "viewpagescountchanged");*/ _LIT8(KCallState, "callstate"); - /*_LIT8(KViewAdditionCompleted, "viewadded" );*/ _LIT8(KEditMode, "editmode" ); - + namespace swipe { _LIT8(KDirection, "direction"); @@ -349,11 +236,6 @@ _LIT8(KRight, "right"); } } - namespace stylus - { - _LIT8(KStylusState, "stylusstate"); - _LIT8(KStylusEventType, "eventtype"); - } namespace keyevent { _LIT8(KKeyCode, "keycode"); @@ -362,17 +244,13 @@ _LIT8(KEventType, "eventtype"); _LIT8(KRepeats, "repeats"); } - namespace uidefinitionmodification + namespace orientation { _LIT8(KReason, "reason"); namespace reason { -// _LIT8(KThemeActivated, "themeactivated"); -// _LIT8(KDisplaySwitch, "displayswitch"); _LIT8(KLandscape, "landscape"); _LIT8(KPortrait, "portrait"); -// _LIT8(KResolutionChange, "resolutionchange"); -// _LIT8(KLanguageSwitch, "languageswitch"); } } namespace callstate @@ -385,29 +263,6 @@ _LIT8(KEnter, "enter"); _LIT8(KExit, "exit"); } - /*namespace viewpagescountchanged - { - _LIT8( KInfo, "info" ); - namespace info - { - _LIT8( KInfoMax, "max" ); - _LIT8( KInfoMin, "min" ); - _LIT8( KInfoMid, "mid" ); - _LIT8( KInfoMinMax, "minmax" ); - } - }*/ - /*namespace viewadditioncompleted - { - _LIT8( KAddedViewActivated, "activated" ); - }*/ -/* namespace uisettingsmodification - { - _LIT8(KReason, "reason"); - namespace reason - { - _LIT8(KSettingsUpdated, "settingsupdated"); - } - }*/ } } namespace event @@ -422,9 +277,7 @@ _LIT8(KSetEditMode, "system/seteditmode"); _LIT8(KResetEditMode, "system/reseteditmode"); _LIT8(KClearPassiveFocuses, "system/clearpassivefocuses"); - _LIT8(KResetStylusCounter, "system/resetstyluscounter"); _LIT8(KRunAddWidgetQuery, "system/runaddwidgetquery"); -// _LIT8(KRunRemoveWidgetQuery, "system/runremovewidgetquery"); _LIT8(KRemoveFocusedWidget, "system/removefocusedwidget"); _LIT8(KRemoveWidget, "system/removewidget"); _LIT8(KAddWidget, "system/addwidget"); @@ -433,25 +286,13 @@ _LIT8(KActivatePreviousView, "system/activatepreviousview"); _LIT8(KAddView,"system/addview"); _LIT8(KRemoveView,"system/removeview"); - /*_LIT8(KFocusNext, "system/focusnext"); - _LIT8(KFocusPrevious, "system/focusprevious");*/ _LIT8(KActivate, "system/activate"); _LIT8(KDeactivate, "system/deactivate"); - _LIT8(KExit, "system/exitapplication"); _LIT8(KSet, "system/set"); - /*_LIT8(KUiDefinitionModificationStart, "system/uidefinitionmodificationstart"); - _LIT8(KUiDefinitionModificationEnd, "system/uidefinitionmodificationend"); - _LIT8(KUiSettingsModificationStart, "system/uisettingsmodificationstart"); - _LIT8(KUiSettingsModificationEnd, "system/uisettingsmodificationend"); */ - _LIT8(KRestartTriggerTimer, "system/restarttriggertimer" ); - _LIT8(KCancelTriggerTimer, "system/canceltriggertimer" ); - /*_LIT8(KNotifyFocus, "system/notifyfocus" ); */ _LIT8(KTryDisplayingMenu, "system/trydisplayingmenu"); _LIT8(KTryDisplayingListQueryDialog, "system/trydisplayinglistquerydialog"); _LIT8(KTryDisplayingStylusPopup, "system/trydisplayingstyluspopup"); _LIT8(KToggleWidgetsVisibilty, "system/togglewidgetsvisibilty"); - /*_LIT8(KStoreFocus, "system/storefocus"); - _LIT8(KRestoreFocus, "system/restorefocus");*/ _LIT8(KSetWallpaper, "system/setwallpaper"); _LIT8(KActivateTextEditor, "system/activatetexteditor"); _LIT8(KDeactivateTextEditor, "system/deactivatetexteditor"); @@ -502,11 +343,6 @@ _LIT8(KBlock, "block"); _LIT8(KNone, "none"); } -/* namespace focus - { - _LIT8(KSensitive, "sensitive"); - _LIT8(KNone, "none"); - }*/ _LIT8(KS60DisplayPriority, "_s60-display-priority"); _LIT8(KVisibility, "visibility"); namespace visibility @@ -515,12 +351,6 @@ _LIT8(KHidden, "hidden"); _LIT8(KBlank, "blank"); } -// _LIT8(KS60Orientation, "_s60-orientation"); -/* namespace s60_orientation - { - _LIT8(KVertical, "vertical"); - _LIT8(KHorizontal, "horizontal"); - }*/ _LIT8(KBlockProgression, "block-progression"); namespace block_progression { @@ -546,7 +376,7 @@ { _LIT8(KThin, "thin"); _LIT8(KMedium, "medium"); -// _LIT8(KThick, "thick"); + _LIT8(KThick, "thick"); } _LIT8(KBorderTopWidth, "border-top-width"); _LIT8(KBorderRightWidth, "border-right-width"); @@ -561,10 +391,8 @@ { _LIT8(KAbsolute, "absolute"); _LIT8(KStatic, "static"); -// _LIT8(KFixed, "fixed"); _LIT8(KRelative, "relative"); _LIT8(KFloating, "floating"); -// _LIT8(KInherit, "inherit"); } _LIT8(KTop, "top"); _LIT8(KRight, "right"); @@ -575,11 +403,14 @@ _LIT8(KMinHeight, "min-height"); _LIT8(KMaxHeight, "max-height"); _LIT8(KOverflow, "overflow"); -// _LIT8(KTextOverflowMode, "text-overflow-mode"); _LIT8(KZIndex, "z-index"); _LIT8(KAuto, "auto"); _LIT8(KAdaptive, "adaptive"); _LIT8(KAppearance, "appearance"); + namespace s60_focus_looping + { + _LIT8(KStop, "stop"); + } } }//style namespace appearance @@ -589,9 +420,8 @@ //Color and background properties _LIT8(KColor, "color"); _LIT8(KEffectsColor, "font-effects-color"); -// _LIT8(KHighlightColor, "highlight-color"); _LIT8(KBackGroundColor, "background-color"); - _LIT8(KFocusBackground, "focus-background"); + _LIT8(KFocusBackground, "focus-background"); _LIT8(KBackGroundImage, "background-image"); _LIT8(KBackGroundSize, "background-size"); _LIT8(KBackGroundRepeat, "background-repeat"); @@ -611,7 +441,6 @@ _LIT8(KRight, "right"); _LIT8(KTop, "top"); _LIT8(KBottom, "bottom"); -// _LIT8(KCenter, "center"); } // Border properties _LIT8(KBorderStyle, "border-style"); @@ -621,15 +450,8 @@ _LIT8(KBorderLeftStyle, "border-left-style"); namespace borderstyle { -// _LIT8(KNone, "none"); -// _LIT8(KHidden, "hidden"); _LIT8(KDotted, "dotted"); -// _LIT8(KDashed, "dashed"); _LIT8(KSolid, "solid"); -// _LIT8(KDouble, "double"); -// _LIT8(KDotDash, "dot-dash"); -// _LIT8(KDotDotDash, "dot-dot-dash"); -// _LIT8(KWave, "wave"); _LIT8(KGroove, "groove"); _LIT8(KRidge, "ridge"); _LIT8(KInset, "inset"); @@ -679,7 +501,7 @@ namespace textvalign { _LIT8( KAlignTop, "top"); -// _LIT8( KAlignCenter, "center"); + _LIT8( KAlignCenter, "center"); _LIT8( KAlignBottom, "bottom"); } _LIT8(KTextEffects, "font-effects"); @@ -696,14 +518,12 @@ namespace textoverflow { _LIT8(KClipMode, "clip"); -// _LIT8(KEllipsisMode, "ellipsis"); _LIT8(KWrapMode,"wrap"); _LIT8(KMaxLineAmount,"max-line-amount"); } _LIT8(KWhiteSpaceCollapse, "white-space-collapse"); namespace whitespace { -// _LIT8(KPreserve, "preserve"); _LIT8(KCollapse, "collapse"); _LIT8(KPreserveBreaks, "preserve-breaks"); _LIT8(KDiscard, "discard"); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/inc/xnviewmanager.h --- a/idlehomescreen/inc/xnviewmanager.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/inc/xnviewmanager.h Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,9 @@ // System includes #include +// User includes +#include "xnpropertysubscriber.h" + // Forward declarations class CXnUiEngine; class CXnComposer; @@ -82,7 +85,8 @@ * @lib xn3layoutengine.lib * @since S60 5.0 */ -NONSHARABLE_CLASS( CXnViewManager ) : public CBase +NONSHARABLE_CLASS( CXnViewManager ) : public CBase, + public MXnPropertyChangeObserver { public: /** @@ -115,6 +119,14 @@ */ void ConstructL(); +private: + // from MXnPropertyChangeObserver + + /** + * @see MXnPropertyChangeObserver + */ + void PropertyChangedL( const TUint32 aKey, const TInt aValue ); + public: // New functions @@ -145,6 +157,9 @@ void PluginDataL( RPointerArray< CXnPluginData >& aList, TBool aGlobal = EFalse ) const; + TInt PluginDataL( const TDesC8& aParentId, + RPointerArray< CXnPluginData >& aList ) const; + RPointerArray< CXnNode >& AppearanceNodes() const; CArrayPtrSeg< CXnResource >& Resources() const ; @@ -154,22 +169,21 @@ void ReloadUiL(); TInt LoadWidgetToPluginL( - CHsContentInfo& aContentInfo, + const CHsContentInfo& aContentInfo, CXnPluginData& aPluginData ); TInt UnloadWidgetFromPluginL( CXnPluginData& aPluginData, TBool aForce = EFalse ); TInt ReplaceWidgetToPluginL( - CHsContentInfo& aContentInfo, - CXnPluginData& aPluginData, - TBool aUseHsps = ETrue ); + const CHsContentInfo& aContentInfo, + CXnPluginData& aPluginData ); void ActivateNextViewL( TInt aEffectId = 0 ); void ActivatePreviousViewL( TInt aEffectId = 0 ); - TInt AddViewL( CHsContentInfo& aInfo ); + TInt AddViewL( const CHsContentInfo& aInfo ); void AddViewL( TInt aEffectId = 0 ); @@ -283,6 +297,12 @@ CXnUiEngine* iUiEngine; /** + * UI startup phase observer + * Own. + */ + CXnPropertySubscriber* iUiStartupPhase; + + /** * Comopser. * Own. */ @@ -332,19 +352,21 @@ RPointerArray< MXnViewObserver > iObservers; /** - * OOM system handler. Owned. + * OOM system handler. + * Own. */ CXnOomSysHandler* iOomSysHandler; + /** + * Timer for system stability. + * Own. + */ + CPeriodic* iStabilityTimer; + private: // Friend classes - friend class CXnViewAdapter; - - /** - * Timer for system stability. - */ - CPeriodic* iStabilityTimer; + friend class CXnViewAdapter; }; // Inline functions diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/group/ainatiui.mmp --- a/idlehomescreen/nativeuicontroller/group/ainatiui.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/group/ainatiui.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2006 - 2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -94,3 +94,4 @@ #ifdef RD_TACTILE_FEEDBACK LIBRARY touchfeedback.lib #endif +LIBRARY phonesettings.lib diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h --- a/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/inc/aidialogrenderer.h Fri Mar 12 15:41:49 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -19,8 +19,11 @@ #ifndef C_AIDIALOGRENDERER_H #define C_AIDIALOGRENDERER_H -// System incldues +// System includes #include +#include "ainativerenderer.h" +#include // for MPsetNetworkInfoObserver +#include // for MPsetNetworkSelect // User includes #include "ainativerenderer.h" @@ -28,6 +31,10 @@ // Forward declarations class CAknNoteDialog; class CHsContentPublisher; +class CPsetNetwork; +class CAknWaitDialog; +class CPsetContainer; +class CAknPopupList; namespace AiNativeUiController { @@ -39,7 +46,7 @@ * * @since S60 3.2 */ -NONSHARABLE_CLASS( CAiDialogRenderer ) : public CAiNativeRenderer +NONSHARABLE_CLASS( CAiDialogRenderer ) : public CAiNativeRenderer, public MPsetNetworkInfoObserver { public: @@ -54,6 +61,59 @@ void DoCleanL( CHsContentPublisher& aPlugin, TInt aContent ); void FocusObtainedL(); + + // from base class MPsetNetworkInfoObserver + + /** + * @@see MPsetNetworkInfoObserver::HandleNetworkInfoReceivedL + */ + void HandleNetworkInfoReceivedL( + const CNetworkInfoArray* aInfoArray, const TInt aResult ); + + /** + * @@see MPsetNetworkInfoObserver::HandleSearchingNetworksL + */ + void HandleSearchingNetworksL( TServiceRequest aRequest ); + + /** + * @@see MPsetNetworkInfoObserver::HandleRequestingSelectedNetworkL + */ + void HandleRequestingSelectedNetworkL( TBool aOngoing ); + + /** + * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL - not used + */ + void HandleNetworkChangedL( + const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo, + const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus, + const TInt aResult ); + + /** + * @@see MPsetNetworkInfoObserver::HandleNetworkErrorL + */ + void HandleNetworkErrorL( const TServiceRequest aRequest, + const TInt aError ); + + /** + * @@see MPsetNetworkInfoObserver::HandleCurrentNetworkInfoL - not used + */ + void HandleCurrentNetworkInfoL( + const MPsetNetworkSelect::TCurrentNetworkInfo& /* aCurrentInfo */, + const TInt /* aResult */ ) {}; + + /** + * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL - not used + */ + void HandleNetworkChangedL( + const MPsetNetworkSelect::TNetworkInfo& /* aCurrentInfo */, + const MPsetNetworkSelect::TCurrentNetworkStatus /* aStatus */, + const TInt /* aResult */ ) {}; + + /** + * @@see MPsetNetworkInfoObserver::HandleCallActivatedL + */ + void HandleCallActivatedL() {}; + private: @@ -66,6 +126,40 @@ */ void ShowDialogL(); + void ConstructL(); + + void PopulatePLMNListL(); + + /** + * Provides the network operator list. + */ + void NetworkListL(); + + /** + * Sets title to a popup list. + * @param aList pointer to list + * @param aTitleID resource ID of the title + */ + void SetTitleToPopupL( CAknPopupList& aList, TInt aTitleID ); + + /** + * Creates a waiting note (member variable). + * @param aDelayOff is the note shown immediately or not + */ + void CheckAndCreateDlgL( TBool aDelayOff ); + + /* + * Empties fetched network provider's list. + */ + void PurgeNetworkList(); + + /** + * Shows a requested note. + * @param aResourceId reource ID for note text + * @param aType type of note + */ + void ShowNoteL( TInt aResourceId, TInt aType ); + private: // data @@ -92,6 +186,25 @@ TInt iDialogId; #endif + + //PhoneSettings engine object + CPsetNetwork* iNetwork; + //PhoneSettings container + CPsetContainer* iSettingsContainer; + //Requesting note + CAknWaitDialog* iDlg; + //Array of networks + CNetworkInfoArray* iNetworkArray; + //Network selection list + CAknPopupList* iNetworkPopupList; + //Has the user selected a valid network + TBool iApprovedNetwork; + TBool iSearchForNetworksActive; + TBool iPLMNListPopulateShowIsHandling; + + // Resource index + TInt iRscIndex; + }; } // namespace AiNativeUiController diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/inc/aistatuspanel.h --- a/idlehomescreen/nativeuicontroller/inc/aistatuspanel.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/inc/aistatuspanel.h Fri Mar 12 15:41:49 2010 +0200 @@ -201,10 +201,14 @@ TInt iMaskHandle; /** - * + * Navidecorator observer */ MAknNaviDecoratorObserver* iNaviDecoratorObserver; + /** + * Flag to indicate wheter text is published to title pane + */ + TBool iTextInTitlePane; }; } // namespace AiNativeUiController diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/src/aidialogrenderer.cpp --- a/idlehomescreen/nativeuicontroller/src/aidialogrenderer.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/src/aidialogrenderer.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -1,5 +1,5 @@ /* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). +* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies). * All rights reserved. * This component and the accompanying materials are made available * under the terms of "Eclipse Public License v1.0" @@ -32,6 +32,54 @@ #include "aisecondarydisplayapi.h" #endif + +// AVKON headers +#include // for Note Wrappers +#include // for Popup menus +#include // for CAknWaitDialog +#include // for StringLoader +#include // for CTextListBoxModel +#include // for AknPopupListEmpty +#include // for BaflUtils + +// Phonesettings headers +#include // for CPsetContainer +#include // for CPsetNetwork +#include // for CPsetSAObserver +#include // for GSM-specific error messages + +#include // for resource IDs +#include // for KCRUidCoreApplicationUIs, TCoreAppUIsNetworkConnectionAllowed +#include + +const TInt KAIAlphaTagIconAdditionalChars = 5; +// Length of long network name. +const TInt KAIAlphaTagLongNameLength = 20; +// Length of short network name. +const TInt KAIAlphaTagShortNameLength = 10; + +// array granularity +const TInt KAINetworkInfoArrayGranularity = 10; + +// Error note type ID - for Net view internal usage only +const TInt KAIPPErrorNote = 5001; +// Confirmation note type ID - for Net view internal usage only +const TInt KAIPPConfirmationNote = 5002; +//Information note type ID - for Net view internal usage only +const TInt KAIPPInformationNote = 5003; + +const TInt KAIPLMNListPopupMenuItems = 3; + +// Some resources defined for GSNetworkPlugin are used +_LIT(KGSNetworkPluginResource, "z:\\resource\\GsNetworkPluginRsc.rsc"); + +enum TGSSoftKeys + { + EGSSoftkeyQuit = 1, + EGSSoftkeyEmpty + }; + + using namespace AiNativeUiController; // ======== MEMBER FUNCTIONS ======== @@ -44,6 +92,7 @@ { CAiDialogRenderer* self = new( ELeave ) CAiDialogRenderer; CleanupStack::PushL( self ); + self->ConstructL(); return self; } @@ -54,6 +103,45 @@ // CAiDialogRenderer::~CAiDialogRenderer() { + if ( FeatureManager::FeatureSupported( KFeatureIdFfManualSelectionPopulatedPlmnList ) ) + { + if( iRscIndex ) + { + CEikonEnv::Static()->DeleteResourceFile( iRscIndex ); + } + if ( iNetwork ) + { + if ( iSearchForNetworksActive ) + { + // Reset back to previously used network + iNetwork->ResetNetworkSearch(); + } + delete iNetwork; + } + + if ( iNetworkArray ) + { + iNetworkArray->Reset(); + } + delete iNetworkArray; + + if ( iDlg ) + { + delete iDlg; + } + if ( iNetworkPopupList ) + { + iNetworkPopupList->CancelPopup(); + } + + if ( iSettingsContainer ) + { + delete iSettingsContainer; + } + } + + FeatureManager::UnInitializeLib(); + delete iDialog; delete iText; } @@ -66,14 +154,36 @@ CAiDialogRenderer::CAiDialogRenderer() { } - -// ---------------------------------------------------------------------------- -// CAiDialogRenderer::DoPublishL() -// -// ---------------------------------------------------------------------------- -// -void CAiDialogRenderer::DoPublishL( CHsContentPublisher& aPlugin, - TInt aContent, TInt aResource, TInt /*aIndex*/ ) + +void CAiDialogRenderer::ConstructL() + { + FeatureManager::InitializeLibL(); + + if ( FeatureManager::FeatureSupported( KFeatureIdFfManualSelectionPopulatedPlmnList ) ) + { + iSettingsContainer = CPsetContainer::NewL(); + iNetwork = iSettingsContainer->CreateNetworkObjectL( *this ); + + iApprovedNetwork = EFalse; + CheckAndCreateDlgL( EFalse ); + iSearchForNetworksActive = EFalse; + iPLMNListPopulateShowIsHandling = EFalse; + + // Open the resource file. Assume that the resource is stored on the same + // drive the DLL is installed on. + TFileName file; + Dll::FileName( file ); + TParse parse; + parse.Set( KGSNetworkPluginResource, &file, NULL ); + file = parse.FullName(); + CEikonEnv* eikonEnv = CEikonEnv::Static(); + BaflUtils::NearestLanguageFile( eikonEnv->FsSession(), file ); + iRscIndex = eikonEnv->AddResourceFileL( file ); + } + } + +void CAiDialogRenderer::DoPublishL( CHsContentPublisher& aPlugin, + TInt aContent, TInt aResource, TInt /*aIndex*/ ) { const THsPublisherInfo& info( aPlugin.PublisherInfo() ); @@ -108,21 +218,42 @@ } if ( idleState == EPSAiForeground ) { - ShowDialogL(); + ShowDialogL(); } - break; } + + case EAiDeviceStatusContentNetRegStatus: + { + MPsetNetworkSelect::TSelectMode mode = + MPsetNetworkSelect::ENetSelectModeAutomatic; + + if ( iNetwork ) + { + iNetwork->GetNetworkSelectMode( mode ); + } + + if ( mode == MPsetNetworkSelect::ENetSelectModeManual ) + { + if ( aResource == EAiDeviceStatusResourceNetRegFail ) + { + PopulatePLMNListL(); + } + } + break; + } + + default: { User::Leave( KErrNotFound ); break; } - } + }; } else { - User::Leave( KErrNotFound ); + User::Leave( KErrNotFound ); } } @@ -193,4 +324,419 @@ } } +void CAiDialogRenderer::PopulatePLMNListL() + { + // Ignore any subsequent EAiDeviceStatusResourcePLMNListPopulateShow content while one is handling + if ( iPLMNListPopulateShowIsHandling ) + { + return; + } + + iPLMNListPopulateShowIsHandling = ETrue; + iSearchForNetworksActive = ETrue; + iNetwork->GetAvailableNetworksL(); + } + +// --------------------------------------------------------------------------- +// +// While request to find networks is processed +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::HandleSearchingNetworksL( + MPsetNetworkInfoObserver::TServiceRequest aRequest ) + { + // Create a network info array if doesn't exist + if ( !iNetworkArray ) + { + iNetworkArray = new ( ELeave ) + CNetworkInfoArray( KAINetworkInfoArrayGranularity ); + } + + if ( aRequest != MPsetNetworkInfoObserver::EServiceRequestNone ) + { + CheckAndCreateDlgL( EFalse ); + iSearchForNetworksActive = ETrue; + TInt res = iDlg->ExecuteLD( R_SEARCHING_NOTE ); + if ( res == EGSSoftkeyQuit ) + { + iNetwork->CancelProcess(); + iPLMNListPopulateShowIsHandling = EFalse; + } + } + else // If EServiceRequestNone received, hide the "Searching..." note + { + delete iDlg; + iDlg = NULL; + } + } + +// --------------------------------------------------------------------------- +// +// Handles network info +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::HandleNetworkInfoReceivedL( + const CNetworkInfoArray* aInfoArray, const TInt /* aResult */ ) + { + const TInt itemsCount = aInfoArray->Count(); + + // First delete old ones + iNetworkArray->Delete( 0, iNetworkArray->Count() ); + + // Then insert found networks + for ( TInt i = 0; i < itemsCount; i++ ) + { + MPsetNetworkSelect::TNetworkInfo info = aInfoArray->At( i ); + iNetworkArray->InsertL( i, info ); + } + + NetworkListL(); // After search complete, show results + } + +// --------------------------------------------------------------------------- +// +// While request to change network is processed, a note is shown +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::HandleRequestingSelectedNetworkL( TBool aOngoing ) + { + if ( aOngoing ) + { + CheckAndCreateDlgL( ETrue ); + + if ( iDlg->ExecuteLD( R_REQUESTING_NOTE ) == EGSSoftkeyQuit ) + { + iNetwork->CancelProcess(); + + CAknNoteDialog* dlg = new ( ELeave ) CAknNoteDialog( + CAknNoteDialog::EConfirmationTone, + CAknNoteDialog::EShortTimeout ); + dlg->ExecuteLD( R_REGISTRATION_INTERRUPTED ); + iApprovedNetwork = EFalse; + iPLMNListPopulateShowIsHandling = EFalse; + } + } + else + { + delete iDlg; + iDlg = NULL; + } + } + +// --------------------------------------------------------------------------- +// +// Handle network change +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::HandleNetworkChangedL( + const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo, + const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus, + const TInt aResult ) + { + switch ( aStatus ) + { + case RMobilePhone::ERegisteredOnHomeNetwork: + { + ShowNoteL( R_HOME_NETWORK_SELECTED, KAIPPConfirmationNote ); + PurgeNetworkList(); + break; + } + case RMobilePhone::ERegisteredRoaming: + { + HBufC* stringholder = NULL; + if ( aCurrentInfo.iLongName.Length() > 0 && + aCurrentInfo.iLongName.Length() <= + MPsetNetworkSelect::ENetLongNameSize ) + { + stringholder = StringLoader::LoadLC( R_NETSL_NETWORKSELECTED, + aCurrentInfo.iLongName ); + } + else if (aCurrentInfo.iShortName.Length() > 0 && + aCurrentInfo.iShortName.Length() <= + MPsetNetworkSelect::ENetShortNameSize ) + { + stringholder = StringLoader::LoadLC( R_NETSL_NETWORKSELECTED, + aCurrentInfo.iShortName ); + } + + CAknConfirmationNote* note = new ( ELeave ) CAknConfirmationNote( ETrue ); + if ( stringholder ) + { + note->ExecuteLD( *stringholder ); + CleanupStack::PopAndDestroy( stringholder ); + } + + //After list has been used, clear it. + PurgeNetworkList(); + break; + } + case RMobilePhone::ERegistrationUnknown: + case RMobilePhone::ENotRegisteredNoService: + case RMobilePhone::ENotRegisteredEmergencyOnly: + case RMobilePhone::ENotRegisteredSearching: + case RMobilePhone::ERegisteredBusy: + case RMobilePhone::ERegistrationDenied: + default: + break; + } + + iPLMNListPopulateShowIsHandling = EFalse; + iSearchForNetworksActive = EFalse; + } + +// --------------------------------------------------------------------------- +// +// Handles errors. +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::HandleNetworkErrorL( + const MPsetNetworkInfoObserver::TServiceRequest aRequest, + const TInt aError ) + { + TInt resourceTxt = KErrNone; + + switch ( aRequest ) + { + case MPsetNetworkInfoObserver::EServiceRequestGetNetworkInfo: + { + iNetwork->CancelProcess(); + iApprovedNetwork = EFalse; + break; + } + case MPsetNetworkInfoObserver::EServiceRequestSetNetwork: + { + } + default: + { + break; + } + } + + TBool ignore = EFalse; + + switch ( aError ) + { + case KErrGsmNetCauseCallActive: + { + ignore = ETrue; // Do not show an error + break; + } + case KErrGsm0707NoNetworkService: + { + resourceTxt = R_NO_NETWORK_FOUND; + break; + } + case KErrGsmOfflineOpNotAllowed: + { + resourceTxt = R_OFFLINE_MODE; + break; + } + default: + { + resourceTxt = R_NO_NETWORK_ACCESS; + break; + } + } + + if ( !ignore ) + { + ShowNoteL( resourceTxt, KAIPPErrorNote ); + iApprovedNetwork = EFalse; + } + } + +// --------------------------------------------------------------------------- +// +// Creates list of Network providers +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::NetworkListL() + { + //if no net items were found, do not show list + if ( iNetworkArray->Count() > 0 ) + { + while ( !iApprovedNetwork ) + { + AknPopupListEmpty* list; + list = new ( ELeave ) CAknSinglePopupMenuStyleListBox; + CleanupStack::PushL( list ); + + if ( iNetworkPopupList ) + { + iNetworkPopupList->CancelPopup(); + iNetworkPopupList = NULL; + } // + + iNetworkPopupList = + CAknPopupList::NewL( list, R_AVKON_SOFTKEYS_OK_CANCEL ); + + list->ConstructL( iNetworkPopupList, + CEikListBox::ELeftDownInViewRect ); + list->CreateScrollBarFrameL( ETrue ); + list->ScrollBarFrame()->SetScrollBarVisibilityL( + CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto ); + + // Fill in the list texts + CDesCArrayFlat* items = + new ( ELeave ) CDesCArrayFlat( KAIPLMNListPopupMenuItems ); + CleanupStack::PushL( items ); + + const TInt itemsCount = iNetworkArray->Count(); + + for ( TInt loop = 0; loop < itemsCount; loop++ ) + { + HBufC* insertString = + HBufC::NewLC( + KAIAlphaTagLongNameLength + KAIAlphaTagIconAdditionalChars ); + MPsetNetworkSelect::TNetworkInfo info = + iNetworkArray->At( loop ); + + if ( info.iLongName.Length() <= 0 || + info.iLongName.Length() > KAIAlphaTagLongNameLength ) + { + // Short name received + if ( info.iShortName.Length() > 0 && + info.iShortName.Length() <= KAIAlphaTagShortNameLength ) + { + insertString->Des().Append( info.iShortName ); + } // + } // + // Long name received + else + { + insertString->Des().Append( info.iLongName ); + } // + + items->AppendL( *insertString ); + CleanupStack::PopAndDestroy(); + } + + CTextListBoxModel* model = list->Model(); + model->SetItemTextArray( items ); + model->SetOwnershipType( ELbmOwnsItemArray ); + CleanupStack::Pop( items ); // Listbox model now owns this + + // Set title for list + SetTitleToPopupL( *iNetworkPopupList, R_NETSL_FOUNDOPERATORS ); + + TInt res = 0; + // Show the PLMN list + if ( items->Count() ) + { + res = iNetworkPopupList->ExecuteLD(); + } // + + iNetworkPopupList = NULL; + iApprovedNetwork = ETrue; // User might want to quit + TInt selection = list->CurrentItemIndex(); + + CleanupStack::PopAndDestroy( list ); + + if ( res ) + { + MPsetNetworkSelect::TNetworkInfo info = + iNetworkArray->At( selection ); + info.iMode = MPsetNetworkSelect::ENetSelectModeManual; + iNetwork->SelectNetworkL( info ); + } // + else // User selected "Cancel" + { + // Reset back to previously used network + iNetwork->ResetNetworkSearch(); + iSearchForNetworksActive = EFalse; + // After list has been used, clear it + PurgeNetworkList(); + iPLMNListPopulateShowIsHandling = EFalse; + } // + } + } + + iApprovedNetwork = EFalse; // Initialize before new search + } + +// --------------------------------------------------------------------------- +// +// Creates dialog, if it is does not exist yet. +// +// --------------------------------------------------------------------------- +// +void CAiDialogRenderer::CheckAndCreateDlgL( TBool aDelayOff ) + { + if ( !iDlg ) + { + iDlg = new ( ELeave ) CAknWaitDialog( + reinterpret_cast ( &iDlg ), aDelayOff ); + } + } + +// --------------------------------------------------------------------------- +// +// Sets a title to a given popup list. +// +// --------------------------------------------------------------------------- +void CAiDialogRenderer::SetTitleToPopupL( CAknPopupList& aList, TInt aTitleID ) + { + HBufC* text = StringLoader::LoadLC( aTitleID ); + + aList.SetTitleL( *text ); + + CleanupStack::PopAndDestroy( text ); + text = NULL; + } + +// --------------------------------------------------------------------------- +// +// Shows note. +// +// --------------------------------------------------------------------------- +// +void CAiDialogRenderer::ShowNoteL( TInt aResourceId, TInt aType ) + { + HBufC* string = StringLoader::LoadLC( aResourceId ); + + switch ( aType ) + { + case KAIPPErrorNote: + { + CAknErrorNote* note = new ( ELeave ) CAknErrorNote ( ETrue ); + note->ExecuteLD( *string ); + break; + } + case KAIPPConfirmationNote: + { + CAknConfirmationNote* note = + new ( ELeave ) CAknConfirmationNote( ETrue ); + note->ExecuteLD( *string ); + break; + } + case KAIPPInformationNote: + { + CAknInformationNote* note = + new ( ELeave ) CAknInformationNote( ETrue ); + note->ExecuteLD( *string ); + break; + } + default: + break; + } + + CleanupStack::PopAndDestroy( string ); + } + +// --------------------------------------------------------------------------- +// +// Empties fetched network provider's list +// +// --------------------------------------------------------------------------- +// +void CAiDialogRenderer::PurgeNetworkList() + { + if ( iNetworkArray ) + { + iNetworkArray->Reset(); + delete iNetworkArray; + iNetworkArray = NULL; + } + } + // End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/src/aistatuspanel.cpp --- a/idlehomescreen/nativeuicontroller/src/aistatuspanel.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/src/aistatuspanel.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -158,6 +158,9 @@ if( !iTitlePaneText ) { __PRINTS("XAI: Rendering text to title pane - invalid text, aborting"); + + iTextInTitlePane = EFalse; + return; } @@ -173,6 +176,9 @@ iTitlePaneText = NULL; UpdatePhoneDisplayInfo( displayText ); + + iTextInTitlePane = ETrue; + __PRINTS("XAI: Rendering text to title pane - done"); } @@ -183,6 +189,7 @@ if( iBitmapHandle == KErrNotFound ) { __PRINTS("XAI: Rendering bitmap to title pane - invalid bitmap handle, aborting"); + return; } @@ -275,6 +282,9 @@ // undetermined stuff could occurr iBitmapHandle = KErrNotFound; iMaskHandle = KErrNotFound; + + iTextInTitlePane = EFalse; + __PRINTS("XAI: Rendering bitmap to title pane - done"); } @@ -386,7 +396,7 @@ void CAiStatusPanel::StopTitlePaneScrollingL() { // stop scrolling - if( iTitlePane->Text() ) + if( iTextInTitlePane && iTitlePane->Text() ) { iTitlePane->SetTextL( *iTitlePane->Text(), EFalse ); } @@ -395,7 +405,7 @@ void CAiStatusPanel::ScrollTitlePaneTextL() { // start scrolling - if( iTitlePane->Text() ) + if ( iTextInTitlePane && iTitlePane->Text() ) { iTitlePane->SetTextL( *iTitlePane->Text(), ETrue ); } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/src/appui.cpp --- a/idlehomescreen/nativeuicontroller/src/appui.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/src/appui.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -197,18 +197,13 @@ iFwEventHandler = iUiCtl->FwEventHandler(); - TAiIdleKeySoundConfig keySoundConfig; - keySoundConfig.iKeySounds = KeySounds(); - keySoundConfig.iContextResId = R_NATIVEUI_DEFAULT_SKEY_LIST; - iIdleIntegration = CAiUiIdleIntegration::NewL - ( *iEikonEnv, keySoundConfig, iFwEventHandler ); - iUiCtl->SetAppUi( this ); if( iFwEventHandler ) { iFwEventHandler->AppEnvReadyL(); } + TBool isFullScreen = EFalse; //Get pointer to status pane CEikStatusPane* statusPane = static_cast( iEikonEnv->EikAppUi() )->StatusPane(); @@ -271,11 +266,12 @@ CCenRepNotifyHandler::EIntKey, KAiStatusPaneLayout ); iNotifyHandler->StartListeningL(); - - if( iFwEventHandler ) - { - iFwEventHandler->HandleUiReadyEventL(*iUiCtl); - } + + TAiIdleKeySoundConfig keySoundConfig; + keySoundConfig.iKeySounds = KeySounds(); + keySoundConfig.iContextResId = R_NATIVEUI_DEFAULT_SKEY_LIST; + iIdleIntegration = CAiUiIdleIntegration::NewL + ( *iEikonEnv, keySoundConfig, iFwEventHandler ); // Check powerkey availability FeatureManager::InitializeLibL(); @@ -625,6 +621,11 @@ { iStanbyContainerIF->StartL(); } + + if( iFwEventHandler ) + { + iFwEventHandler->HandleUiReadyEventL( *iUiCtl ); + } } void CAppUi::HandleNotifyInt( TUint32 aId, TInt aNewValue ) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/nativeuicontroller/src/nativeuicontroller.cpp --- a/idlehomescreen/nativeuicontroller/src/nativeuicontroller.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/nativeuicontroller/src/nativeuicontroller.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -16,6 +16,7 @@ */ // System includes +#include #include #include #include @@ -455,9 +456,7 @@ iPlugins.Append( profile ); - iFwStateHandler->LoadPlugin( profile, EAiFwSystemStartup ); - - TRAP_IGNORE( iAppUi->StartL() ); + iFwStateHandler->LoadPlugin( profile, EAiFwSystemStartup ); } // We need to load the resource file here if we are not main controller. @@ -624,13 +623,13 @@ TInt32 settingId = 0; TInt err = KErrNone; - TBool settingFound = EFalse; + //TBool settingFound = EFalse; CRepository *settingsRepository = CRepository::NewLC( TUid::Uid( KCRUidActiveIdleLV ) ); while ( moreSettings ) { - settingFound = EFalse; + //settingFound = EFalse; pluginIdPtr.Zero(); settingValuePtr.Zero(); @@ -674,7 +673,7 @@ if ( item.Key() == settingId && item.PublisherId() == aPublisherInfo.Uid() ) { item.SetValueL( settingValuePtr, EFalse ); - settingFound = ETrue; + //settingFound = ETrue; break; } } @@ -724,9 +723,18 @@ // void CNativeUiController::ActivateUI() { - if( iAppUi ) + if( iAppUi && iRunningAsMain ) { - TRAP_IGNORE( iAppUi->StartL() ); + TRAP_IGNORE( iAppUi->StartL() ); + + TInt value( EIdlePhase1Ok ); + + RProperty::Get( KPSUidStartup, KPSIdlePhase1Ok, value ); + + if ( value == EIdlePhase1NOK ) + { + RProperty::Set( KPSUidStartup, KPSIdlePhase1Ok, EIdlePhase1Ok ); + } } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/conf/widgetmanager.confml Binary file idlehomescreen/widgetmanager/conf/widgetmanager.confml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/conf/widgetmanager_20026F53.crml Binary file idlehomescreen/widgetmanager/conf/widgetmanager_20026F53.crml has changed diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/data/widgetmanagerview.rss --- a/idlehomescreen/widgetmanager/data/widgetmanagerview.rss Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/data/widgetmanagerview.rss Fri Mar 12 15:41:49 2010 +0200 @@ -23,7 +23,6 @@ #include #include #include -#include #include #include "widgetmanager.hrh" diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/group/widgetmanager.mmp --- a/idlehomescreen/widgetmanager/group/widgetmanager.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/group/widgetmanager.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -53,6 +53,7 @@ SOURCE wmconfiguration.cpp SOURCE wminstaller.cpp SOURCE wmprocessmonitor.cpp +SOURCE wmwidgetorderdata.cpp SOURCEPATH ../data START RESOURCE 20026F53.rss diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmconfiguration.h --- a/idlehomescreen/widgetmanager/inc/wmconfiguration.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmconfiguration.h Fri Mar 12 15:41:49 2010 +0200 @@ -52,21 +52,7 @@ void ConstructL(); public: // API - - /** - * portal button methods. This - along with the parameter - - * represents the action that the portal button is configured - * to do when pressed. The portal button itself should contain - * the execution code itself. - */ - enum TMethod - { - ENone = 0, // no method - EHttp, // open browser to a certain page - EWidget, // open given widget with params - EApplication // launch an application - }; - + /** * Number of portal buttons (1 or more) */ @@ -107,7 +93,8 @@ void LoadConfigurationL(); TInt FindCorrectLanguageId(); - HBufC* ReadParameterL( TInt aKey ); + HBufC* ReadDescParameterL( TInt aKey ); + void ReadIntParameter( TInt aKey, TInt32& aValue ); HBufC* ReadLocalisedParameterL( TInt aOffset ); void IndexConversion( TInt& aIndex ); @@ -140,20 +127,14 @@ HBufC* iOviButtonIcon; /** - * OVI store button browser Url - * (browser is used if OVI client is not working) - */ - HBufC* iOviButtonUrl; - - /** * OVI store button widget client param */ HBufC* iOviStoreClientParam; /** - * OVI store button widget bundle ID + * OVI store laucher ui */ - HBufC* iOviStoreBundleId; + TUid iOviStoreUid; /** * OPERATOR button text diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmcrkeys.h --- a/idlehomescreen/widgetmanager/inc/wmcrkeys.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmcrkeys.h Fri Mar 12 15:41:49 2010 +0200 @@ -26,34 +26,30 @@ // ************************************************************ // LOCALISED parameters start here -// Key Id's from 0x1 to 0x28 are reserved for languages. +// Key Id's from 0x1 to 0x1E are reserved for languages. // LangId_0 0x1 -// OviStoreBrowserUrl_0 0x2 -// OperatorUrl_0 0x3 -// OperatorButtonText_0 0x4 +// OperatorUrl_0 0x2 +// OperatorButtonText_0 0x3 // ... -// LangId_1 0x5 +// LangId_1 0x4 // ... -// LangId_9 0x25 -// OviStoreBrowserUrl_9 0x26 -// OperatorUrl_9 0x27 -// OperatorButtonText_9 0x28 +// LangId_9 0x1C +// OperatorUrl_9 0x1D +// OperatorButtonText_9 0x1E // ************************************************************ /** localised set #0, language ID */ const TUint32 KLangId0 = 0x1; -/** localised set #0, Ovi store browser URL */ -const TUint32 KOviStoreBrowserUrl0 = 0x2; /** localised set #0, Operator button URL */ -const TUint32 KOperatorButtonUrl0 = 0x3; +const TUint32 KOperatorButtonUrl0 = 0x2; /** localised set #0, Operator button text */ -const TUint32 KOperatorButtonText0 = 0x4; +const TUint32 KOperatorButtonText0 = 0x3; /** localised set #1, language ID */ -const TUint32 KLangId1 = 0x5; +const TUint32 KLangId1 = 0x4; /** localised set #9, language ID */ -const TUint32 KLangId9 = 0x25; +const TUint32 KLangId9 = 0x1C; // ************************************************************ @@ -61,13 +57,13 @@ // ************************************************************ /** Key to Ovi Store Client param */ -const TUint32 KOviStoreClientParam = 0x29; +const TUint32 KOviStoreClientParam = 0x1F; /** Key to Operator button icon */ -const TUint32 KOperatorButtonIcon = 0x2A; +const TUint32 KOperatorButtonIcon = 0x20; -/** Key to Ovi Store client BundleId */ -const TUint32 KOviStoreBundleId = 0x2B; +/** Key to Ovi Store client Uid */ +const TUint32 KOviStoreUid = 0x21; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmeffectmanager.h --- a/idlehomescreen/widgetmanager/inc/wmeffectmanager.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmeffectmanager.h Fri Mar 12 15:41:49 2010 +0200 @@ -25,8 +25,8 @@ class CCoeEnv; // CONSTANTS // Effects -const TInt KAppStartCommonDefaultStyle = 3; -const TInt KAppExitCommonDefaultStyle = 5; +const TInt KAppStartEffectStyle = 1007; +const TInt KAppExitEffectStyle = 1008; /** * Struct which holds needed info of effect. diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmimageconverter.h --- a/idlehomescreen/widgetmanager/inc/wmimageconverter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmimageconverter.h Fri Mar 12 15:41:49 2010 +0200 @@ -166,6 +166,11 @@ const TDesC& aIconStr ); private: + + TBool DoesScaleBitmapUseFallBack( CFbsBitmap* aSrcBitmap ); + void ScaleBitmapL( const TSize& aSize, + CFbsBitmap* aTrgBitmap, + CFbsBitmap* aSrcBitmap ); void ScaleBitmap( TInt aWidth, TInt aHeight ); void ScaleMask( TInt aWidth, TInt aHeight ); void CreateIconFromUidL( const TUid& aUid ); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wminstaller.h --- a/idlehomescreen/widgetmanager/inc/wminstaller.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wminstaller.h Fri Mar 12 15:41:49 2010 +0200 @@ -103,6 +103,9 @@ * wrt widget that is currently been uninstalled */ TUid iUid; + + + HBufC8* iMime; }; #endif // __WMPLUGIN_ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmlistbox.h --- a/idlehomescreen/widgetmanager/inc/wmlistbox.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmlistbox.h Fri Mar 12 15:41:49 2010 +0200 @@ -32,6 +32,7 @@ #include #include "wmwidgetdataobserver.h" #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" // FORWARD DECLARATIONS class CWmListBox; @@ -117,27 +118,6 @@ * pointer to the listbox (not owned) */ CWmListBox* iListBox; - - - /** - * add-button colored bitmap (default color) - */ - CFbsBitmap* iAddWidgetBtnImage; - - /** - * add-button mask - */ - CFbsBitmap* iAddWidgetBtnMask; - - /** - * add-button colored bitmap (highlighted color) - */ - CFbsBitmap* iAddWidgetBtnHighlightImage; - - /** - * add-button mask - */ - CFbsBitmap* iAddWidgetBtnHighlightMask; /** * default logo (when widget does not have one) bitmap @@ -272,11 +252,11 @@ }; /** - * sets the list sort order + * Sorts the listbox's visible array * * @param aOrder sort order */ - void SetSortOrderL( TSortOrder aOrder ); + void DoSortToVisibleArray( TSortOrder aOrder ); /** * Responds to layout switched. @@ -295,6 +275,28 @@ */ TSize LogoSize(); + /** + * gets the constant widget order data array + */ + inline const ROrderArray& OrderDataArray(); + + /** + * Sorts the order array + * + * @param aOrder sort order + */ + void DoSortToOrderData( TSortOrder aOrder ); + + /** + * Adds order data to array + */ + void AddOrderDataL( CWmWidgetOrderData* aOrderData ); + + /* + * Returns orderdata object by index + */ + CWmWidgetOrderData* OrderData( TInt aItemIndex ); + private: // from CEikTextListBox /** * Creates the item drawer. @@ -338,7 +340,17 @@ const CCoeControl* aParent, TInt aFlags ); - +private: + /** + * linear order for sorting, depending on the sort type being used + */ + TLinearOrder SortOrder( TSortOrder aOrder ); + + /** + * linear order for sorting, depending on the sort type being used + */ + TLinearOrder SortOrderToOrderData( TSortOrder aOrder ); + protected: // from MWmWidgetDataObserver /** @@ -348,13 +360,6 @@ */ void HandleWidgetDataChanged( CWmWidgetData* aWidgetData ); -private: // own methods - - /** - * linear order for sorting, depending on the sort type being used - */ - TLinearOrder SortOrder( TSortOrder aOrder ); - private: /** @@ -365,7 +370,7 @@ /** * array of widget data objects (the list model) */ - RWidgetDataValues iWidgetDatas; + RWidgetDataValues iVisibleWidgetArray; /** * the currently active item ADD button's rectangle, for push recognition @@ -378,7 +383,12 @@ TBool iFindPaneIsVisible; /** size of logo rect in list item */ - TSize iLogoSize; + TSize iLogoSize; + + /** + * array of widget order objects + */ + ROrderArray iOrderDataArray; }; #include "wmlistbox.inl" diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmlistbox.inl --- a/idlehomescreen/widgetmanager/inc/wmlistbox.inl Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmlistbox.inl Fri Mar 12 15:41:49 2010 +0200 @@ -33,12 +33,15 @@ * @return count of widget data array */ inline TInt CWmListBox::WidgetDataCount() - { return iWidgetDatas.Count(); } + { return iVisibleWidgetArray.Count(); } /** * gets the constant widget data array */ inline const RWidgetDataValues& CWmListBox::WidgetDataArray() - { return iWidgetDatas; } + { return iVisibleWidgetArray; } + inline const ROrderArray& CWmListBox::OrderDataArray() + { return iOrderDataArray; } + #endif /* WMLISTBOX_INL_ */ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmmaincontainer.h --- a/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Fri Mar 12 15:41:49 2010 +0200 @@ -148,7 +148,7 @@ /** * executes findbox activation */ - void ActivateFindPaneL(); + void ActivateFindPaneL( TBool aActivateAdabtive = EFalse ); /** * executes findbox deactivation @@ -381,6 +381,9 @@ */ CWmConfiguration* iConfiguration; +#ifdef _WM_UNIT_TEST + friend class CWmUnitTest; +#endif }; #endif // WMMAINCONTAINER_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmpersistentwidgetorder.h --- a/idlehomescreen/widgetmanager/inc/wmpersistentwidgetorder.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmpersistentwidgetorder.h Fri Mar 12 15:41:49 2010 +0200 @@ -22,6 +22,7 @@ // INCLUDES #include #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" // FORWARD DECLARATIONS class RFs; @@ -66,7 +67,7 @@ * The instance can now be used to sort widget data. */ void LoadL(); - + /** * Stores a sorted array of WmWidgetData types. Note that * the order will be directly stored and a copy will not @@ -75,7 +76,7 @@ * * @param aArray the array of widget daya types */ - void StoreL( const RWidgetDataValues& aArray ); + void StoreL( const ROrderArray& aArray ); /** * Retrieves an index of given widget data object within the list. @@ -89,6 +90,17 @@ TInt IndexOf( const CWmWidgetData& aWidgetData ) const; /** + * Retrieves an index of given widget order object within the order list. + * This index can be used to sort and organise. Note that LoadL() + * must be used prior to calling this method, and before that + * there must be something persisted. + * + * @param aWidgetOrder data to seek index of in the sorted order + * @return the index found, or KErrNotFound if widget is new + */ + TInt IndexOf( const CWmWidgetOrderData& aWidgetOrder ) const; + + /** * checks if the persistent widget order is empty. In this case it does * not make any sense to use the object to sort anything. * Note that before loading the object is always empty. @@ -121,6 +133,9 @@ /** compares a tag agains a widget data */ TBool Matches( const CWmWidgetData& aWidgetData ) const; + /** compares a tag agains a widget order */ + TBool Matches( const CWmWidgetOrderData& aWidgetOrder ) const; + /** widget uid */ TInt32 iUid; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmplugin.h --- a/idlehomescreen/widgetmanager/inc/wmplugin.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmplugin.h Fri Mar 12 15:41:49 2010 +0200 @@ -230,6 +230,10 @@ * Handles installation */ CWmInstaller* iWmInstaller; + +#ifdef _WM_UNIT_TEST + friend class CWmUnitTest; +#endif }; #endif // __WMPLUGIN_ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmportalbutton.h --- a/idlehomescreen/widgetmanager/inc/wmportalbutton.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmportalbutton.h Fri Mar 12 15:41:49 2010 +0200 @@ -83,6 +83,11 @@ /** Observes the button's own activity */ void HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType ); +protected: // from CCoeControl + + /** Handles pointer events. */ + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + protected: // Constructors /** Constructor for performing 1st stage construction */ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h --- a/idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmwidgetloaderao.h Fri Mar 12 15:41:49 2010 +0200 @@ -100,13 +100,16 @@ * adds a widget data entry to iWidgetsList * takes ownership of aContentInfo */ - void AddWidgetDataL( CHsContentInfo* aContentInfo ); + void AddWidgetDataL( CHsContentInfo* aContentInfo, TInt& aCount ); /** * cleanup resources allocated runing one single run */ void Cleanup(); + /** Converts uid to TUid from TDesC8 */ + TUid UidFromString( const TDesC8& aUidString ) const; + private: // data /** reference to the widget manager root */ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmwidgetorderdata.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/widgetmanager/inc/wmwidgetorderdata.h Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,118 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* CWmWidgetOrderData declaration +* +*/ + + +#ifndef WMWIDGETORDERDATA_H +#define WMWIDGETORDERDATA_H + +// INCLUDES +#include +#include + +// FORWARD DECLARATIONS +class CWmPersistentWidgetOrder; + + +// CLASS DECLARATION +/** + * CWmWidgetOrderData + */ +NONSHARABLE_CLASS( CWmWidgetOrderData ) + : public CBase + { + +public: // constructions + /** + * @param aPublisherId + * @param aUid + * @param aUid + * @param aPersistentWidgetOrder + */ + static CWmWidgetOrderData* NewL( + const TDesC& aPublisherId, + const TUid aUid, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ); + + static CWmWidgetOrderData* NewLC( + const TDesC& aPublisherId, + const TUid aUid, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ); + + /** Destructor. */ + ~CWmWidgetOrderData(); + +private: // private construction + /** Constructor for performing 1st stage construction */ + CWmWidgetOrderData( const TUid aUid ); + + /** 2nd phase constructor */ + void ConstructL( + const TDesC& aPublisherId, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ); + +public: + + /** Returns publisherId */ + const TDesC& PublisherId() const; + + /** Returns Uid */ + const TUid Uid() const; + + /** Returns Name */ + const TDesC& Name() const; + + /** comparator function for sort by name (compare two names) */ + static TInt CompareByName( + const CWmWidgetOrderData& aDataOne, + const CWmWidgetOrderData& aDataTwo ); + + /** comparator function for sorting by stored order */ + static TInt CompareByPersistentWidgetOrder( + const CWmWidgetOrderData& aDataOne, + const CWmWidgetOrderData& aDataTwo ); + + /** compare given values to member. Returns ETrue if matches*/ + TBool EqualsTo( const TUid aUid, const TDesC& aPublisherId ); + + /** set persistentorder data*/ + void SetPersistentWidgetOrder( + CWmPersistentWidgetOrder* aPersistentWidgetOrder ); + + /** Updates name if param aName is different than iName */ + void UpdateNameL( const TDesC& aName ); + +private: // data members + /** uid */ + TUid iUid; + + /** publisherId */ + HBufC* iPublisherId; + + /** Name */ + HBufC* iName; + + /** persistent order of widgets (used in sorting) */ + const CWmPersistentWidgetOrder* iPersistentWidgetOrder; + }; + +typedef RPointerArray ROrderArray; + +#endif // WMWIDGETORDERDATA_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/sis/Create_update_sisx.bat --- a/idlehomescreen/widgetmanager/sis/Create_update_sisx.bat Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/sis/Create_update_sisx.bat Fri Mar 12 15:41:49 2010 +0200 @@ -23,9 +23,9 @@ rem Create wm sis&sisx files makesis widgetmanager_udeb.pkg -signsis widgetmanager_udeb.SIS widgetmanager_udeb.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key +signsis widgetmanager_udeb.SIS widgetmanager_udeb.SISX ..\internal\cert\Nokia_RnDCert_02.der ..\internal\cert\Nokia_RnDCert_02.key makesis widgetmanager_urel.pkg -signsis widgetmanager_urel.SIS widgetmanager_urel.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key +signsis widgetmanager_urel.SIS widgetmanager_urel.SISX ..\internal\cert\Nokia_RnDCert_02.der ..\internal\cert\Nokia_RnDCert_02.key rem Create wm stubsis file makesis -s widgetmanager_stub.pkg diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmconfiguration.cpp --- a/idlehomescreen/widgetmanager/src/wmconfiguration.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmconfiguration.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -30,7 +30,6 @@ // some constants regarging the central repository localised section. // these will ensure CR localisation section compatibility even if // new strings are added -const TInt KLangOffsetOviStoreUrl = KOviStoreBrowserUrl0 - KLangId0; const TInt KLangOffsetOperatorUrl = KOperatorButtonUrl0 - KLangId0; const TInt KLangOffsetOperatorText = KOperatorButtonText0 - KLangId0; const TInt KLangGroupSize = KLangId1 - KLangId0; @@ -60,11 +59,10 @@ : iResourceLoader( aResourceLoader ) { iRepository = NULL; - iOviStoreBundleId = NULL; + iOviStoreUid = KNullUid; iOviStoreClientParam = NULL; iOviButtonTitle = NULL; iOviButtonIcon = NULL; - iOviButtonUrl = NULL; iOperatorButtonTitle = NULL; iOperatorButtonIcon = NULL; iOperatorButtonUrl = NULL; @@ -77,11 +75,9 @@ CWmConfiguration::~CWmConfiguration() { delete iRepository; - delete iOviStoreBundleId; delete iOviStoreClientParam; delete iOviButtonTitle; delete iOviButtonIcon; - delete iOviButtonUrl; delete iOperatorButtonTitle; delete iOperatorButtonIcon; delete iOperatorButtonUrl; @@ -123,18 +119,17 @@ TUid::Uid( KCrWidgetManagerm ) ); // read fixed parameters - iOviStoreBundleId = ReadParameterL( KOviStoreBundleId ); - iOviStoreClientParam = ReadParameterL( KOviStoreClientParam ); + ReadIntParameter( KOviStoreUid, iOviStoreUid.iUid ); + iOviStoreClientParam = ReadDescParameterL( KOviStoreClientParam ); // determine language and read localised parameters iLanguageIndex = FindCorrectLanguageId(); - iOviButtonUrl = ReadLocalisedParameterL( KLangOffsetOviStoreUrl ); iOperatorButtonTitle = ReadLocalisedParameterL( KLangOffsetOperatorText ); iOperatorButtonUrl = ReadLocalisedParameterL( KLangOffsetOperatorUrl ); if ( iOperatorButtonUrl && iOperatorButtonUrl->Length() > 0 ) { // construct the operator button icon. - iOperatorButtonIcon = ReadParameterL( KOperatorButtonIcon ); + iOperatorButtonIcon = ReadDescParameterL( KOperatorButtonIcon ); } delete iRepository; @@ -178,10 +173,10 @@ } // --------------------------------------------------------- -// CWmConfiguration::ReadParameterL +// CWmConfiguration::ReadDescParameterL // --------------------------------------------------------- // -HBufC* CWmConfiguration::ReadParameterL( TInt aKey ) +HBufC* CWmConfiguration::ReadDescParameterL( TInt aKey ) { TBuf buf; TInt err = iRepository->Get( aKey, buf ); @@ -196,6 +191,20 @@ } // --------------------------------------------------------- +// CWmConfiguration::ReadIntParameterIntL +// --------------------------------------------------------- +// +void CWmConfiguration::ReadIntParameter( TInt aKey, TInt32& aValue ) + { + TInt read = KErrNone; + TInt err = iRepository->Get( aKey, read ); + if( err == KErrNone ) + { + aValue = read; + } + } + +// --------------------------------------------------------- // CWmConfiguration::ReadLocalisedParameterL // --------------------------------------------------------- // @@ -266,11 +275,8 @@ // const TDesC& CWmConfiguration::PortalButtonBrowserUrl( TInt aIndex ) { - if ( aIndex == 0 && iOviButtonUrl ) - return *iOviButtonUrl; - else if ( aIndex == 1 && iOperatorButtonUrl ) + if ( aIndex == 1 && iOperatorButtonUrl ) return *iOperatorButtonUrl; - return KNullDesC; } @@ -280,14 +286,14 @@ // TUid CWmConfiguration::PortalButtonClientUid( TInt aIndex ) { - if ( aIndex == 0 && iOviStoreBundleId ) + if ( aIndex == 0 ) { - // idea: change iOviStoreBundleId to UID of laucher in cenrep - return TUid::Uid( 0x2002D07F ); - } + return iOviStoreUid; + } // Operator client uid not supported. // If operator client is a widget we can use widget registry // to fetch uid of operator widget save it to member and return that here + return KNullUid; } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmimageconverter.cpp --- a/idlehomescreen/widgetmanager/src/wmimageconverter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmimageconverter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -200,12 +200,11 @@ { CFbsBitmap* bitmap = NULL; CFbsBitmap* mask = NULL; - + + if ( aUid.iUid >= KWidgetUidLowerBound && aUid.iUid < KWidgetUidUpperBound ) { - // AknsUtils::CreateAppIconLC panics incase of WRT - RApaLsSession lsSession; User::LeaveIfError( lsSession.Connect() ); CleanupClosePushL( lsSession ); @@ -214,42 +213,53 @@ CArrayFixFlat* sizeArray = new (ELeave) CArrayFixFlat( KAppSizeArraySize ); CleanupStack::PushL( sizeArray ); + User::LeaveIfError( lsSession.GetAppIconSizes( aUid, *sizeArray ) ); - TSize size; + + // there should be atleast one size available + if ( sizeArray->Count() == 0 ){ User::Leave( KErrNotReady ); }; + + TSize size(0,0); for( TInt i=0; i < sizeArray->Count(); i++ ) { - size = (*sizeArray)[i]; - if ( size == iSize ) - { - break; - } + TSize s = (*sizeArray)[i]; + if ( size.iWidth < s.iWidth || size.iHeight < s.iHeight ) + { size = s; } + if ( size == iSize ) { break; } } + CApaMaskedBitmap* maskedBmp = CApaMaskedBitmap::NewLC(); User::LeaveIfError( lsSession.GetAppIcon( aUid, size, *maskedBmp ) ); - iBitmap = static_cast( maskedBmp ); // ownership transfered - iMask = new ( ELeave ) CFbsBitmap; - User::LeaveIfError( iMask->Create( - maskedBmp->Mask()->SizeInPixels(), - maskedBmp->Mask()->DisplayMode() ) ); - // duplicate mask, origional is owned by maskedBmp - iMask->Duplicate( maskedBmp->Mask()->Handle() ); - CleanupStack::Pop( maskedBmp ); - maskedBmp = NULL; - CleanupStack::PopAndDestroy(sizeArray); + // handle bitmap + iBitmap = new ( ELeave ) CFbsBitmap; + User::LeaveIfError( iBitmap->Create( + maskedBmp->SizeInPixels(), + maskedBmp->DisplayMode() ) ); + + // scale bitmap + ScaleBitmapL( iSize, iBitmap, maskedBmp ); + + // handle mask + if ( maskedBmp->Mask() ) + { + iMask = new ( ELeave ) CFbsBitmap; + User::LeaveIfError( iMask->Create( + maskedBmp->Mask()->SizeInPixels(), + maskedBmp->Mask()->DisplayMode() ) ); + + // scale mask + ScaleBitmapL( iSize, iMask, maskedBmp->Mask() ); + } + + // cleanup + CleanupStack::PopAndDestroy( maskedBmp ); + CleanupStack::PopAndDestroy( sizeArray ); CleanupStack::PopAndDestroy( &lsSession ); - - // scale or notify - if ( size == iSize ) - { - iState = EIdle; - iObserver->NotifyCompletion( KErrNone ); - } - else - { - iScaleNeeded = ETrue; - ScaleBitmap( iSize.iWidth, iSize.iHeight ); - } + + // notify + iState = EIdle; + iObserver->NotifyCompletion( KErrNone ); } else if ( aUid.iUid != KNullUid.iUid ) { @@ -398,7 +408,7 @@ iMask = new (ELeave) CFbsBitmap(); iMask->Create( size, EGray256 ); - + if ( size != iSize ) { iScaleNeeded = ETrue; @@ -933,6 +943,283 @@ } // --------------------------------------------------------------------------- +// CWmImageConverter::DoesScaleBitmapUseFallBack +// --------------------------------------------------------------------------- +// +TBool CWmImageConverter::DoesScaleBitmapUseFallBack( CFbsBitmap* aSrcBitmap ) + { + if ( !aSrcBitmap ) + { + return EFalse; + } + + TDisplayMode displayMode = aSrcBitmap->DisplayMode(); + TBool fallbackOnly = EFalse; + + switch ( displayMode ) + { + case EGray2: + case EGray4: + case EGray16: + case EColor16: + case EColor16M: + case ERgb: + case EColor16MA: + fallbackOnly = ETrue; + break; + case EGray256: + case EColor4K: + case EColor64K: + case EColor256: + case EColor16MU: + // These are the supported modes + break; + default: + fallbackOnly = ETrue; + } + + return fallbackOnly; + } + + +// --------------------------------------------------------------------------- +// CWmImageConverter::ScaleBitmapL +// --------------------------------------------------------------------------- +// +void CWmImageConverter::ScaleBitmapL( + const TSize& aSize, + CFbsBitmap* aTrgBitmap, + CFbsBitmap* aSrcBitmap ) + { + if ( !aSrcBitmap ) User::Leave( KErrArgument ); + if ( !aTrgBitmap ) User::Leave( KErrArgument ); + if ( aSrcBitmap->DisplayMode() != aTrgBitmap->DisplayMode() ) + { + User::Leave( KErrArgument ); + } + + TRect targetRect( aSize ); + + // calculate aspect ratio + TInt srcHeight = aSrcBitmap->SizeInPixels().iHeight; + TInt srcWidth = aSrcBitmap->SizeInPixels().iWidth; + TReal scaleRatio( 1 ); //no scale as defaul + + //If any dimension is 0, then we do not bother to scale + if ( targetRect.Width() > 0 && targetRect.Height() > 0 ) + { + TReal xRatio = ( ( TReal )srcWidth / ( TReal )targetRect.Width() ); + TReal yRatio = ( ( TReal )srcHeight / ( TReal )targetRect.Height() ); + //Find out appropriate scaling factor + xRatio > yRatio ? ( scaleRatio = xRatio ) : ( scaleRatio = yRatio ); + } + + //Scale the size for target bitmap + targetRect.SetHeight( srcHeight / scaleRatio ); + targetRect.SetWidth( srcWidth / scaleRatio ); + + TSize trgBitmapSize = aTrgBitmap->SizeInPixels(); + + // calculate the valid drawing area + TRect drawRect = targetRect; + drawRect.Intersection( TRect( TPoint( 0, 0 ), trgBitmapSize ) ); + + if( drawRect.IsEmpty() || + aSrcBitmap->SizeInPixels().iHeight <= 0 || + aSrcBitmap->SizeInPixels().iWidth <= 0 ) + { + User::Leave( KErrArgument ); + } + + TSize srcSize = aSrcBitmap->SizeInPixels(); + + TBool srcTemporary = EFalse; + if ( aSrcBitmap->IsRomBitmap() ) + { + srcTemporary = ETrue; + } + + TDisplayMode displayMode = aSrcBitmap->DisplayMode(); + TBool fallbackOnly = DoesScaleBitmapUseFallBack( aSrcBitmap ); + + if ( fallbackOnly ) + { + CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( aTrgBitmap ); + CleanupStack::PushL( dev ); + CFbsBitGc* gc = NULL; + User::LeaveIfError( dev->CreateContext( gc ) ); + CleanupStack::PushL( gc ); + + // write alpha information if it exists + if ( aSrcBitmap->DisplayMode() == EColor16MA ) + { + gc->SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); + } + + // targetRect is used because DrawBitmap handles clipping automatically + gc->DrawBitmap( targetRect, aSrcBitmap ); + CleanupStack::PopAndDestroy( 2 ); // dev, gc + return; + } + + // Heap lock for FBServ large chunk to prevent background + // compression of aSrcBitmap after if IsCompressedInRAM returns EFalse + aSrcBitmap->LockHeapLC( ETrue ); // fbsheaplock + TBool fbsHeapLock = ETrue; + if ( aSrcBitmap->IsCompressedInRAM() ) + { + srcTemporary = ETrue; + } + + CFbsBitmap* realSource = aSrcBitmap; + if ( srcTemporary ) + { + CleanupStack::PopAndDestroy(); // fbsheaplock + fbsHeapLock = EFalse; + + realSource = new ( ELeave ) CFbsBitmap(); + CleanupStack::PushL( realSource ); + User::LeaveIfError( + realSource->Create( srcSize, aSrcBitmap->DisplayMode() ) ); + CFbsBitmapDevice* dev = CFbsBitmapDevice::NewL( realSource ); + CleanupStack::PushL( dev ); + CFbsBitGc* gc = NULL; + User::LeaveIfError( dev->CreateContext( gc ) ); + CleanupStack::PushL( gc ); + gc->BitBlt( TPoint( 0, 0 ), aSrcBitmap ); + CleanupStack::PopAndDestroy( 2 ); // dev, gc + } + + if ( !fbsHeapLock ) + { + // Heap lock for FBServ large chunk is only needed with large bitmaps. + if ( realSource->IsLargeBitmap() || aTrgBitmap->IsLargeBitmap() ) + { + aTrgBitmap->LockHeapLC( ETrue ); // fbsheaplock + } + else + { + CleanupStack::PushL( ( TAny* )NULL ); + } + } + + TUint32* srcAddress = realSource->DataAddress(); + TUint32* trgAddress = aTrgBitmap->DataAddress(); + + const TInt xSkip = ( srcSize.iWidth << 8 ) / targetRect.Width(); + const TInt ySkip = ( srcSize.iHeight << 8 ) / targetRect.Height(); + + const TInt drawWidth = drawRect.Width(); + const TInt drawHeight = drawRect.Height(); + + TRect offsetRect( targetRect.iTl, drawRect.iTl ); + const TInt yPosOffset = ySkip * offsetRect.Height(); + const TInt xPosOffset = xSkip * offsetRect.Width(); + + if ( ( displayMode == EGray256 ) || ( displayMode == EColor256 ) ) + { + TInt srcScanLen8 = CFbsBitmap::ScanLineLength( + srcSize.iWidth, displayMode ); + TInt trgScanLen8 = CFbsBitmap::ScanLineLength( + trgBitmapSize.iWidth, displayMode ); + + TUint8* trgAddress8 = reinterpret_cast< TUint8* >( trgAddress ); + + TInt yPos = yPosOffset; + // skip left and top margins in the beginning + trgAddress8 += trgScanLen8 * drawRect.iTl.iY + drawRect.iTl.iX; + + for ( TInt y = 0; y < drawHeight; y++ ) + { + TUint8* srcAddress8 = reinterpret_cast< TUint8* >( srcAddress ) + + ( srcScanLen8 * ( yPos >> 8 ) ); + + TInt xPos = xPosOffset; + for ( TInt x = 0; x < drawWidth; x++ ) + { + *( trgAddress8++ ) = srcAddress8[xPos >> 8]; + xPos += xSkip; + } + + yPos += ySkip; + + trgAddress8 += trgScanLen8 - drawWidth; + } + } + else if ( displayMode == EColor4K || displayMode == EColor64K ) + { + TInt srcScanLen16 = CFbsBitmap::ScanLineLength( + srcSize.iWidth, displayMode ) /2; + TInt trgScanLen16 = CFbsBitmap::ScanLineLength( + trgBitmapSize.iWidth, displayMode ) /2; + + TUint16* trgAddress16 = reinterpret_cast< TUint16* >( trgAddress ); + + TInt yPos = yPosOffset; + // skip left and top margins in the beginning + trgAddress16 += trgScanLen16 * drawRect.iTl.iY + drawRect.iTl.iX; + + for ( TInt y = 0; y < drawHeight; y++ ) + { + TUint16* srcAddress16 = reinterpret_cast< TUint16* >( srcAddress ) + + ( srcScanLen16 * ( yPos >> 8 ) ); + + TInt xPos = xPosOffset; + for ( TInt x = 0; x < drawWidth; x++ ) + { + *( trgAddress16++ ) = srcAddress16[xPos >> 8]; + xPos += xSkip; + } + + yPos += ySkip; + + trgAddress16 += trgScanLen16 - drawWidth; + } + } + else if ( displayMode == EColor16MU ) + { + TInt srcScanLen32 = CFbsBitmap::ScanLineLength( + srcSize.iWidth, displayMode ) /4; + TInt trgScanLen32 = CFbsBitmap::ScanLineLength( + trgBitmapSize.iWidth, displayMode ) /4; + + TUint32* trgAddress32 = reinterpret_cast< TUint32* >( trgAddress ); + + TInt yPos = yPosOffset; + // skip left and top margins in the beginning + trgAddress32 += trgScanLen32 * drawRect.iTl.iY + drawRect.iTl.iX; + + for ( TInt y = 0; y < drawHeight; y++ ) + { + TUint32* srcAddress32 = reinterpret_cast< TUint32* >( srcAddress ) + + ( srcScanLen32 * ( yPos >> 8 ) ); + + TInt xPos = xPosOffset; + for ( TInt x = 0; x < drawWidth; x++ ) + { + *( trgAddress32++ ) = srcAddress32[xPos >> 8]; + xPos += xSkip; + } + + yPos += ySkip; + + trgAddress32 += trgScanLen32 - drawWidth; + } + } + else + { + User::Leave( KErrUnknown ); + } + + CleanupStack::PopAndDestroy(); // fbsheaplock + + if ( srcTemporary ) + { + CleanupStack::PopAndDestroy(); // realSource + } + } + +// --------------------------------------------------------------------------- // CWmImageConverter::Finished // --------------------------------------------------------------------------- // diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wminstaller.cpp --- a/idlehomescreen/widgetmanager/src/wminstaller.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wminstaller.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -65,6 +65,7 @@ // void CWmInstaller::ConstructL() { + iMime = KWrtMime().AllocL(); iIdle = CIdle::NewL( CActive::EPriorityStandard ); } @@ -81,6 +82,7 @@ iIdle->Cancel(); } delete iIdle; + delete iMime; } // --------------------------------------------------------- @@ -166,7 +168,7 @@ optionsUninstall.iKillApp = SwiUI::EPolicyAllowed; SwiUI::TUninstallOptionsPckg uninstallOptionsPkg( optionsUninstall ); iInstaller.SilentUninstall( iStatus, iUid, - uninstallOptionsPkg, KWrtMime ); + uninstallOptionsPkg, *iMime ); aData->VisualizeUninstallL(); SetActive(); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmlistbox.cpp --- a/idlehomescreen/widgetmanager/src/wmlistbox.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmlistbox.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -30,11 +30,13 @@ #include #include #include + #include "wmcommon.h" #include "wmplugin.h" #include "wmresourceloader.h" #include "wmlistbox.h" #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" // CONSTANTS @@ -98,30 +100,6 @@ EMbmWidgetmanagerQgn_menu_hswidget, EMbmWidgetmanagerQgn_menu_hswidget_mask ); - - AknsUtils::CreateColorIconL( - skin, - KAknsIIDQgnIndiWmAdd, - KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG6, - iAddWidgetBtnImage, - iAddWidgetBtnMask, - iWmPlugin.ResourceLoader().IconFilePath(), - EMbmWidgetmanagerAdd_widget_button, - EMbmWidgetmanagerAdd_widget_button_mask, - KRgbBlack ); - - AknsUtils::CreateColorIconL( - skin, - KAknsIIDQgnIndiWmAdd, - KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG10, - iAddWidgetBtnHighlightImage, - iAddWidgetBtnHighlightMask, - iWmPlugin.ResourceLoader().IconFilePath(), - EMbmWidgetmanagerAdd_widget_button, - EMbmWidgetmanagerAdd_widget_button_mask, - KRgbWhite ); // This is temporary fix for ou1cimx1#228810 // Can be removed when avkon provides real fix for this error. @@ -165,10 +143,6 @@ // dispose icons delete iDefaultLogoImage; delete iDefaultLogoImageMask; - delete iAddWidgetBtnImage; - delete iAddWidgetBtnMask; - delete iAddWidgetBtnHighlightImage; - delete iAddWidgetBtnHighlightMask; } // --------------------------------------------------------- @@ -179,8 +153,7 @@ { TAknWindowLineLayout logoPane = AknLayoutScalable_Apps::listrow_wgtman_pane_g1().LayoutLine(); - TAknWindowLineLayout addPane = - AknLayoutScalable_Apps::listrow_wgtman_pane_g2().LayoutLine(); + TAknLayoutRect layoutRect; TRect rect = TRect( ItemCellSize() ); layoutRect.LayoutRect( rect, logoPane ); @@ -191,18 +164,6 @@ iDefaultLogoImage, size, EAspectRatioPreserved ); AknIconUtils::SetSize( iDefaultLogoImageMask, size, EAspectRatioPreserved ); - - // RESIZE ADD BTN BITMAPS ACCORDING TO LAYOUT - layoutRect.LayoutRect( rect, addPane ); - size = layoutRect.Rect().Size(); - AknIconUtils::SetSize( - iAddWidgetBtnImage, size, EAspectRatioPreserved ); - AknIconUtils::SetSize( - iAddWidgetBtnMask, size, EAspectRatioPreserved ); - AknIconUtils::SetSize( - iAddWidgetBtnHighlightImage, size, EAspectRatioPreserved ); - AknIconUtils::SetSize( - iAddWidgetBtnHighlightMask, size, EAspectRatioPreserved ); } // --------------------------------------------------------- @@ -239,7 +200,6 @@ innerRect, KAknsIIDQsnFrList, KAknsIIDQsnFrListCenter ); - } // DRAW LOGO @@ -258,6 +218,7 @@ logoLayout.DrawImage( gc, bitmap, mask ); } + // DRAW NAME TRgb textColor; TAknsQsnTextColorsIndex index = ( aItemIsCurrent && listFocused && highlightEnabled )? @@ -265,9 +226,6 @@ AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, index ); - - // DRAW TEXT - TAknTextLineLayout titleTextLayout = AknLayoutScalable_Apps::listrow_wgtman_pane_t1().LayoutLine(); @@ -275,38 +233,9 @@ textLayoutTitle.LayoutText( itemRect, titleTextLayout ); textLayoutTitle.DrawText( gc, wData.Name(), ETrue, textColor ); - if ( !wData.IsUninstalling() && - wData.HsContentInfo().CanBeAdded() ) + if ( wData.IsUninstalling() ) { - // DRAW ADD BUTTON - TAknLayoutRect addButtonLayout; - addButtonLayout.LayoutRect( itemRect, - AknLayoutScalable_Apps::listrow_wgtman_pane_g2().LayoutLine() ); - if ( aItemIsCurrent && listFocused && highlightEnabled ) - { - addButtonLayout.DrawImage( gc, - iAddWidgetBtnHighlightImage, iAddWidgetBtnHighlightMask ); - } - else - { - addButtonLayout.DrawImage( gc, - iAddWidgetBtnImage, iAddWidgetBtnMask ); - } - } - - if ( !wData.IsUninstalling() ) - { - TAknTextLineLayout descTextLayout = - AknLayoutScalable_Apps::listrow_wgtman_pane_t2().LayoutLine(); - gc.SetPenSize(TSize(1,1)); - // DRAW DESCRIPTION TEXT - TAknLayoutText textLayoutDes; - textLayoutDes.LayoutText( itemRect, descTextLayout ); - textLayoutDes.DrawText( gc, wData.Description(), ETrue, textColor ); - } - else - { - // draw animation + // DRAW UNINSTALL ANIMATION TAknLayoutRect animationLayout; animationLayout.LayoutRect( itemRect, AknLayoutScalable_Apps::wait_bar_pane_cp09().LayoutLine() ); @@ -346,65 +275,7 @@ // void CWmListItemDrawer::HandleSkinChanged() { - CFbsBitmap* addWidgetBtnImage( NULL ); - CFbsBitmap* addWidgetBtnMask( NULL ); - CFbsBitmap* addWidgetBtnHighlightImage( NULL ); - CFbsBitmap* addWidgetBtnHighlightMask( NULL ); - MAknsSkinInstance* skin = AknsUtils::SkinInstance(); - - TRAPD( err, - AknsUtils::CreateColorIconLC( - skin, - KAknsIIDQgnIndiWmAdd, - KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG6, - addWidgetBtnImage, - addWidgetBtnMask, - iWmPlugin.ResourceLoader().IconFilePath(), - EMbmWidgetmanagerAdd_widget_button, - EMbmWidgetmanagerAdd_widget_button_mask, - KRgbBlack ); - - AknsUtils::CreateColorIconLC( - skin, - KAknsIIDQgnIndiWmAdd, - KAknsIIDQsnTextColors, - EAknsCIQsnTextColorsCG10, - addWidgetBtnHighlightImage, - addWidgetBtnHighlightMask, - iWmPlugin.ResourceLoader().IconFilePath(), - EMbmWidgetmanagerAdd_widget_button, - EMbmWidgetmanagerAdd_widget_button_mask, - KRgbWhite ); - - CleanupStack::Pop( 4 ); // pop icons - ); - - if ( KErrNone == err ) - { - // delete old icons - delete iAddWidgetBtnImage; - iAddWidgetBtnImage = NULL; - delete iAddWidgetBtnMask; - iAddWidgetBtnMask = NULL; - delete iAddWidgetBtnHighlightImage; - iAddWidgetBtnHighlightImage = NULL; - delete iAddWidgetBtnHighlightMask; - iAddWidgetBtnHighlightMask = NULL; - - // transfer ownership - iAddWidgetBtnImage = addWidgetBtnImage; - addWidgetBtnImage = NULL; - iAddWidgetBtnMask = addWidgetBtnMask; - addWidgetBtnMask = NULL; - iAddWidgetBtnHighlightImage = addWidgetBtnHighlightImage; - addWidgetBtnHighlightImage = NULL; - iAddWidgetBtnHighlightMask = addWidgetBtnHighlightMask; - addWidgetBtnHighlightMask = NULL; - - // resize new created icons - ResizeDefaultBitmaps(); - } + ResizeDefaultBitmaps(); } // --------------------------------------------------------- @@ -442,7 +313,8 @@ // CWmListBox::~CWmListBox() { - iWidgetDatas.ResetAndDestroy(); + iVisibleWidgetArray.ResetAndDestroy(); + iOrderDataArray.ResetAndDestroy(); } // --------------------------------------------------------- @@ -458,7 +330,7 @@ SetContainerWindowL( *aParent ); // set model point to the widgets array - Model()->SetItemTextArray( &iWidgetDatas ); + Model()->SetItemTextArray( &iVisibleWidgetArray ); Model()->SetOwnershipType( ELbmDoesNotOwnItemArray ); // set empty-text to null @@ -474,7 +346,7 @@ CWmWidgetData* CWmListBox::WidgetData() { TInt index = CurrentListBoxItemIndex(); - return (index>=0 ? iWidgetDatas[index] : NULL); + return (index>=0 ? iVisibleWidgetArray[index] : NULL); } // --------------------------------------------------------- @@ -483,7 +355,7 @@ // CWmWidgetData& CWmListBox::WidgetData( TInt aItemIndex ) { - return *iWidgetDatas[ RealIndex( aItemIndex ) ]; + return *iVisibleWidgetArray[ RealIndex( aItemIndex ) ]; } // --------------------------------------------------------- @@ -496,7 +368,7 @@ if ( aWidgetData ) { aWidgetData->SetObserver( this ); - iWidgetDatas.InsertInOrderAllowRepeatsL( aWidgetData, + iVisibleWidgetArray.InsertInOrderAllowRepeatsL( aWidgetData, SortOrder(EStoredOrder) ); if ( aRedraw ) { HandleItemAdditionL(); } } @@ -511,12 +383,25 @@ TInt realIndex = RealIndex( aItemIndex ); TBool current = ( aItemIndex == CurrentItemIndex() ); // remove widget data - CWmWidgetData* data = iWidgetDatas[realIndex]; - iWidgetDatas.Remove( realIndex ); + 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++ ) + { + CWmWidgetOrderData* order = iOrderDataArray[i]; + if ( order->EqualsTo( data->Uid(), data->PublisherId() ) ) + { + iOrderDataArray.Remove( i ); + delete order; + order = NULL; + break; + } + } // delete now delete data; @@ -540,10 +425,10 @@ // CWmListBox::SetSortOrderL // --------------------------------------------------------- // -void CWmListBox::SetSortOrderL( TSortOrder aOrder ) +void CWmListBox::DoSortToVisibleArray( TSortOrder aOrder ) { // now sort the existing data - iWidgetDatas.Sort( SortOrder( aOrder ) ); + iVisibleWidgetArray.Sort( SortOrder( aOrder ) ); DrawNow(); } @@ -572,9 +457,9 @@ { iLogoSize = TSize( 0, 0); iLogoSize = LogoSize(); - for ( TInt i=0; iReCreateLogo( iLogoSize ); + iVisibleWidgetArray[i]->ReCreateLogo( iLogoSize ); } } @@ -601,7 +486,7 @@ if ( !iFindPaneIsVisible ) { // spontaneous change in the model. Cause table to redraw - TInt index = iWidgetDatas.Find( aWidgetData ); + TInt index = iVisibleWidgetArray.Find( aWidgetData ); if ( index >= 0 ) { // redraw item. @@ -763,5 +648,53 @@ return NULL; } +// --------------------------------------------------------- +// CWmListBox::SortOrderToOrderData +// --------------------------------------------------------- +// +TLinearOrder CWmListBox::SortOrderToOrderData( TSortOrder aOrder ) + { + if ( aOrder == EStoredOrder ) + { + return TLinearOrder( + CWmWidgetOrderData::CompareByPersistentWidgetOrder ); + } + else + { + return TLinearOrder( + CWmWidgetOrderData::CompareByName ); + } + } + +// --------------------------------------------------------- +// CWmListBox::SetSortOrderToOrderDataL +// --------------------------------------------------------- +// +void CWmListBox::DoSortToOrderData( TSortOrder aOrder ) + { + iOrderDataArray.Sort( SortOrderToOrderData( aOrder ) ); + } + +// --------------------------------------------------------- +// CWmListBox::AddWidgetDataL +// --------------------------------------------------------- +// +void CWmListBox::AddOrderDataL( CWmWidgetOrderData* aOrderData ) + { + if ( aOrderData ) + { + iOrderDataArray.InsertInOrderAllowRepeatsL( aOrderData, + SortOrderToOrderData( EStoredOrder ) ); + } + } + +// --------------------------------------------------------- +// CWmListBox::OrderData +// --------------------------------------------------------- +// +CWmWidgetOrderData* CWmListBox::OrderData( TInt aItemIndex ) + { + return iOrderDataArray[ aItemIndex ]; + } // End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmmaincontainer.cpp --- a/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -260,7 +260,7 @@ aKeyEvent.iScanCode == EStdKeyBackspace && aKeyEvent.iModifiers == EModifierAutorepeatable ) { - return EKeyWasNotConsumed; + return EKeyWasConsumed; } // Handle search keyevent @@ -310,7 +310,7 @@ aKeyEvent.iScanCode < EStdKeyF1 && TChar( aKeyEvent.iScanCode ).IsAlphaDigit() ) { - ActivateFindPaneL(); + ActivateFindPaneL( EFalse ); if ( iFindPaneIsVisible ) { @@ -974,12 +974,7 @@ // TBool CWmMainContainer::CanDoFind() { - TBool canDo( !iFindPaneIsVisible ); - if ( canDo ) - { - canDo = ( iFocusMode == EList || iFocusMode == ENowhere ); - } - return canDo; + return !iFindPaneIsVisible; } // --------------------------------------------------------- @@ -1081,7 +1076,7 @@ // CWmMainContainer::ActivateFindPaneL // --------------------------------------------------------------------------- // -void CWmMainContainer::ActivateFindPaneL() +void CWmMainContainer::ActivateFindPaneL( TBool aActivateAdabtive ) { if ( iFindbox && !iFindPaneIsVisible && iWidgetsList->Model()->NumberOfItems() > KMinWidgets ) @@ -1102,13 +1097,16 @@ iFindbox->ResetL(); iFindbox->SetSearchTextL( KNullDesC ); iFindbox->SetSkinEnabledL( ETrue ); - iFindPaneIsVisible = ETrue; iFindbox->MakeVisible( ETrue ); // layout listbox and findbox LayoutControls(); + if ( aActivateAdabtive ) + { + iFindbox->ShowAdaptiveSearchGrid(); + } iFindbox->SetFocus( ETrue ); iWidgetsList->SetFindPaneIsVisible( ETrue ); @@ -1176,15 +1174,16 @@ { if ( iWidgetsList ) { - iWidgetsList->SetSortOrderL( CWmListBox::EAlphabetical ); + iWidgetsList->DoSortToVisibleArray( CWmListBox::EAlphabetical ); + iWidgetsList->DoSortToOrderData( CWmListBox::EAlphabetical ); //store changed list order CWmPersistentWidgetOrder* widgetOrder = CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() ); CleanupStack::PushL( widgetOrder ); - widgetOrder->StoreL( iWidgetsList->WidgetDataArray() ); + widgetOrder->StoreL( iWidgetsList->OrderDataArray() ); + CleanupStack::PopAndDestroy( widgetOrder ); - } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp --- a/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -363,7 +363,7 @@ { if ( iWmMainContainer ) { - iWmMainContainer->ActivateFindPaneL(); + iWmMainContainer->ActivateFindPaneL( ETrue ); } return ETrue; } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp --- a/idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmpersistentwidgetorder.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -23,6 +23,7 @@ #include #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" #include "wmpersistentwidgetorder.h" // CONSTANTS @@ -67,6 +68,7 @@ CWmPersistentWidgetOrder::~CWmPersistentWidgetOrder() { CleanupArray(); + iTagArray.Close(); } // --------------------------------------------------------- @@ -107,45 +109,56 @@ // CWmPersistentWidgetOrder::StoreL // --------------------------------------------------------- // -void CWmPersistentWidgetOrder::StoreL( const RWidgetDataValues& aArray ) +void CWmPersistentWidgetOrder::StoreL( const ROrderArray& aArray ) { + // 1. create stream for storing the data to a file TFileName storeFileName; GetStoreFileNameL( storeFileName ); CPermanentFileStore* fileStore = NULL; fileStore = CPermanentFileStore::ReplaceLC( iFs, storeFileName, EFileWrite ); - fileStore->SetTypeL( KPermanentFileStoreLayoutUid ); - RStoreWriteStream writer; - TStreamId id = writer.CreateLC( *fileStore ); - // 2. write all content to the stream - writer.WriteInt32L( aArray.Count() ); - for( TInt i=0; iIsValid() ) + fileStore->SetTypeL( KPermanentFileStoreLayoutUid ); + RStoreWriteStream writer; + TStreamId id = writer.CreateLC( *fileStore ); + + // 2. write all content to the stream + writer.WriteInt32L( aArray.Count() ); + for( TInt i=0; iUid().iUid; + const TDesC16& publisherId = data->PublisherId(); + writer.WriteInt32L( uid ); + writer.WriteInt32L( publisherId.Length() ); + writer.WriteL( publisherId, publisherId.Length() ); + } - TInt32 uid = data->Uid().iUid; - const TDesC16& publisherId = data->HsContentInfo().PublisherId(); - writer.WriteInt32L( uid ); - writer.WriteInt32L( publisherId.Length() ); - writer.WriteL( publisherId, publisherId.Length() ); + // 3. check available space and commit the stream + TInt streamsize = writer.Sink()->SizeL(); + TBool belowCriticalLevel = SysUtil::DiskSpaceBelowCriticalLevelL( + &iFs, streamsize, EDriveC ); + + if( !belowCriticalLevel ) + { + writer.CommitL(); + fileStore->SetRootL(id); + fileStore->CommitL(); + } + + // 4. cleanup + CleanupStack::PopAndDestroy( &writer ); + CleanupStack::PopAndDestroy( fileStore ); } - // 3. check available space and commit the stream - TInt streamsize = writer.Sink()->SizeL(); - TBool belowCriticalLevel = SysUtil::DiskSpaceBelowCriticalLevelL( - &iFs, streamsize, EDriveC ); - if( !belowCriticalLevel ) - { - writer.CommitL(); - fileStore->SetRootL(id); - fileStore->CommitL(); - } - // 4. cleanup - CleanupStack::PopAndDestroy( &writer ); - CleanupStack::PopAndDestroy( fileStore ); + } // --------------------------------------------------------- @@ -157,9 +170,9 @@ for( TInt i=0; iIsActive() ) + { + iWmInstaller->Cancel(); + } + // delete members delete iResourceLoader; delete iEffectManager; delete iPostponedContent; - delete iWmInstaller; + delete iWmInstaller; } // --------------------------------------------------------- @@ -113,7 +119,7 @@ { TRAP_IGNORE( iEffectManager->BeginFullscreenEffectL( - KAppStartCommonDefaultStyle ); + KAppStartEffectStyle ); iViewAppUi->ActivateLocalViewL( TUid::Uid( EWmMainContainerViewId ) ); ); @@ -180,7 +186,7 @@ iWmMainContainer->SetClosingDown( ETrue ); TRAP_IGNORE( iEffectManager->BeginFullscreenEffectL( - KAppExitCommonDefaultStyle ); + KAppExitEffectStyle ); iViewAppUi->ActivateLocalViewL( iPreviousViewUid.iViewUid ); ); @@ -287,24 +293,16 @@ { case KHsErrorViewFull: case KHsErrorDoesNotFit: + // Not enough space to add new widget to active page. + // Remove some content first. ResourceLoader().InfoPopupL( R_QTN_HS_ADD_WIDGET_NO_SPACE_NOTE, KNullDesC ); break; - - case KHsErrorMaxInstanceCountExceeded: - { - TInt resource = ( iPostponedContent->Type() == KContentTemplate ) ? - resource = R_QTN_HS_ADD_WIDGET_MAX_REACHED : // wrt - resource = R_QTN_HS_ADD_WIDGET_MAX_COUNT_NOTE; // native - - ResourceLoader().InfoPopupL( resource, KNullDesC ); + case KErrNoMemory: + // Not enough memory to add more content. + // Please remove some Homescreen content and try again. + ResourceLoader().InfoPopupL( R_QTN_HS_HS_MEMORY_FULL, KNullDesC ); break; - } - - case KErrNoMemory: - ResourceLoader().InfoPopupL( R_QTN_HS_HS_MEMORY_FULL, KNullDesC ); - break; - default: ResourceLoader().ErrorPopup( aError ); break; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmportalbutton.cpp --- a/idlehomescreen/widgetmanager/src/wmportalbutton.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmportalbutton.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -31,7 +31,7 @@ #include #include // widgetreqistry #include -#include +#include #include "wmportalbutton.h" #include "wmcommon.h" @@ -42,13 +42,10 @@ #include "wmprocessmonitor.h" // CONSTANTS -_LIT( KOviUrlPrefix, "oviurl "); -_LIT( KBrowserUrlPrefix, "browserurl "); -_LIT( KSpace, " "); -_LIT( Kurlprefix, "4 "); +_LIT( KUrlPrefix, "4 "); + const TUid KOSSBrowserUidValue = { 0x10008D39 }; -const TInt KMaxParam = 512; // MEMBER FUNCTIONS // --------------------------------------------------------- @@ -128,28 +125,17 @@ // construct the button CAknButton::ConstructL( NULL, NULL, NULL, NULL, aText, KNullDesC, 0 ); - TAknsItemID frameId = KAknsIIDQgnHomeWmButton; - TAknsItemID frameCenterId = KAknsIIDQgnHomeWmButtonCenter; - TAknsItemID framePressedId = KAknsIIDQgnHomeWmButtonPressed; - TAknsItemID framePressedCenterId = KAknsIIDQgnHomeWmButtonPressedCenter; - - SetFocusing( ETrue ); - SetBackgroundIds( frameId, - framePressedId, - KAknsIIDQsnFrButtonInactive, - framePressedId, - KAknsIIDQsnFrButtonInactive ); SetFrameAndCenterIds( - frameId, - frameCenterId, - KAknsIIDDefault, - KAknsIIDDefault, - KAknsIIDDefault, - KAknsIIDDefault, - framePressedId, - framePressedCenterId, - KAknsIIDDefault, - KAknsIIDDefault ); + KAknsIIDQsnFrButtonNormal, + KAknsIIDQsnFrButtonCenterNormal, + KAknsIIDQsnFrButtonPressed, + KAknsIIDQsnFrButtonCenterPressed, + KAknsIIDQsnFrButtonInactive, + KAknsIIDQsnFrButtonCenterInactive, + KAknsIIDQsnFrButtonPressed, + KAknsIIDQsnFrButtonCenterPressed, + KAknsIIDQsnFrButtonInactive, + KAknsIIDQsnFrButtonCenterInactive ); // start image converter for the icon iImageConverter = CWmImageConverter::NewL( this ); @@ -159,6 +145,9 @@ // observe our own press events SetObserver( this ); + SetFocusing( ETrue ); + SetRequestExit( ETrue ); // notification request for button up event + // ready to be drawn ActivateL(); } @@ -177,12 +166,7 @@ } if ( !iProcessMonitor->IsActive() ) { - // We will have laucher for starting ovi store but until - // it's added to SDK we need to start browser to ovi url - if ( 0 ) - RunOviL( iWmMainContainer->Configuration() ); - else - StartBrowserL( iWmMainContainer->Configuration() ); + RunOviL( iWmMainContainer->Configuration() ); } } else if ( iPortalButtonIndex == 1 ) @@ -202,36 +186,39 @@ // void CWmPortalButton::RunOviL( CWmConfiguration& aConf ) { + // param is: channel=homescreenwidgets + // laucher uid: 0x2002D07F RApaLsSession session; User::LeaveIfError( session.Connect() ); CleanupClosePushL( session ); //get app info TApaAppInfo appInfo; - TUid launchUid; //plan was to save uid in cenrep and fetch it from there + TUid launchUid; launchUid = aConf.PortalButtonClientUid( iPortalButtonIndex ); - User::LeaveIfError( session.GetAppInfo( appInfo, launchUid ) ); - - // Form parameter - // it should look like this "oviurl url1 browserurl url2" - HBufC* param = HBufC::NewLC( KMaxParam ); - param->Des().Copy( KOviUrlPrefix ); - HBufC* decodedParam = EscapeUtils::EscapeEncodeL( aConf.PortalButtonClientParam( iPortalButtonIndex ), EscapeUtils::EEscapeUrlEncoded ); - CleanupStack::PushL( decodedParam ); - param->Des().Append( *decodedParam ); - param->Des().Append( KSpace ); - param->Des().Append( KBrowserUrlPrefix ); - decodedParam->Des().Copy( aConf.PortalButtonBrowserUrl( iPortalButtonIndex ) ); - param->Des().Append( *decodedParam ); - // do the launch - RProcess process; - User::LeaveIfError( process.Create( appInfo.iFullName, *param ) ); - iProcessMonitor->Monitor( process ); - process.Resume(); - - CleanupStack::PopAndDestroy( decodedParam ); - CleanupStack::PopAndDestroy( param ); + TInt err = session.GetAppInfo( appInfo, launchUid ); + if ( err != KErrNone ) + { + //This is temp until we have laucher in SDK + StartBrowserL( aConf ); + } + else + { + // Form parameter + HBufC* param = HBufC::NewLC( aConf.PortalButtonClientParam( iPortalButtonIndex ).Length() ); + param->Des().Copy( aConf.PortalButtonClientParam( iPortalButtonIndex ) ); + + // do the launch + RProcess process; + User::LeaveIfError( process.Create( appInfo.iFullName, *param ) ); + + iProcessMonitor->Monitor( process ); + process.Resume(); + + CleanupStack::PopAndDestroy( param ); + } + CleanupStack::PopAndDestroy( &session ); } @@ -245,16 +232,27 @@ User::LeaveIfError( session.Connect() ); CleanupClosePushL( session ); - // browser start parameters - HBufC* param = HBufC::NewLC( - aConf.PortalButtonBrowserUrl( iPortalButtonIndex ).Length() + - Kurlprefix().Length() ); - - param->Des().Copy( Kurlprefix ); - param->Des().Append( aConf.PortalButtonBrowserUrl( iPortalButtonIndex ) ); + HBufC* param = NULL; + if ( iPortalButtonIndex == 1 ) + { + // browser start parameter + param = HBufC::NewLC( + aConf.PortalButtonBrowserUrl( iPortalButtonIndex ).Length() + + KUrlPrefix().Length() ); + + param->Des().Copy( KUrlPrefix ); + param->Des().Append( aConf.PortalButtonBrowserUrl( iPortalButtonIndex ) ); + } + else + { + // becouse launcher knows url we need to have it temp here + // until laucher is available + _LIT( KTempUrl, "4 https://store.ovi.com/applications/"); + param = HBufC::NewLC( KTempUrl().Length() ); + param->Des().Copy( KTempUrl ); + } TUid id( KOSSBrowserUidValue ); - TApaTaskList taskList( CEikonEnv::Static()->WsSession() ); TApaTask task = taskList.FindApp( id ); if( task.Exists() ) @@ -284,27 +282,62 @@ // CWmPortalButton::RunOperatorL // --------------------------------------------------------- // -void CWmPortalButton::RunOperatorL( CWmConfiguration& /*aConf*/ ) +void CWmPortalButton::RunOperatorL( CWmConfiguration& aConf ) { - //TODO: current info is that this will be a widget + // Current info is that this will be a widget + // meanwhile we just start browser + StartBrowserL( aConf ); } // --------------------------------------------------------- // CWmPortalButton::HandleControlEventL // --------------------------------------------------------- // -void CWmPortalButton::HandleControlEventL( CCoeControl* /*aControl*/, +void CWmPortalButton::HandleControlEventL( CCoeControl* aControl, TCoeEvent aEventType ) { - // execute portal action when button pressed (short or long press) - if ( aEventType == EEventStateChanged || - aEventType == ELongPressEndedEvent ) + if ( aControl == this ) { - ExecuteL(); + if ( aEventType == EEventStateChanged || + aEventType == ELongPressEndedEvent || + aEventType == EEventRequestCancel ) + { + DrawDeferred(); + } + // execute portal action when button pressed (short or long press) + if ( aEventType == EEventRequestExit ) + { + SetFocus( EFalse ); + DrawNow(); + ExecuteL(); + } } } // --------------------------------------------------------- +// CWmPortalButton::HandlePointerEventL +// --------------------------------------------------------- +// +void CWmPortalButton::HandlePointerEventL( + const TPointerEvent& aPointerEvent ) + { + CAknButton::HandlePointerEventL( aPointerEvent ); + + // remove focus from button if button is released outside rect + if ( aPointerEvent.iType == TPointerEvent::EDrag ) + { + TBool wasFoucused( IsFocused() ); + SetFocus( Rect().Contains( aPointerEvent.iPosition ) ); + if ( wasFoucused != IsFocused() ){ DrawNow(); } + } + else if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) + { + SetFocus( EFalse ); // remove focus when button released. + } + } + + +// --------------------------------------------------------- // CWmPortalButton::LayoutIconSize // --------------------------------------------------------- // @@ -370,11 +403,17 @@ if ( iButtonIcon && iButtonIconMask ) { TSize size = LayoutIconSize(); - AknIconUtils::SetSize( + if ( iButtonIcon->SizeInPixels() != size ) + { + AknIconUtils::SetSize( iButtonIcon, size, EAspectRatioPreserved ); - AknIconUtils::SetSize( + } + if ( iButtonIconMask->SizeInPixels() != size ) + { + AknIconUtils::SetSize( iButtonIconMask, size, EAspectRatioPreserved ); - DrawDeferred(); + } + DrawDeferred(); } } else @@ -399,13 +438,13 @@ CWindowGc& gc = SystemGc(); MAknsSkinInstance* skin = AknsUtils::SkinInstance(); - TAknsItemID frameId = ( KAknsIIDQgnHomeWmButton ); - TAknsItemID frameCenterId = ( KAknsIIDQgnHomeWmButtonCenter ); + TAknsItemID frameId = ( KAknsIIDQsnFrButtonNormal ); + TAknsItemID frameCenterId = ( KAknsIIDQsnFrButtonCenterNormal ); if ( iButtonPressed ) { - frameId = ( KAknsIIDQgnHomeWmButtonPressed ); - frameCenterId = ( KAknsIIDQgnHomeWmButtonPressedCenter ); + frameId = ( KAknsIIDQsnFrButtonPressed ); + frameCenterId = ( KAknsIIDQsnFrButtonCenterPressed ); } else if ( IsDimmed() ) { @@ -414,8 +453,8 @@ } else if ( IsFocused() ) { - frameId = KAknsIIDQsnFrList; - frameCenterId = KAknsIIDQsnFrListCenter; + frameId = KAknsIIDQsnFrButtonHighlight; + frameCenterId = KAknsIIDQsnFrButtonHighlightCenter; } iBgContext->SetFrame( frameId ); @@ -423,7 +462,7 @@ iBgContext->SetFrameRects( rect, innerRect ); if ( !AknsDrawUtils::Background( skin, iBgContext, NULL, - gc, rect, KAknsDrawParamNoClearUnderImage ) ) + gc, rect, KAknsDrawParamNoClearUnderImage ) ) { gc.SetBrushColor( KRgbRed ); gc.SetBrushStyle( CGraphicsContext::ESolidBrush ); @@ -511,6 +550,12 @@ AknsUtils::GetCachedColor( skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 ); } + else + { + // default for button + AknsUtils::GetCachedColor( + skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG80 ); + } aGc.SetPenColor( textColor); // Layout data not correct, add some space for text diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmwidgetdata.cpp --- a/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -280,6 +280,9 @@ { iconStr = aIconStr.Alloc(); } + + // nothing to do if no iconstr + if ( !iconStr ){ return; } TSize size( iLogoSize ); if ( iLogoImage ) { size = iLogoImage->SizeInPixels(); } @@ -295,7 +298,8 @@ iconStr = NULL; // handle result - if ( KErrNone == err && IsPrepairingLogo() ) + if ( KErrNone == err && iWait && + IsPrepairingLogo() ) { iWait->Start(); } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp --- a/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/src/wmwidgetloaderao.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -24,6 +24,7 @@ #include "wmlistbox.h" #include "wmwidgetloaderao.h" #include "wminstaller.h" +#include "wmwidgetorderdata.h" #include // content control api #include // content control api @@ -139,13 +140,17 @@ iWidgetOrder = CWmPersistentWidgetOrder::NewL( iWmPlugin.FileServer() ); TRAPD( loadError, iWidgetOrder->LoadL() ); - // 3. prepare the widget data list + // 3. prepare the widget data array & sort order array for( TInt i=0; iSetPersistentWidgetOrder( iWidgetOrder ); + } + // 4. loop through the content array and compare it against the existing // widget data. TInt widgetsAdded = 0; @@ -162,18 +167,27 @@ CWmWidgetData* existingData = FindWidgetData( *contentInfo ); if ( existingData ) { - // update existing widget data + // update existing visible widget data existingData->SetValid( ETrue ); if ( existingData->ReplaceContentInfoL( contentInfo ) ) { + // Update name to order array if name changed + for ( TInt i=0; i < iWidgetsList.OrderDataArray().Count(); i++ ) + { + CWmWidgetOrderData* order = iWidgetsList.OrderData(i); + if ( order->EqualsTo( + existingData->Uid(), existingData->PublisherId() ) ) + { + order->UpdateNameL( existingData->Name() ); + } + } ++widgetsChanged; } } else { // add a new widget data - AddWidgetDataL( contentInfo ); - ++widgetsAdded; + AddWidgetDataL( contentInfo, widgetsAdded ); } } @@ -219,9 +233,8 @@ // 8. store list order if necessary if ( loadError != KErrNone || widgetsAdded > 0 || widgetsRemoved > 0 ) { - iWidgetOrder->StoreL( iWidgetsList.WidgetDataArray() ); + iWidgetOrder->StoreL( iWidgetsList.OrderDataArray() ); } - } // --------------------------------------------------------- @@ -247,31 +260,65 @@ // --------------------------------------------------------- // void CWmWidgetLoaderAo::AddWidgetDataL( - CHsContentInfo* aContentInfo ) + CHsContentInfo* aContentInfo, TInt& aCount ) { CleanupStack::PushL( aContentInfo ); if ( !iWidgetRegistry ) { iWidgetRegistry = new (ELeave) RWidgetRegistryClientSession(); - User::LeaveIfError( iWidgetRegistry->Connect() ); + TInt err = iWidgetRegistry->Connect(); + if ( KErrNone != err ) + { + delete iWidgetRegistry; + iWidgetRegistry = NULL; + User::Leave( err ); + } } - CleanupStack::Pop( aContentInfo ); + + // Becouse we show only widgets that can be added we need two arrays + // to maintain order data and visible data. + // All widgets are added to listbox's iOrderDataArray and + // widgets that CanBeAdded are added also to iVisibleWidgetArray. + CWmWidgetOrderData* order = CWmWidgetOrderData::NewLC( + aContentInfo->PublisherId(), + UidFromString( aContentInfo->Uid() ), + aContentInfo->Name(), + iWidgetOrder + ); + + // add to order data + iWidgetsList.AddOrderDataL( order ); + CleanupStack::Pop( order ); - CWmWidgetData* widgetData = CWmWidgetData::NewLC( - iWidgetsList.LogoSize(), - iWmPlugin.ResourceLoader(), - aContentInfo, iWidgetRegistry ); - widgetData->SetPersistentWidgetOrder( iWidgetOrder ); - widgetData->SetValid( ETrue ); - - if ( iUninstallUid != KNullUid && - iUninstallUid == widgetData->PublisherUid() ) + if ( aContentInfo->CanBeAdded() ) { - widgetData->VisualizeUninstallL(); + // widgetdata takes ownership of contentinfo + CleanupStack::Pop( aContentInfo ); + + CWmWidgetData* widgetData = CWmWidgetData::NewLC( + iWidgetsList.LogoSize(), + iWmPlugin.ResourceLoader(), + aContentInfo, iWidgetRegistry ); + widgetData->SetPersistentWidgetOrder( iWidgetOrder ); + widgetData->SetValid( ETrue ); + + // start uninstall animation if this widget + // is currently been unistalled + if ( iUninstallUid != KNullUid && + iUninstallUid == widgetData->PublisherUid() ) + { + widgetData->VisualizeUninstallL(); + } + // add to visible data + iWidgetsList.AddWidgetDataL( widgetData, EFalse ); + CleanupStack::Pop( widgetData ); + aCount++; } - - iWidgetsList.AddWidgetDataL( widgetData, EFalse ); - CleanupStack::Pop( widgetData ); + else + { + //delete aContentInfo when it's not added to iVisibleWidgetArray + CleanupStack::PopAndDestroy( aContentInfo ); + } } // --------------------------------------------------------------------------- @@ -298,5 +345,24 @@ iWidgetOrder = NULL; } +// ---------------------------------------------------- +// CWmWidgetData::UidFromString +// ---------------------------------------------------- +// +TUid CWmWidgetLoaderAo::UidFromString( const TDesC8& aUidString ) const + { + TUid uid( KNullUid ); + const TInt KHexPrefixLength = 2; + if ( aUidString.Length() > KHexPrefixLength ) + { + TUint id = 0; + TLex8 lex( aUidString.Mid( KHexPrefixLength ) ); + if ( lex.Val( id, EHex ) == KErrNone ) + { + uid.iUid = (TInt32)id; + } + } + return uid; + } // end of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/src/wmwidgetorderdata.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/widgetmanager/src/wmwidgetorderdata.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,187 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* CWmWidgetOrderData implementation. +* +*/ + + +// INCLUDE FILES +#include +#include +#include "wmwidgetorderdata.h" +#include "wmpersistentwidgetorder.h" + +// --------------------------------------------------------- +// CWmWidgetOrderData::NewL +// --------------------------------------------------------- +// +CWmWidgetOrderData* CWmWidgetOrderData::NewL( + const TDesC& aPublisherId, + const TUid aUid, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ) + { + CWmWidgetOrderData* self = CWmWidgetOrderData::NewLC( + aPublisherId, aUid, aName, aPersistentWidgetOrder ); + CleanupStack::Pop(); // self; + return self; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::NewLC +// --------------------------------------------------------- +// +CWmWidgetOrderData* CWmWidgetOrderData::NewLC( + const TDesC& aPublisherId, + const TUid aUid, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ) + { + CWmWidgetOrderData* self = new ( ELeave ) CWmWidgetOrderData( aUid ); + CleanupStack::PushL(self); + self->ConstructL( aPublisherId, aName, aPersistentWidgetOrder ); + return self; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::CWmWidgetOrderData +// --------------------------------------------------------- +// +CWmWidgetOrderData::CWmWidgetOrderData( const TUid aUid ) + : iUid( aUid ) + { + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::ConstructL +// --------------------------------------------------------- +// +void CWmWidgetOrderData::ConstructL( + const TDesC& aPublisherId, + const TDesC& aName, + const CWmPersistentWidgetOrder* aPersistentWidgetOrder ) + { + iPublisherId = aPublisherId.AllocL(); + iName = aName.AllocL(); + iPersistentWidgetOrder = aPersistentWidgetOrder; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::~CWmWidgetOrderData +// --------------------------------------------------------- +// +CWmWidgetOrderData::~CWmWidgetOrderData() + { + delete iPublisherId; + delete iName; + //delete iPersistentWidgetOrder // TODO: is needed??? + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::PublisherId +// --------------------------------------------------------- +// +const TDesC& CWmWidgetOrderData::PublisherId() const + { + return ( iPublisherId ) ? *iPublisherId : KNullDesC(); + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::Uid +// --------------------------------------------------------- +// +const TUid CWmWidgetOrderData::Uid() const + { + return iUid; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::Name +// --------------------------------------------------------- +// +const TDesC& CWmWidgetOrderData::Name() const + { + return ( iName ) ? *iName : KNullDesC(); + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::CompareByName +// --------------------------------------------------------- +// +TInt CWmWidgetOrderData::CompareByName( + const CWmWidgetOrderData& aDataOne, const CWmWidgetOrderData& aDataTwo ) + { + // negate the result for ascending alphabetical order + TInt result = aDataOne.Name().CompareC( aDataTwo.Name() ); + return result; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::CompareByPersistentWidgetOrder +// --------------------------------------------------------- +// +TInt CWmWidgetOrderData::CompareByPersistentWidgetOrder( + const CWmWidgetOrderData& aDataOne, const CWmWidgetOrderData& aDataTwo ) + { + TInt result; + const CWmPersistentWidgetOrder* order = aDataOne.iPersistentWidgetOrder; + if ( order && !order->IsEmpty() ) + { + result = order->IndexOf( aDataOne ) - order->IndexOf( aDataTwo ); + } + else + { + // fallback: if persistent widget order is not available + // or it is empty (this is the case on first start, or if the persistent + // file is corrupted or deleted) -> order widgets by name. + result = CompareByName( aDataOne, aDataTwo ); + } + return result; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::EqualsTo +// --------------------------------------------------------- +// +TBool CWmWidgetOrderData::EqualsTo( const TUid aUid, const TDesC& aPublisherId ) + { + return ( iUid == aUid && *iPublisherId == aPublisherId ); + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::SetPersistentWidgetOrder +// --------------------------------------------------------- +// +void CWmWidgetOrderData::SetPersistentWidgetOrder( + CWmPersistentWidgetOrder* aPersistentWidgetOrder ) + { + iPersistentWidgetOrder = aPersistentWidgetOrder; + } + +// --------------------------------------------------------- +// CWmWidgetOrderData::UpdateName +// --------------------------------------------------------- +// +void CWmWidgetOrderData::UpdateNameL( const TDesC& aName ) + { + if ( iName->Compare( aName ) != KErrNone ) + { + delete iName; + iName = NULL; + iName = aName.AllocL(); + } + } + +// End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/conf/ui_wmunittest.cfg --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/conf/ui_wmunittest.cfg Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/conf/ui_wmunittest.cfg Fri Mar 12 15:41:49 2010 +0200 @@ -17,6 +17,8 @@ LOGO_PATH 102 CAN_BE_ADDED 103 CAN_BE_REMOVED 104 +KPUBLISHERID 105 +KTYPE 106 EUnrecognized 0 EUidIcon 1 @@ -1060,6 +1062,49 @@ //------------------------------------------------------------------------------- // +// Tests Uninstall +[Test] +title Uninstall +create wmunittest test +test PluginCreate +test InstallWrtWidget "c:\testframework\wmunittest\wmlogo\test.wgz" +test SetMass 1 +test ChangeContent 0 KPUBLISHERID "com.nokia.widget.foreca.touchweather" +test PluginActivate +pause 500 +test UninstallUid +test Uninstall +test UninstallUid +test WaitUninstallToFinnish +test CleanUninstall +pause 3000 +test PluginDeactivate +pause 500 +test PluginDelete +test WasUnistalled "com.nokia.widget.foreca.touchweather" +delete test +[Endtest] + +// Tests Uninstall +[Test] +title Cancel Uninstall +create wmunittest test +test PluginCreate +test InstallWrtWidget "c:\testframework\wmunittest\wmlogo\test.wgz" +test SetMass 1 +test ChangeContent 0 KPUBLISHERID "com.nokia.widget.foreca.touchweather" +test PluginActivate +pause 500 +test Uninstall +pause 500 +test CancelUninstall +pause 500 +test PluginDeactivate +pause 500 +test PluginDelete +delete test +[Endtest] + // Tests error note [Test] title Other error note diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/group/Create_sisx.bat --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/Create_sisx.bat Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/group/Create_sisx.bat Fri Mar 12 15:41:49 2010 +0200 @@ -16,4 +16,4 @@ rem Create wm sis&sisx files makesis wmunittest.pkg -signsis wmunittest.SIS wmunittest.SISX Nokia_RnDCert_02.der Nokia_RnDCert_02.key +signsis wmunittest.SIS wmunittest.SISX ..\..\..\internal\cert\Nokia_RnDCert_02.der ..\..\..\internal\cert\Nokia_RnDCert_02.key diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.mmp --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/group/wmunittest.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -25,6 +25,8 @@ UID 0x1000008D 0x101FB3E3 CAPABILITY ALL -TCB +MACRO _WM_UNIT_TEST + VENDORID VID_DEFAULT SECUREID 0x101FB3E3 @@ -52,7 +54,8 @@ SOURCE wmwidgetloaderao.cpp SOURCE wmconfiguration.cpp SOURCE wminstaller.cpp -SOURCE wmprocessmonitor.cpp +SOURCE wmprocessmonitor.cpp +SOURCE wmwidgetorderdata.cpp SOURCEPATH ../src SOURCE wmunittest.cpp @@ -60,6 +63,7 @@ SOURCE wmunittest_plugin.cpp SOURCE wmunittest_sortorder.cpp SOURCE wmunittest_converter.cpp +SOURCE wmunittest_uninstaller.cpp // same as in widgetmanager.mmp LIBRARY euser.lib @@ -102,6 +106,8 @@ LIBRARY centralrepository.lib LIBRARY bmpanim.lib // AknBitmap animation LIBRARY inetprotutil.lib +LIBRARY bitgdi.lib // CFbsBitmapDevice +LIBRARY charconv.lib // libraries needed by the test framework LIBRARY stiftestinterface.lib diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/inc/wmunittest.h --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/inc/wmunittest.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/inc/wmunittest.h Fri Mar 12 15:41:49 2010 +0200 @@ -25,8 +25,10 @@ #include #include // RFs +#include "wmwidgetorderdata.h" #include "wmimageconverter.h" // MConverterObserver #include +#include "wminstaller.h" // MACROS #define TEST_CLASS_VERSION_MAJOR 0 @@ -58,7 +60,7 @@ class CHsContentInfo; class CHsContentInfoArray; class RWidgetDataValues; - +class CWmInstaller; // CLASS DECLARATION /** @@ -95,6 +97,7 @@ TInt WidgetListL( CHsContentInfoArray& aArray ); + TInt WidgetListL( CHsContentInfo& aInfo, CHsContentInfoArray& aArray ); TInt ViewListL( CHsContentInfoArray& aArray ); TInt AppListL( CHsContentInfoArray& aArray ); TInt AddWidgetL( CHsContentInfo& aInfo ); @@ -169,12 +172,24 @@ // cancel ongoing convert TInt CancelConvertL( CStifItemParser& aItem ); - - private: // members used in testing + // TESTING UNISTALL + TInt UninstallL( CStifItemParser& aItem ); + TInt WaitUninstallToFinnishL( CStifItemParser& aItem ); + TInt UninstallUidL( CStifItemParser& aItem ); + TInt CleanUninstall( CStifItemParser& aItem ); + TInt WasUnistalledL( CStifItemParser& aItem ); + TInt CancelUninstall( CStifItemParser& aItem ); + + private: // helper functions for test cases void CreateContentInfoArrayL( CHsContentInfoArray& aArray, TInt aCount ); - void CreateWidgetDataArrayL( RWidgetDataValues& aArray, TInt aCount ); - + void CreateWidgetDataArrayL( ROrderArray& aArray, TInt aCount ); + TUid UidFromString( const TDesC8& aUidString ) const; + void StartTimerL(); + static TInt Timeout( TAny* aPtr ); + + private: // members used in testing + // file server RFs iFs; @@ -202,6 +217,12 @@ // multipurpose test data count TInt iMass; + // uninstall uid + TUid iUninstallUid; + + // timer for waiting uninstall to finnish + CPeriodic* iTimer; + // requested changes to the content TInt iChangeIndex; TInt iChangeType; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_all.cpp --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_all.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_all.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -79,6 +79,14 @@ ENTRY( "ImageConverterConversionMethod", CWmUnitTest::ImageConverterConversionMethodL ), ENTRY( "CancelConvert", CWmUnitTest::CancelConvertL ), + // uninstall + ENTRY( "Uninstall", CWmUnitTest::UninstallL ), + ENTRY( "UninstallUid", CWmUnitTest::UninstallUidL ), + ENTRY( "WaitUninstallToFinnish", CWmUnitTest::WaitUninstallToFinnishL ), + ENTRY( "CleanUninstall", CWmUnitTest::CleanUninstall ), + ENTRY( "WasUnistalled", CWmUnitTest::WasUnistalledL ), + ENTRY( "CancelUninstall", CWmUnitTest::CancelUninstall ), + }; const TInt count = sizeof( KFunctions ) / diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_plugin.cpp --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_plugin.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_plugin.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -22,6 +22,7 @@ #include #include #include +#include #include "wmunittest.h" // components to test #include "wmplugin.h" @@ -47,7 +48,8 @@ const TInt KLogoPath = 102; const TInt KCanBeAdded = 103; const TInt KCanBeRemoved = 104; - +const TInt KPublisherId = 105; +const TInt KType = 106; // ============================ MEMBER FUNCTIONS =============================== @@ -98,7 +100,7 @@ TInt CWmUnitTest::PluginDeactivateL( CStifItemParser& /*aItem*/ ) { if ( iWmPlugin == 0 ) User::Leave( KErrArgument ); - iWmPlugin->CloseView(); + iWmPlugin->DeActivate(); _RETURN("PluginActivateL End", KErrNone); } @@ -123,6 +125,11 @@ return KErrNone; } +TInt CWmUnitTest::WidgetListL( CHsContentInfo& aInfo, CHsContentInfoArray& aArray ) + { + return KErrNone; + } + TInt CWmUnitTest::ViewListL( CHsContentInfoArray& /*aArray*/ ) { return KErrNone; @@ -165,12 +172,12 @@ TInt CWmUnitTest::ActiveViewL( CHsContentInfo& /*aInfo*/ ) { - return 0; + return KErrNone; } TInt CWmUnitTest::ActiveAppL( CHsContentInfo& /*aInfo*/ ) { - return 0; + return KErrNone; } @@ -236,6 +243,14 @@ { info->SetCanBeAdded( s2b(*iChangeValue) ); } else if ( iChangeType == KCanBeRemoved ) { info->SetCanBeRemoved( s2b(*iChangeValue) ); } + else if ( iChangeType == KPublisherId ) + { info->SetPublisherIdL( *iChangeValue ); } + else if ( iChangeType == KType ) + { + TBuf8<128> buf; + CnvUtfConverter::ConvertFromUnicodeToUtf8( buf, *iChangeValue ); + info->SetTypeL( buf ); + } } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_sortorder.cpp --- a/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_sortorder.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_sortorder.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,7 @@ // components to test #include "wmpersistentwidgetorder.h" #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" #include #include #include // widgetreqistry @@ -85,7 +86,7 @@ TInt ret = KErrNone; _CLEANUPCHECK_BEGIN - RWidgetDataValues array; + ROrderArray array; CleanupClosePushL( array ); CreateWidgetDataArrayL( array, iMass ); iWmWidgetOrder->StoreL( array ); @@ -126,7 +127,7 @@ _CLEANUPCHECK_BEGIN // test IndexOf - RWidgetDataValues array; + ROrderArray array; CreateWidgetDataArrayL( array, iMass ); for( TInt i=0; iArray().Count() > 0 ) - { - CWmWidgetData* data = CWmWidgetData::NewL( - dummySize, *resLoader, - contentArray->Array()[0], - ®istryClient); - contentArray->Array().Remove( 0 ); + for ( TInt i = 0; i < contentArray->Array().Count(); i++ ) + { + CHsContentInfo* contentInfo = contentArray->Array()[i]; + CWmWidgetOrderData* data = CWmWidgetOrderData::NewL( + contentInfo->PublisherId(), + UidFromString ( contentInfo->Uid() ), + contentInfo->Name(), + iWmWidgetOrder ); + CleanupStack::PushL( data ); aArray.AppendL( data ); CleanupStack::Pop( data ); } - - registryClient.Disconnect(); - CleanupStack::PopAndDestroy( ®istryClient ); + + contentArray->Array().ResetAndDestroy(); CleanupStack::PopAndDestroy( contentArray ); } +TUid CWmUnitTest::UidFromString( const TDesC8& aUidString ) const + { + TUid uid( TUid::Null() ); + const TInt KHexPrefixLength = 2; + if ( aUidString.Length() > KHexPrefixLength ) + { + TUint id = 0; + TLex8 lex( aUidString.Mid( KHexPrefixLength ) ); + if ( lex.Val( id, EHex ) == KErrNone ) + { + uid.iUid = (TInt32)id; + } + } + return uid; + } // End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_uninstaller.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/idlehomescreen/widgetmanager/tsrc/wmunittest/src/wmunittest_uninstaller.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -0,0 +1,184 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + +//INCLUDE FILES +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // widgetreqistry +#include "wmresourceloader.h" + +#include "hscontentinfo.h" +#include "wmplugin.h" +#include "wmwidgetdata.h" +#include "wmunittest.h" +#include "wminstaller.h" +#include "wmmainContainer.h" +#include "wmlistbox.h" + + +// ----------------------------------------------------------------------------- +// CWmUnitTest::UninstallL +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::UninstallL( CStifItemParser& aItem ) + { + TInt ret = KErrNone; + CWmWidgetData* data = + iWmPlugin->iWmMainContainer->iWidgetsList->WidgetData(); + iUninstallUid = data->PublisherUid(); + iWmPlugin->WmInstaller().UninstallL( data ); + + _RETURN("UninstallL End", ret); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::CleanUninstall +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::CleanUninstall( CStifItemParser& /*aItem*/ ) + { + if ( iTimer ) + { + if ( iTimer->IsActive() ) + iTimer->Cancel(); + + delete iTimer; + iTimer = NULL; + } + _RETURN("CleanUninstall End", KErrNone ); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::UninstallUidL +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::UninstallUidL( CStifItemParser& /*aItem*/ ) + { + TInt ret = KErrNone; + + TUid installUid = iWmPlugin->WmInstaller().UninstallUid(); + if ( installUid != iUninstallUid ) + { + ret = KErrNotFound; + } + _RETURN("UninstallUidL End", ret); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::WaitUninstallToFinnishL +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::WaitUninstallToFinnishL( CStifItemParser& /*aItem*/ ) + { + TInt ret = KErrNone; + + if ( iWmPlugin->WmInstaller().IsActive() ) + { + StartTimerL(); + CActiveScheduler::Start(); + + if ( iWmPlugin->WmInstaller().UninstallUid() != KNullUid || + iWmPlugin->WmInstaller().IsActive() ) + { + ret = KErrGeneral; + } + } + _RETURN("WaitUninstallToFinnishL End", ret); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::WasUnistalled +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::WasUnistalledL( CStifItemParser& aItem ) + { + TInt ret = KErrNone; + TPtrC id; + aItem.SetParsingType( CStifItemParser::EQuoteStyleParsing ); + aItem.GetNextString( id ); + + RWidgetRegistryClientSession widgetRegistry; + User::LeaveIfError( widgetRegistry.Connect() ); + CleanupClosePushL( widgetRegistry ); + + TInt uid = widgetRegistry.GetWidgetUidL( id ); + + if ( uid != KErrNone ) + { + ret = KErrGeneral; + } + CleanupStack::PopAndDestroy( &widgetRegistry ); + + _RETURN("WasUnistalled End", ret); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::CancelUninstall +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::CancelUninstall( CStifItemParser& aItem ) + { + TInt ret = KErrNone; + iWmPlugin->WmInstaller().Cancel(); + + TBool active = iWmPlugin->WmInstaller().IsActive(); + if ( active ) + { + ret = KErrGeneral; + } + _RETURN("CancelUninstall End", ret ); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::StartTimer +// ----------------------------------------------------------------------------- +// +void CWmUnitTest::StartTimerL() + { + if ( !iTimer ) + iTimer = CPeriodic::NewL( CActive::EPriorityStandard ); + + TTimeIntervalMicroSeconds32 delay( 4*1000*1000 ); // 2 sec + iTimer->Start( delay, delay, TCallBack( Timeout, this ) ); + } + +// ----------------------------------------------------------------------------- +// CWmUnitTest::Timeout +// ----------------------------------------------------------------------------- +// +TInt CWmUnitTest::Timeout( TAny* aPtr ) + { + CWmUnitTest* self = static_cast( aPtr ); + if ( self->iWmPlugin->WmInstaller().IsActive() ) + { + return 1; + } + else + { + self->iTimer->Cancel(); + CActiveScheduler::Stop(); + return 0; + } + } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluicontroller/inc/appui.h --- a/idlehomescreen/xmluicontroller/inc/appui.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluicontroller/inc/appui.h Fri Mar 12 15:41:49 2010 +0200 @@ -79,8 +79,46 @@ RPointerArray< CXnNodeAppIf >* aList = NULL ); void HandleEnterEditModeL( TBool aEnter ); - + +private: + // new functions + + /** + * Starts long press recognizer of Send key. + * + * @since S60 5.2 + */ + void StartKeyTimerL(); + + /** + * Stops Send key long press recognizer. + * + * @since S60 5.2 + */ + void StopKeyTimer(); + /** + * Launches Voice command application after long Send key is pressed. + * + * @since S60 5.2 + */ + void LaunchVoiceCommandL(); + + /** + * Callback function for long press timer of the Send key. + * + * @since S60 5.2 + */ + static TInt ReportLongPressL( TAny* aThis ); + + /** + * Sets title pane text + * + * @since S60 5.2 + * @param aText Text to set + */ + void SetTitlePaneTextL( const TDesC& aText ); + private: // from MCoeViewActivationObserver @@ -94,9 +132,16 @@ // new functions /** + * Activates UI. Called by UI controller during bootup sequence. + * + * @since S60 5.2 + */ + void ActivateUi(); + + /** * Sets plugins online state * - * @since S60 5.0 + * @since S60 5.2 * @param aOnline ETrue to enter online, EFalse to offline * */ @@ -113,7 +158,7 @@ /** * Gets online/offline helper object * - * @since S60 5.0 + * @since S60 5.2 * @return online/offline helper */ COnlineOfflineHelper* Helper() const; @@ -138,12 +183,14 @@ CAiUiIdleIntegration* iIdleIntegration; /** Online/Offline helper object, owned */ COnlineOfflineHelper* iHelper; + /** Timer for Send key long press recognition, owned */ + CPeriodic* iKeyTimer; + /** Edit mode title pane text, owned */ + HBufC* iEditModeTitle; /** DeviceStatus publisher info */ THsPublisherInfo iDeviceStatusInfo; /** Flag to indicate whether edit mode is active */ - TBool iInEditMode; - /** Flag to indicate UI shutdown sequence is ongoing */ - TBool iUiShutdown; + TBool iInEditMode; }; } // namespace AiXmlUiController diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluicontroller/src/ai3xmlui.rss --- a/idlehomescreen/xmluicontroller/src/ai3xmlui.rss Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluicontroller/src/ai3xmlui.rss Fri Mar 12 15:41:49 2010 +0200 @@ -29,6 +29,7 @@ #include #include #include + // ========== RESOURCE DEFINITIONS ============================================ RESOURCE RSS_SIGNATURE { } @@ -142,6 +143,11 @@ buf = qtn_hs_operation_failed_no_disk; } +RESOURCE TBUF r_qtn_hs_title_editmode + { + buf = qtn_hs_title_editing; + } + // home screen online dialog RESOURCE DIALOG r_yes_no_hs_online { diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluicontroller/src/appui.cpp --- a/idlehomescreen/xmluicontroller/src/appui.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluicontroller/src/appui.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -17,12 +17,16 @@ // System includes #include -#include // For status pane layout resource ids -#include -#include // For RProperty +#include +#include #include -#include // Avkon dialog shutter. +#include #include +#include +#include +#include +#include +#include // User includes #include @@ -44,17 +48,18 @@ #include "aiuiidleintegration.h" #include "xmluicontrollerpanic.h" -#include "debug.h" -#include "ai3perf.h" #include "xndomnode.h" #include "xnproperty.h" #include "xnuiengineappif.h" #include "onlineofflinehelper.h" #include "ainativeuiplugins.h" +#include "debug.h" + // Constants // EAiDeviceStatusContentNetworkIdentity content id _LIT( KNetworkIdentity, "NetworkIdentity" ); +const TUid KVoiceUiUID = { 0x101F8543 }; using namespace AiXmlUiController; @@ -75,18 +80,23 @@ // void CAppUi::ConstructL() { - AI3_PERF_START(perfdata, "xmluicontroller: CAppUi::ConstructL") - + __TICK( "CAppUi::ConstructL" ); + // 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") - __TIME("XML UI: XnAppUiAdapted::ConstructL", + __TIME("XML UI: CXnAppUiAdapter::ConstructL", CXnAppUiAdapter::ConstructL(); ) - + + CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | + CAknAppUiBase::EDisableSendKeyLong ); + // Register for XML UI view activation & deactivation AddViewActivationObserverL( this ); @@ -114,26 +124,14 @@ keySoundConfig.iKeySounds = KeySounds(); keySoundConfig.iContextResId = R_XUI_DEFAULT_SKEY_LIST; - iIdleIntegration = CAiUiIdleIntegration::NewL - ( *iEikonEnv, keySoundConfig, iUiCtl.FwEventHandler() ); - iUiCtl.NotifyAppEnvReadyL(); - - CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort | - CAknAppUiBase::EDisableSendKeyLong ); - + iHelper = COnlineOfflineHelper::NewL( iUiCtl ); - // Load device status plugin here because it is always needed - iDeviceStatusInfo = THsPublisherInfo( KDeviceStatusPluginUid, - KDeviceStatusPluginName, KNullDesC8 ); - - iUiCtl.FwStateHandler()->LoadPlugin( - iDeviceStatusInfo, EAiFwSystemStartup ); - - __HEAP("XML UI: Done - Construct App UI"); - - AI3_PERF_STOP(perfdata, "xmluicontroller: CAppUi::ConstructL") + iIdleIntegration = CAiUiIdleIntegration::NewL + ( *iEikonEnv, keySoundConfig, iUiCtl.FwEventHandler() ); + + __TICK( "CAppUi::ConstructL - done" ); } // ---------------------------------------------------------------------------- @@ -155,6 +153,8 @@ // CAppUi::~CAppUi() { + delete iEditModeTitle; + delete iKeyTimer; delete iHelper; delete iEventHandler; delete iContentRenderer; @@ -162,13 +162,50 @@ } // ---------------------------------------------------------------------------- +// CAppUi::ActivateUi() +// ---------------------------------------------------------------------------- +// +void CAppUi::ActivateUi() + { + __TICK( "CAppUi::ActivateUi" ); + + TVwsViewId activeViewId; + + TInt err( GetActiveViewId( activeViewId ) ); + + if ( err == KErrNotFound ) + { + // Get Xml Ui view id + TVwsViewId xmlViewId( View().ViewId() ); + + TRAP_IGNORE( ActivateLocalViewL( xmlViewId.iViewUid ) ); + } + + 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 ); + + iUiCtl.FwStateHandler()->LoadPlugin( + iDeviceStatusInfo, EAiFwSystemStartup ); + } + + iUiCtl.FwEventHandler()->HandleUiReadyEventL( iUiCtl ); + + __PRINTS( "*** CAppUi::ActivateUi - done" ); + } + +// ---------------------------------------------------------------------------- // CAppUi::PrepareToExit() // ---------------------------------------------------------------------------- // void CAppUi::PrepareToExit() - { - iUiShutdown = ETrue; - + { RemoveViewActivationObserver( this ); iUiCtl.FwEventHandler()->HandleUiShutdown( iUiCtl ); @@ -226,13 +263,36 @@ TKeyEvent key; key.iScanCode = EStdKeyNo; - key.iCode = EStdKeyNull; + key.iCode = EKeyNull; key.iModifiers = 0; key.iRepeats = 0; iCoeEnv->SimulateKeyEventL( key, EEventKey ); } } + + if( aEvent.Type() == EEventKeyDown ) + { + if( aEvent.Key()->iScanCode == EStdKeyYes ) + { + // Send key was pushed and long press recognition is started + StartKeyTimerL(); + } + } + + if( aEvent.Type() == EEventKeyUp ) + { + if( aEvent.Key()->iScanCode == EStdKeyYes ) + { + if( iKeyTimer && iKeyTimer->IsActive() ) + { + // up event is coming before long press of Send key is recognized + // Start dialled calls + StopKeyTimer(); + LogsUiCmdStarter::CmdStartL( LogsUiCmdStarterConsts::KDialledView() ); + } + } + } if( iIdleIntegration ) { @@ -285,12 +345,6 @@ // TInt CAppUi::LoadPublisher( CXnNodeAppIf& aPublisher, TInt aReason ) { - if ( iUiShutdown ) - { - // Framework has already destroyed all publishers - return KErrNone; - } - THsPublisherInfo info; TRAP_IGNORE( iUiCtl.PublisherInfoL( aPublisher, info ) ); @@ -311,12 +365,6 @@ // TInt CAppUi::DestroyPublisher( CXnNodeAppIf& aPublisher, TInt aReason ) { - if ( iUiShutdown ) - { - // Framework has already destroyed all publishers - return KErrNone; - } - THsPublisherInfo info; TRAP_IGNORE( iUiCtl.PublisherInfoL( aPublisher, info ) ); @@ -334,12 +382,6 @@ TBool CAppUi::DynInitMenuItemL( const TDesC& aItemType, RPointerArray< CXnNodeAppIf >* aList ) { - if ( iUiShutdown ) - { - // Framework has already destroyed all publishers - return EFalse; - } - _LIT( KOnline, "hs_online" ); _LIT( KOffline, "hs_offline" ); @@ -376,11 +418,8 @@ // ---------------------------------------------------------------------------- // void CAppUi::SetOnlineStateL( TBool aOnline ) - { - if ( !iUiShutdown ) - { - iHelper->ProcessOnlineStateL( aOnline ); - } + { + iHelper->ProcessOnlineStateL( aOnline ); } // ---------------------------------------------------------------------------- @@ -409,13 +448,26 @@ { if ( iInEditMode != aEnter ) { + TVwsViewId activeViewId; + TInt err( GetActiveViewId( activeViewId ) ); + if ( aEnter ) - { + { iUiCtl.FwEventHandler()->SuspendContent( iDeviceStatusInfo, KNetworkIdentity ); + + if ( !err && View().ViewId() == activeViewId ) + { + SetTitlePaneTextL( *iEditModeTitle ); + } } else { + if ( !err && View().ViewId() == activeViewId ) + { + SetTitlePaneTextL( KNullDesC ); + } + iUiCtl.FwEventHandler()->RefreshContent( iDeviceStatusInfo, KNetworkIdentity ); } @@ -435,7 +487,7 @@ TInt err( GetActiveViewId( activeViewId ) ); - if ( iInEditMode || err == KErrNotFound ) + if ( err == KErrNotFound ) { return; } @@ -444,17 +496,143 @@ TVwsViewId xmlViewId( View().ViewId() ); if ( xmlViewId == aNewlyActivatedViewId && activeViewId != xmlViewId ) - { - // Xml Ui view became active - iUiCtl.FwEventHandler()->RefreshContent( - iDeviceStatusInfo, KNetworkIdentity ); - } + { + if ( iInEditMode ) + { + TRAP_IGNORE( SetTitlePaneTextL( *iEditModeTitle ) ); + } + else + { + // Xml Ui view became active + iUiCtl.FwEventHandler()->RefreshContent( + iDeviceStatusInfo, KNetworkIdentity ); + } + } else if ( xmlViewId == aViewIdToBeDeactivated && activeViewId == xmlViewId ) - { - // Xml Ui view became inactive - iUiCtl.FwEventHandler()->SuspendContent( - iDeviceStatusInfo, KNetworkIdentity ); - } - } + { + if ( iInEditMode ) + { + TRAP_IGNORE( SetTitlePaneTextL( KNullDesC ) ); + } + else + { + // Xml Ui view became inactive + iUiCtl.FwEventHandler()->SuspendContent( + iDeviceStatusInfo, KNetworkIdentity ); + } + } + } + +// ---------------------------------------------------------------------------- +// CAppUi::StartKeyTimerL() +// Starts long press recognizer of Send key. +// ---------------------------------------------------------------------------- +// +void CAppUi::StartKeyTimerL() + { + if ( !iKeyTimer ) + { + iKeyTimer = CPeriodic::NewL( CActive::EPriorityStandard ); + } + else if ( iKeyTimer->IsActive() ) + { + iKeyTimer->Cancel(); + } + iKeyTimer->Start( KAknKeyboardRepeatInitialDelay, + KAknKeyboardRepeatInitialDelay, + TCallBack ( ReportLongPressL, this ) ); + } + +// ---------------------------------------------------------------------------- +// CAppUi::StopKeyTimer() +// Stops Send key long press recognizer. +// ---------------------------------------------------------------------------- +// +void CAppUi::StopKeyTimer() + { + if ( iKeyTimer && iKeyTimer->IsActive() ) + { + iKeyTimer->Cancel(); + } + } + +// ---------------------------------------------------------------------------- +// CAppUi::HandleViewActivation() +// Launches Voice command application after long Send key is pressed. +// ---------------------------------------------------------------------------- +// +void CAppUi::LaunchVoiceCommandL() + { + TApaTaskList apaTaskList( iCoeEnv->WsSession() ); + TApaTask apaTask = apaTaskList.FindApp( KVoiceUiUID ); + + if ( apaTask.Exists() ) + { + apaTask.BringToForeground(); + } + else + { + RApaLsSession apaLsSession; + User::LeaveIfError( apaLsSession.Connect() ); + CleanupClosePushL( apaLsSession ); + + TApaAppInfo appInfo; + + if( apaLsSession.GetAppInfo( appInfo, KVoiceUiUID ) == KErrNone ) + { + CApaCommandLine* cmdLine = CApaCommandLine::NewLC(); + cmdLine->SetExecutableNameL( appInfo.iFullName ); + cmdLine->SetCommandL( EApaCommandRun ); + User::LeaveIfError( apaLsSession.StartApp( *cmdLine ) ); + CleanupStack::PopAndDestroy( cmdLine ); + } + CleanupStack::PopAndDestroy( &apaLsSession ); + } + } + +// ---------------------------------------------------------------------------- +// CAppUi::ReportLongPressL() +// Callback function for long press timer of the Send key. +// ---------------------------------------------------------------------------- +// +TInt CAppUi::ReportLongPressL( TAny* aThis ) + { + CAppUi* self = reinterpret_cast ( aThis ); + + self->StopKeyTimer(); + + if ( iAvkonAppUi->IsForeground() ) + { + self->LaunchVoiceCommandL(); + } + + return 1; // CPeriodic ignores return value + } + +// ---------------------------------------------------------------------------- +// CAppUi::SetTitlePaneTextL() +// +// ---------------------------------------------------------------------------- +// +void CAppUi::SetTitlePaneTextL( const TDesC& aText ) + { + CEikStatusPane* sp( StatusPane() ); + + TUid titlePaneUid( TUid::Uid( EEikStatusPaneUidTitle ) ); + + CEikStatusPaneBase::TPaneCapabilities subPaneTitle( + sp->PaneCapabilities( titlePaneUid ) ); + + if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) + { + CAknTitlePane* title = + static_cast< CAknTitlePane* >( sp->ControlL( titlePaneUid ) ); + + if ( title ) + { + title->SetTextL( aText ); + } + } + } // End of File. diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluicontroller/src/xmluicontroller.cpp --- a/idlehomescreen/xmluicontroller/src/xmluicontroller.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluicontroller/src/xmluicontroller.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -259,22 +259,15 @@ // ---------------------------------------------------------------------------- // void CXmlUiController::NotifyAppEnvReadyL() - { + { + iCPSpublisher = CContentPublisher::NewL( *this ); + + iExitTimer = CPeriodic::NewL( CActive::EPriorityStandard ); + if( iFwEventHandler ) { - iFwEventHandler->AppEnvReadyL(); - iFwEventHandler->HandleUiReadyEventL( *this ); - } - - if( !iCPSpublisher ) - { - iCPSpublisher = CContentPublisher::NewL( *this ); - } - - if( !iExitTimer ) - { - iExitTimer = CPeriodic::NewL( CActive::EPriorityStandard ); - } + iFwEventHandler->AppEnvReadyL(); + } } // ---------------------------------------------------------------------------- @@ -599,6 +592,10 @@ // void CXmlUiController::ActivateUI() { + if ( iRunningAsMain && iAppUi ) + { + iAppUi->ActivateUi(); + } } // ---------------------------------------------------------------------------- @@ -670,10 +667,12 @@ // void CXmlUiController::RunApplicationL() { - iRunningAsMain = ETrue; + __PRINTS( "*** CXmlUiController::RunApplicationL" ); + iRunningAsMain = ETrue; + User::LeaveIfError( - EikStart::RunApplication( &CXmlUiController::NewApplication ) ); + EikStart::RunApplication( &CXmlUiController::NewApplication ) ); } // ---------------------------------------------------------------------------- @@ -815,9 +814,18 @@ // CApaApplication* CXmlUiController::NewApplication() { - CXmlUiController* self = static_cast(Dll::Tls()); - __ASSERT_ALWAYS( self, Panic(ECriticalPointerNull) ); - return CApplication::New(*self); + __TICK( "CXmlUiController::NewApplication" ); + __TIME_MARK( time ); + + CXmlUiController* self = static_cast< CXmlUiController* >( Dll::Tls() ); + + __ASSERT_ALWAYS( self, Panic( ECriticalPointerNull ) ); + + CApplication* app = CApplication::New( *self ); + + __TIME_ENDMARK( "CXmlUiController::NewApplication, done", time ); + + return app; } const TImplementationProxy KImplementationTable[] = diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xnliteral.h --- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xnliteral.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/inc/xnliteral.h Fri Mar 12 15:41:49 2010 +0200 @@ -47,13 +47,6 @@ //Control _STLIT8(KButton, "button"); -_STLIT8(KGrid, "grid"); -_STLIT8(KListItem, "listitem"); -_STLIT8(KDataGrid, "datagrid"); -_STLIT8(KGridCellTemplate, "gridcelltemplate"); -_STLIT8(KList, "list"); -_STLIT8(KDataList, "datalist"); -_STLIT8(KListRowTemplate, "listrowtemplate"); _STLIT8(KMenuBar, "menubar"); _STLIT8(KMenu, "menu"); _STLIT8(KMenuItem, "menuitem"); @@ -144,18 +137,6 @@ //For text,list,datalist, grid, datagrid elements _STLIT8(KOverflow, "overflow"); -//List And grid properties -_STLIT8(KVisibleRows, "_s60-visible-list-rows"); -_STLIT8(KInitialSelection, "_s60-initial-list-selection"); -_STLIT8(KFocusHorLooping, "_s60-list-focus-horizontal-looping"); -_STLIT8(KFocusVerLooping, "_s60-list-focus-vertical-looping"); - -//Datagrid & grid properties -_STLIT8(KGridColumns, "_s60-grid-columns"); -_STLIT8(KS60GridOrientation, "_s60-grid-orientation"); -_STLIT8(KS60GridVerDirection, "_s60-grid-ver-direction"); //lr, rl -_STLIT8(KS60GridHorDirection, "_s60-grid-hor-direction"); //tb, bt - //Views and view properties _STLIT8(KViewDecoration, "_s60-view-decoration"); _STLIT8(KTabStyle, "_s60-tab-style"); @@ -258,23 +239,6 @@ {(const void*)&KOverflow, EFalse} }; -const TXnPropertyProxy KXnGridAndListPropertyTable[] = - { - {(const void*)&KVisibleRows, EFalse}, - {(const void*)&KInitialSelection, EFalse}, - {(const void*)&KFocusHorLooping, EFalse}, - {(const void*)&KFocusVerLooping, EFalse}, - {(const void*)&KOverflow, EFalse} - }; - -const TXnPropertyProxy KXnDataGridAndGridPropertyTable[] = - { - {(const void*)&KGridColumns, EFalse}, - {(const void*)&KS60GridOrientation, EFalse}, - {(const void*)&KS60GridVerDirection, EFalse}, - {(const void*)&KS60GridHorDirection, EFalse} - }; - const TXnPropertyProxy KXnViewsAndViewPropertyTable[] = { {(const void*)&KViewDecoration, EFalse}, diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitor.cpp --- a/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitor.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/ecomelement/xndomvisitor/src/xndomvisitor.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -33,8 +33,6 @@ LOCAL_C void SetCommonPropertiesL( TAny* aData ); LOCAL_C void SetElementWithTextPropertiesL( TAny* aData ); LOCAL_C void SetTextElementPropertiesL( TAny* aData ); -LOCAL_C void SetGridAndListPropertiesL( TAny* aData ); -LOCAL_C void SetDataGridAndGridPropertiesL( TAny* aData ); LOCAL_C void SetViewsAndViewPropertiesL( TAny* aData ); LOCAL_C void SetViewPropertiesL( TAny* aData ); @@ -56,13 +54,6 @@ { (const void*)&KApplication, NULL, EEmpty}, { (const void*)&KDesc, NULL, EPCData}, { (const void*)&KButton, &SetTextElementPropertiesL, EEmpty}, - { (const void*)&KGrid, &SetDataGridAndGridPropertiesL, EEmpty}, - { (const void*)&KListItem, &SetElementWithTextPropertiesL, EEmpty}, - { (const void*)&KDataGrid, &SetDataGridAndGridPropertiesL, EEmpty}, - { (const void*)&KGridCellTemplate, &SetCommonPropertiesL, EEmpty}, - { (const void*)&KList, &SetGridAndListPropertiesL, EEmpty}, - { (const void*)&KDataList, &SetGridAndListPropertiesL, EEmpty}, - { (const void*)&KListRowTemplate, &SetCommonPropertiesL, EEmpty}, { (const void*)&KMenuBar, NULL, EEmpty}, { (const void*)&KMenu, NULL, EEmpty}, { (const void*)&KMenuItem, NULL, EEmpty}, @@ -141,22 +132,7 @@ SetElementWithTextPropertiesL( aData ); TInt count( sizeof (KXnTextElementPropertyTable) / sizeof(TXnPropertyProxy) ); SetPropertiesL( KXnTextElementPropertyTable, count, aData ); - } - -LOCAL_C void SetGridAndListPropertiesL( TAny* aData ) - { - SetCommonPropertiesL( aData ); - TInt count( sizeof (KXnGridAndListPropertyTable) / sizeof(TXnPropertyProxy) ); - SetPropertiesL( KXnGridAndListPropertyTable, count, aData ); - } - -LOCAL_C void SetDataGridAndGridPropertiesL( TAny* aData ) - { - SetGridAndListPropertiesL( aData ); - TInt count( sizeof (KXnDataGridAndGridPropertyTable) / sizeof(TXnPropertyProxy) ); - SetPropertiesL( KXnDataGridAndGridPropertyTable, count, aData ); - } - + } LOCAL_C void SetViewsAndViewPropertiesL( TAny* aData ) { diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationadapter.h --- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/inc/xnanimationadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -50,13 +50,16 @@ virtual ~CXnAnimationAdapter(); public: // From Base classes - /** - * From CXnControlAdapter Handles the property changes. - * @since Series 60 3.1 - * @return void. - */ + + // From CXnControlAdapter void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL); + // From CXnControlAdapter + void DoEnterPowerSaveModeL( TModeEvent aEvent ); + + // From CXnControlAdapter + void DoExitPowerSaveModeL( TModeEvent aEvent ); + protected: /** * From CCoeControl. @@ -124,6 +127,9 @@ // Timer for animation, owned CPeriodic* iPeriodicTimer; + + // Whether the renderer is in power save mode or not + TBool iInPowerSaveMode; }; #endif // _XNANIMATIONAPADAPTER_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnanimationfactory/src/xnanimationadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,6 +18,8 @@ #include #include #include +#include + #include "xnnodepluginif.h" #include "xndomproperty.h" #include "xnproperty.h" @@ -112,6 +114,26 @@ } // ----------------------------------------------------------------------------- +// CXnAnimationAdapter::DoEnterPowerSaveModeL +// ----------------------------------------------------------------------------- +// +void CXnAnimationAdapter::DoEnterPowerSaveModeL( TModeEvent /*aEvent*/ ) + { + iInPowerSaveMode = ETrue; + StopAnimation(); + } + +// ----------------------------------------------------------------------------- +// CXnAnimationAdapter::DoExitPowerSaveModeL +// ----------------------------------------------------------------------------- +// +void CXnAnimationAdapter::DoExitPowerSaveModeL( TModeEvent /*aEvent*/ ) + { + iInPowerSaveMode = EFalse; + StartAnimation(); + } + +// ----------------------------------------------------------------------------- // CXnNewstickerAdapter::MakeVisible() // ----------------------------------------------------------------------------- // @@ -176,6 +198,7 @@ // TInt CXnAnimationAdapter::TimerCallBack(TAny* aAny) { + __PRINTS( "CXnAnimationAdapter::TimerCallback, timer runs" ); CXnAnimationAdapter* self = static_cast (aAny); // Update widget @@ -190,7 +213,7 @@ // void CXnAnimationAdapter::StartAnimation() { - if ( !iPeriodicTimer && IsVisible() ) + if ( !iPeriodicTimer && IsVisible() && !iInPowerSaveMode ) { TRAPD(err, iPeriodicTimer = CPeriodic::NewL(CActive::EPriorityIdle) ); if ( err == KErrNone ) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockadapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -275,6 +275,7 @@ if( iForeground ) { UpdateDisplay(); // starts timer after update + iClockControl->StartTimer(); } else { diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockcontrol.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockcontrol.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockcontrol.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,6 +18,7 @@ // SYSTEM INCLUDE FILES #include // for RChangeNotifier +#include // USER INCLUDE FILES #include "xncontroladapter.h" @@ -61,6 +62,7 @@ void RunL() { + __PRINTS( "CXnClockChangeHandler::RunL, timer runs" ); if( iStatus.Int() & ( EChangesLocale | EChangesSystemTime ) ) { iClient.TimeOrLocaleChanged(); @@ -244,9 +246,6 @@ homeTime.HomeTime(); TRAP_IGNORE( iFace->DrawL( *iAdapter, aGc, aRect, homeTime ) ); - - // Ensure timer is active - const_cast< CXnClockControl* >( this )->StartTimer(); } } @@ -257,6 +256,7 @@ // TInt CXnClockControl::TimerCallback( TAny* aThis ) { + __PRINTS( "CXnClockControl::TimerCallback, timer runs" ); CXnClockControl* self = static_cast< CXnClockControl* >( aThis ); // Update the clock display diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickeradapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickeradapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickeradapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -21,6 +21,7 @@ #include #include #include +#include // User includes #include "xnviewnodeimpl.h" @@ -684,6 +685,7 @@ // TInt CXnNewstickerAdapter::PeriodicEventL( TAny* aPtr ) { + __PRINTS( "CXnNewstickerAdapter::PeriodicEventL, timer runs" ); CXnNewstickerAdapter* self = static_cast< CXnNewstickerAdapter* >( aPtr ); self->DoScroll(); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/xnpopupfactory.mmp --- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/xnpopupfactory.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/group/xnpopupfactory.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -45,6 +45,7 @@ LIBRARY xn3domdocument.lib LIBRARY avkon.lib LIBRARY ws32.lib +LIBRARY gfxtrans.lib START RESOURCE xn3popupfactory.rss #ifdef SYMBIAN_SECURE_ECOM diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupadapter.h --- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/inc/xnpopupadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -86,7 +86,13 @@ /** * @see CXnControlAdapter */ - void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL); + void DoHandlePropertyChangeL(CXnProperty* aProperty = NULL); + +private: // from base class + /** + * @see CCoeControl documentation + */ + void MakeVisible( TBool aVisible ); private: void Draw(const TRect& aRect) const; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupadapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xnpopupfactory/src/xnpopupadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -26,6 +26,8 @@ #include "xncomponent.h" #include +#include +#include const TInt KStartDelay = 1000000; const TInt KDisplayTime = 0; @@ -295,6 +297,8 @@ CXnControlAdapter::ConstructL(aNode); iNode = &aNode; iAppUi = CCoeEnv::Static()->AppUi(); + + GfxTransEffect::Register( this, KGfxPreviewPopupControlUid ); } // ----------------------------------------------------------------------------- @@ -314,6 +318,7 @@ CXnPopupAdapter::~CXnPopupAdapter() { delete iActiveObject; + GfxTransEffect::Deregister( this ); } // ----------------------------------------------------------------------------- @@ -541,4 +546,31 @@ this->SetRect( rect ); } +// ----------------------------------------------------------------------------- +// CXnPopupAdapter::MakeVisible +// +// ----------------------------------------------------------------------------- +// +void CXnPopupAdapter::MakeVisible( TBool aVisible ) + { + if ( aVisible == IsVisible() ) + { + return; + } + + if ( aVisible ) + { + GfxTransEffect::Begin( this, KGfxControlAppearAction ); + } + else + { + GfxTransEffect::Begin( this, KGfxControlDisappearAction ); + } + + CCoeControl::MakeVisible( aVisible ); + + GfxTransEffect::SetDemarcation( this, iPosition ); + GfxTransEffect::End( this ); + } + // End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h --- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/inc/xntexteditoradapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -159,12 +159,8 @@ TInt iMaxLines; /** Flag to indicate whether focus loss is refused */ TBool iRefusesFocusLoss; - /** Flag to indicate is partial input supported*/ - TBool iPartialInputEnabled; - /** Flag to indicate is partial input open*/ - TBool iPartialInputOpen; - /** Flag to indicate whether split input should be remove or not*/ - TBool iRemoveSplitInputFromStack; + /** Split input states*/ + TInt iSplitInputState; }; #endif // _XNTEXTEDITORADAPTER_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -50,6 +50,14 @@ const TInt KMaxLength = 100; +enum TSplitInputState + { + ESplitInputDisabled = 0, + ESplitInputClosed, + ESplitInputOpen, + ESplitInputRemoveFromStack + }; + _LIT8( KCpsPublishing, "cpspublishing" ); _LIT8( KMaxLineAmount, "max-line-amount" ); _LIT8( KMaxCharAmount, "max-char-amount" ); @@ -175,14 +183,13 @@ // Enable partial Screen CXnProperty* enablepartialinput( iNode.GetPropertyL( KEnablePartialInput ) ); - iPartialInputEnabled = EFalse; - iPartialInputOpen = EFalse; + iSplitInputState = ESplitInputDisabled; if ( enablepartialinput && enablepartialinput->StringValue() == XnPropertyNames::KTrue ) { iEditor->SetAknEditorFlags( EAknEditorFlagEnablePartialScreen ); - iPartialInputEnabled = ETrue; + iSplitInputState = ESplitInputClosed; } iEditor->SetObserver( this ); @@ -310,33 +317,36 @@ { value = EPSAiDontForwardNumericKeysToPhone; - if( !iPartialInputEnabled ) + if( iSplitInputState == ESplitInputDisabled ) { TRAP_IGNORE( appui->AddToStackL( appui->View(), iEditor ) ); // AddToStackL calls iEditor->SetFocus( ETrue ); } - + else if( iSplitInputState == ESplitInputClosed ) + { + iUiEngine->EnablePartialTouchInput(iNode , ETrue); + TRAP_IGNORE( appui->AddToStackL( appui->View(), iEditor ) ); + iSplitInputState = ESplitInputOpen; + } } else { value = EPSAiForwardNumericKeysToPhone; - if( !iPartialInputEnabled ) + if( iSplitInputState == ESplitInputDisabled ) { appui->RemoveFromStack( iEditor ); iEditor->SetFocus( EFalse, aDrawNow ); } - else if(iPartialInputEnabled && iRemoveSplitInputFromStack ) + else if( iSplitInputState == ESplitInputRemoveFromStack ) { appui->RemoveFromStack( iEditor ); iEditor->SetFocus( EFalse, aDrawNow ); - iPartialInputOpen = EFalse; - iRemoveSplitInputFromStack = EFalse; - } - + iSplitInputState = ESplitInputClosed; + } } - if(iPartialInputOpen) + if( iSplitInputState == ESplitInputOpen ) { value = EPSAiDontForwardNumericKeysToPhone; } @@ -410,25 +420,15 @@ { CXnAppUiAdapter* appui( static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) ); - + switch( aReason ) { - case CXnTextEditor::KActivateTextEditor: - { - if( !iPartialInputOpen ) - { - iUiEngine->EnablePartialTouchInput(iNode , ETrue); - TRAP_IGNORE( appui->AddToStackL( appui->View(), iEditor ) ); - iPartialInputOpen = ETrue; - } - break; - } case CXnTextEditor::KDeactivateTextEditor: { - if( iPartialInputOpen ) + if( iSplitInputState == ESplitInputOpen ) { iUiEngine->EnablePartialTouchInput(iNode, EFalse); - iPartialInputOpen = EFalse; + iSplitInputState = ESplitInputClosed; appui->RemoveFromStack( iEditor ); iEditor->SetFocus( EFalse ); } @@ -436,12 +436,12 @@ } case CXnTextEditor::KRemoveSplitInputFromStack: { - iRemoveSplitInputFromStack = ETrue; + iSplitInputState = ESplitInputRemoveFromStack; break; } case CXnTextEditor::KKeepSplitInputInStack: { - iRemoveSplitInputFromStack = EFalse; + iSplitInputState = ESplitInputOpen; break; } default: diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextadapter.cpp --- a/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/renderingplugins/xntextfactory/src/xntextadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -141,33 +141,45 @@ TInt lineCount( array->Count() ); - buffer = HBufC::NewLC( temp->Length() + ( lineCount - 1 ) ); - - TPtr ptr( buffer->Des() ); - - for( TInt i = 0; i < lineCount; i++ ) + TInt bufLen = temp->Length() + ( lineCount - 1 ); + if ( bufLen > 0 ) { - TPtrC line( array->At( i ) ); - - ptr.Append( line ); + buffer = HBufC::NewLC( bufLen ); - if( i + 1 < lineCount ) + TPtr ptr( buffer->Des() ); + + for( TInt i = 0; i < lineCount; i++ ) { - ptr.Append( '\n' ); - } + TPtrC line( array->At( i ) ); + + ptr.Append( line ); + + if( i + 1 < lineCount ) + { + ptr.Append( '\n' ); + } + } + + CleanupStack::Pop(); + CleanupStack::PopAndDestroy( temp ); + CleanupStack::PushL( buffer ); } - - CleanupStack::Pop(); - CleanupStack::PopAndDestroy( temp ); - CleanupStack::PushL( buffer ); + else + { + CleanupStack::PopAndDestroy( temp ); + } } // The text is already in visual form, no need for conversion conversion = EFalse; - aLabel.SetTextL( *buffer ); - - CleanupStack::PopAndDestroy( 2 ); // buffer, array + if ( buffer ) + { + aLabel.SetTextL( *buffer ); + CleanupStack::PopAndDestroy( buffer ); + } + + CleanupStack::PopAndDestroy(); // array } else { diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def --- a/idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def Fri Mar 12 15:41:49 2010 +0200 @@ -30,215 +30,207 @@ ?HandlePowerSaveModeL@CXnUtils@@SAHPAVCXnNode@@HH@Z @ 29 NONAME ; int CXnUtils::HandlePowerSaveModeL(class CXnNode *, int, int) ?ContentBitmaps@CXnControlAdapter@@QAEXAAPAVCFbsBitmap@@0@Z @ 30 NONAME ; void CXnControlAdapter::ContentBitmaps(class CFbsBitmap * &, class CFbsBitmap * &) ?HandlePropertyChangeL@CXnControlAdapter@@QAEXPAVCXnProperty@@@Z @ 31 NONAME ; void CXnControlAdapter::HandlePropertyChangeL(class CXnProperty *) - ?FocusHorLoopingL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 32 NONAME ; class CXnProperty * CXnNodePluginIf::FocusHorLoopingL(void) - ?Control@CXnNodePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 33 NONAME ; class CXnControlAdapter * CXnNodePluginIf::Control(void) const - ?DestroyPublisher@CXnAppUiAdapter@@UAEHAAVCXnNodeAppIf@@H@Z @ 34 NONAME ; int CXnAppUiAdapter::DestroyPublisher(class CXnNodeAppIf &, int) - ?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@AAV2@@Z @ 35 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class CXnProperty &) const - ?MakeInterfaceL@CXnComponentNodeImpl@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 36 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponentNodeImpl::MakeInterfaceL(class TDesC8 const &) - ?SkinChanged@CXnControlAdapter@@UAEXXZ @ 37 NONAME ; void CXnControlAdapter::SkinChanged(void) - ?SetContentBitmaps@CXnControlAdapter@@QAEXPAVCFbsBitmap@@0@Z @ 38 NONAME ; void CXnControlAdapter::SetContentBitmaps(class CFbsBitmap *, class CFbsBitmap *) - ?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC16@@0@Z @ 39 NONAME ; class RPointerArray TXnUiEngineAppIf::FindNodeByClassL(class TDesC16 const &, class TDesC16 const &) - ?SetDataL@CXnControlAdapter@@UAEXABVTDesC8@@ABVTDesC16@@H@Z @ 40 NONAME ; void CXnControlAdapter::SetDataL(class TDesC8 const &, class TDesC16 const &, int) - ?ComponentNodeImpl@CXnNodePluginIf@@QAEPAVCXnComponentNodeImpl@@XZ @ 41 NONAME ; class CXnComponentNodeImpl * CXnNodePluginIf::ComponentNodeImpl(void) - ??0CXnViewsNodeImpl@@IAE@XZ @ 42 NONAME ; CXnViewsNodeImpl::CXnViewsNodeImpl(void) - ?HandlePointerEventL@CXnControlAdapter@@UAEXABUTPointerEvent@@@Z @ 43 NONAME ; void CXnControlAdapter::HandlePointerEventL(struct TPointerEvent const &) - ??1CXnDocument@@UAE@XZ @ 44 NONAME ; CXnDocument::~CXnDocument(void) - ?HandleResourceChangeL@CXnAppUiAdapter@@MAEXH@Z @ 45 NONAME ; void CXnAppUiAdapter::HandleResourceChangeL(int) - ?DoEnterPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 46 NONAME ; void CXnControlAdapter::DoEnterPowerSaveModeL(enum CXnControlAdapter::TModeEvent) - ?CloneL@CXnProperty@@QAEPAV1@XZ @ 47 NONAME ; class CXnProperty * CXnProperty::CloneL(void) - ?ReportTriggerEventL@CXnNodePluginIf@@QAEXABVTDesC8@@00@Z @ 48 NONAME ; void CXnNodePluginIf::ReportTriggerEventL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &) - ?FocusedNodeL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@XZ @ 49 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FocusedNodeL(void) - ?FindContentSourceNodesL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@@Z @ 50 NONAME ; class RPointerArray TXnUiEngineAppIf::FindContentSourceNodesL(class TDesC8 const &) - ?EqualsL@CXnProperty@@QBEHAAV1@@Z @ 51 NONAME ; int CXnProperty::EqualsL(class CXnProperty &) const - ?ScreenDeviceSize@TXnUiEnginePluginIf@@QAE?AVTSize@@XZ @ 52 NONAME ; class TSize TXnUiEnginePluginIf::ScreenDeviceSize(void) - ??0CXnControlAdapter@@IAE@XZ @ 53 NONAME ; CXnControlAdapter::CXnControlAdapter(void) - ?VisibleRowsL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 54 NONAME ; class CXnProperty * CXnNodePluginIf::VisibleRowsL(void) - ?UiEngineL@CXnNodeAppIf@@QAEPAVTXnUiEngineAppIf@@XZ @ 55 NONAME ; class TXnUiEngineAppIf * CXnNodeAppIf::UiEngineL(void) - ?LongTapDetector@CXnControlAdapter@@QBEPAVCAknLongTapDetector@@XZ @ 56 NONAME ; class CAknLongTapDetector * CXnControlAdapter::LongTapDetector(void) const - ??0CXnAppUiAdapter@@QAE@VTUid@@@Z @ 57 NONAME ; CXnAppUiAdapter::CXnAppUiAdapter(class TUid) - ?Rect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 58 NONAME ; class TRect CXnNodePluginIf::Rect(void) - ?AddChildL@CXnNodePluginIf@@QAEXPAV1@@Z @ 59 NONAME ; void CXnNodePluginIf::AddChildL(class CXnNodePluginIf *) - ?SetNode@CXnComponent@@QAEXAAVCXnNodePluginIf@@@Z @ 60 NONAME ; void CXnComponent::SetNode(class CXnNodePluginIf &) - ?ResetStylusCounter@CXnControlAdapter@@QAEXXZ @ 61 NONAME ; void CXnControlAdapter::ResetStylusCounter(void) - ?SetComponent@CXnComponentNodeImpl@@QAEXPAVCXnComponent@@@Z @ 62 NONAME ; void CXnComponentNodeImpl::SetComponent(class CXnComponent *) - ?LayoutUIL@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 63 NONAME ; void TXnUiEnginePluginIf::LayoutUIL(class CXnNodePluginIf *) - ?FocusVisible@TXnUiEnginePluginIf@@QAEHXZ @ 64 NONAME ; int TXnUiEnginePluginIf::FocusVisible(void) - ?ExitPowerSaveModeL@CXnControlAdapter@@QAEXW4TModeEvent@1@@Z @ 65 NONAME ; void CXnControlAdapter::ExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent) - ?GetThemeResource@TXnUiEngineAppIf@@QAEHABVTDesC16@@AAVRFile@@@Z @ 66 NONAME ; int TXnUiEngineAppIf::GetThemeResource(class TDesC16 const &, class RFile &) - ?ConstructL@CXnComponent@@IAEXXZ @ 67 NONAME ; void CXnComponent::ConstructL(void) - ?FindResource@CXnUtils@@SAPAVCXnResource@@AAV?$CArrayPtrSeg@VCXnResource@@@@ABVTDesC16@@AAH@Z @ 68 NONAME ; class CXnResource * CXnUtils::FindResource(class CArrayPtrSeg &, class TDesC16 const &, int &) - ?UnsetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 69 NONAME ; void CXnNodeAppIf::UnsetStateL(class TDesC8 const &) - ?Uid@CXnDocument@@QAE?AVTUid@@XZ @ 70 NONAME ; class TUid CXnDocument::Uid(void) - ?FocusChanged@CXnControlAdapter@@UAEXW4TDrawNow@@@Z @ 71 NONAME ; void CXnControlAdapter::FocusChanged(enum TDrawNow) - ?SetBlank@CXnControlAdapter@@QAEXH@Z @ 72 NONAME ; void CXnControlAdapter::SetBlank(int) - ?Component@CXnNodeAppIf@@QAEAAVCXnComponent@@XZ @ 73 NONAME ; class CXnComponent & CXnNodeAppIf::Component(void) - ?SetLayoutCapable@CXnNodePluginIf@@QAEXH@Z @ 74 NONAME ; void CXnNodePluginIf::SetLayoutCapable(int) - ?MarginRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 75 NONAME ; class TRect CXnNodePluginIf::MarginRect(void) - ?UiEngineL@CXnAppUiAdapter@@QAEPAVTXnUiEngineAppIf@@XZ @ 76 NONAME ; class TXnUiEngineAppIf * CXnAppUiAdapter::UiEngineL(void) - ?SwipeEnabledL@TXnUiEnginePluginIf@@QAEHXZ @ 77 NONAME ; int TXnUiEnginePluginIf::SwipeEnabledL(void) - ?SetFocusVisibleL@TXnUiEnginePluginIf@@QAEXH@Z @ 78 NONAME ; void TXnUiEnginePluginIf::SetFocusVisibleL(int) - ?ActiveView@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 79 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::ActiveView(void) - ?GridOrientationL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 80 NONAME ; class CXnProperty * CXnNodePluginIf::GridOrientationL(void) - ?HandleXuikonEventL@CXnAppUiAdapter@@UAEXAAVCXnNodeAppIf@@0AAVCXnDomNode@@1@Z @ 81 NONAME ; void CXnAppUiAdapter::HandleXuikonEventL(class CXnNodeAppIf &, class CXnNodeAppIf &, class CXnDomNode &, class CXnDomNode &) - ?RenderUIL@TXnUiEngineAppIf@@QAEXPAVCXnNodeAppIf@@@Z @ 82 NONAME ; void TXnUiEngineAppIf::RenderUIL(class CXnNodeAppIf *) - ?PrepareToExit@CXnAppUiAdapter@@MAEXXZ @ 83 NONAME ; void CXnAppUiAdapter::PrepareToExit(void) - ?DoHandlePropertyChangeL@CXnControlAdapter@@UAEXPAVCXnProperty@@@Z @ 84 NONAME ; void CXnControlAdapter::DoHandlePropertyChangeL(class CXnProperty *) - ?ConstructL@CXnControlAdapter@@IAEXAAVCXnNodePluginIf@@@Z @ 85 NONAME ; void CXnControlAdapter::ConstructL(class CXnNodePluginIf &) - ?FocusedNode@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 86 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FocusedNode(void) - ?SetDataL@CXnComponent@@QAEXABVTDesC8@@ABVTDesC16@@H@Z @ 87 NONAME ; void CXnComponent::SetDataL(class TDesC8 const &, class TDesC16 const &, int) - ?OfferKeyEventL@CXnControlAdapter@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 88 NONAME ; enum TKeyResponse CXnControlAdapter::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) - ?IsDrawingAllowed@CXnControlAdapter@@QBEHXZ @ 89 NONAME ; int CXnControlAdapter::IsDrawingAllowed(void) const - ?DisplayL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 90 NONAME ; class CXnProperty * CXnNodePluginIf::DisplayL(void) - ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@PAVCXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 91 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class CXnDomPropertyValue *, class CXnDomStringPool &) - ?Rect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 92 NONAME ; class TRect CXnNodeAppIf::Rect(void) - ?NewL@CXnComponentNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 93 NONAME ; class CXnComponentNodeImpl * CXnComponentNodeImpl::NewL(class CXnType *) - ?GridVerDirectionL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 94 NONAME ; class CXnProperty * CXnNodePluginIf::GridVerDirectionL(void) - ?WidgetsVisible@TXnUiEngineAppIf@@QBEHXZ @ 95 NONAME ; int TXnUiEngineAppIf::WidgetsVisible(void) const - ?Type@CXnNodePluginIf@@QAEPAVCXnType@@XZ @ 96 NONAME ; class CXnType * CXnNodePluginIf::Type(void) - ?MakeXnComponentL@MXnComponentFactory@@EAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 97 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::MakeXnComponentL(class CXnNodePluginIf &, class CXnComponent * &) - ?ActivateViewL@TXnUiEngineAppIf@@QAEXAAVCXnNodeAppIf@@@Z @ 98 NONAME ; void TXnUiEngineAppIf::ActivateViewL(class CXnNodeAppIf &) - ?UnsetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 99 NONAME ; void CXnNodePluginIf::UnsetStateL(class TDesC8 const &) - ?StringValueL@CXnProperty@@QAEPAVHBufC16@@XZ @ 100 NONAME ; class HBufC16 * CXnProperty::StringValueL(void) - ?DisableRenderUiLC@TXnUiEnginePluginIf@@QAEXXZ @ 101 NONAME ; void TXnUiEnginePluginIf::DisableRenderUiLC(void) - ?SetPropertyL@CXnNodeAppIf@@QAEXPAVCXnProperty@@@Z @ 102 NONAME ; void CXnNodeAppIf::SetPropertyL(class CXnProperty *) - ?View@CXnAppUiAdapter@@QBEAAVCAknView@@XZ @ 103 NONAME ; class CAknView & CXnAppUiAdapter::View(void) const - ?ViewNodeImpl@CXnNodePluginIf@@QAEPAVCXnViewNodeImpl@@XZ @ 104 NONAME ; class CXnViewNodeImpl * CXnNodePluginIf::ViewNodeImpl(void) - ?StripQuotes@CXnUtils@@SAXAAPAVHBufC16@@@Z @ 105 NONAME ; void CXnUtils::StripQuotes(class HBufC16 * &) - ?SetPCDataL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 106 NONAME ; void CXnNodePluginIf::SetPCDataL(class TDesC8 const &) - ?VisibilityL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 107 NONAME ; class CXnProperty * CXnNodePluginIf::VisibilityL(void) - ?Draw@CXnControlAdapter@@MBEXABVTRect@@@Z @ 108 NONAME ; void CXnControlAdapter::Draw(class TRect const &) const - ??1CXnApplication@@UAE@XZ @ 109 NONAME ; CXnApplication::~CXnApplication(void) - ?DoesNodeNeedComponentImplL@MXnComponentFactory@@QAEHABVTDesC8@@@Z @ 110 NONAME ; int MXnComponentFactory::DoesNodeNeedComponentImplL(class TDesC8 const &) - ?ConstructL@CXnViewsNodeImpl@@IAEXPAVCXnType@@@Z @ 111 NONAME ; void CXnViewsNodeImpl::ConstructL(class CXnType *) - ?StringPool@TXnUiEngineAppIf@@QAEAAVCXnDomStringPool@@XZ @ 112 NONAME ; class CXnDomStringPool & TXnUiEngineAppIf::StringPool(void) - ?UiEngineL@CXnNodePluginIf@@QAEPAVTXnUiEnginePluginIf@@XZ @ 113 NONAME ; class TXnUiEnginePluginIf * CXnNodePluginIf::UiEngineL(void) - ?ShowFocus@TXnUiEnginePluginIf@@QAEHXZ @ 114 NONAME ; int TXnUiEnginePluginIf::ShowFocus(void) - ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@@Z @ 115 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &) - ?PluginNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@PAV2@@Z @ 116 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::PluginNodeL(class CXnNodePluginIf *) - ?VerticalPixelValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 117 NONAME ; int TXnUiEnginePluginIf::VerticalPixelValueL(class CXnProperty *, int) - ?SetComponent@CXnControlAdapter@@QAEXPAVCXnComponent@@@Z @ 118 NONAME ; void CXnControlAdapter::SetComponent(class CXnComponent *) - ??0MXnNodePredicate@@QAE@XZ @ 119 NONAME ; MXnNodePredicate::MXnNodePredicate(void) - ??1CXnViewsNodeImpl@@UAE@XZ @ 120 NONAME ; CXnViewsNodeImpl::~CXnViewsNodeImpl(void) - ?HandleControlEventL@CXnControlAdapter@@UAEXPAVCCoeControl@@W4TCoeEvent@MCoeControlObserver@@@Z @ 121 NONAME ; void CXnControlAdapter::HandleControlEventL(class CCoeControl *, enum MCoeControlObserver::TCoeEvent) - ?ActivateViewL@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@@Z @ 122 NONAME ; void TXnUiEnginePluginIf::ActivateViewL(class CXnNodePluginIf &) - ?HandleScreenDeviceChangedL@CXnControlAdapter@@UAEXXZ @ 123 NONAME ; void CXnControlAdapter::HandleScreenDeviceChangedL(void) - ?SizeChanged@CXnControlAdapter@@MAEXXZ @ 124 NONAME ; void CXnControlAdapter::SizeChanged(void) - ?CountComponentControls@CXnControlAdapter@@MBEHXZ @ 125 NONAME ; int CXnControlAdapter::CountComponentControls(void) const - ?HideTooltipsL@CXnNodeAppIf@@QAEXXZ @ 126 NONAME ; void CXnNodeAppIf::HideTooltipsL(void) - ?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 127 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class TDesC8 const &) const - ?GridScrollBarWidthL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 128 NONAME ; class CXnProperty * CXnNodePluginIf::GridScrollBarWidthL(void) - ?DeactivateFocusedNodeL@TXnUiEnginePluginIf@@QAEXXZ @ 129 NONAME ; void TXnUiEnginePluginIf::DeactivateFocusedNodeL(void) - ?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@0@Z @ 130 NONAME ; class RPointerArray TXnUiEngineAppIf::FindNodeByClassL(class TDesC8 const &, class TDesC8 const &) - ?Match@MXnNodePredicate@@UAEHAAVCXnNode@@@Z @ 131 NONAME ; int MXnNodePredicate::Match(class CXnNode &) - ?GetBitmapAndMask@CXnControlAdapter@@QAEXABVTDesC16@@0AAPAVCFbsBitmap@@1@Z @ 132 NONAME ; void CXnControlAdapter::GetBitmapAndMask(class TDesC16 const &, class TDesC16 const &, class CFbsBitmap * &, class CFbsBitmap * &) - ?NewL@CXnViewsNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 133 NONAME ; class CXnViewsNodeImpl * CXnViewsNodeImpl::NewL(class CXnType *) - ?PaddingRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 134 NONAME ; class TRect CXnNodeAppIf::PaddingRect(void) - ?SetMarginRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 135 NONAME ; void CXnNodePluginIf::SetMarginRect(class TRect const &) - ?IsDialogDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 136 NONAME ; int TXnUiEnginePluginIf::IsDialogDisplaying(void) - ?HandleEventL@CXnAppUiAdapter@@UAEXABVTDesC16@@AAVCXnNodeAppIf@@@Z @ 137 NONAME ; void CXnAppUiAdapter::HandleEventL(class TDesC16 const &, class CXnNodeAppIf &) - ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 138 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class TDesC8 const &) const - ?SetPropertyArrayL@CXnNodeAppIf@@QAEXPAV?$RPointerArray@VCXnProperty@@@@@Z @ 139 NONAME ; void CXnNodeAppIf::SetPropertyArrayL(class RPointerArray *) - ?RestorePreviousFocusedNode@TXnUiEnginePluginIf@@QAEXXZ @ 140 NONAME ; void TXnUiEnginePluginIf::RestorePreviousFocusedNode(void) - ?RemoveViewL@CXnAppUiAdapter@@QAEXAAVCAknView@@@Z @ 141 NONAME ; void CXnAppUiAdapter::RemoveViewL(class CAknView &) - ?EnterPowerSaveModeL@CXnComponent@@UAEXXZ @ 142 NONAME ; void CXnComponent::EnterPowerSaveModeL(void) - ?SetRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 143 NONAME ; void CXnNodePluginIf::SetRect(class TRect const &) - ??0CXnComponent@@IAE@XZ @ 144 NONAME ; CXnComponent::CXnComponent(void) - ?CollapseWhiteSpace@CXnUtils@@SAXAAVCXnNodePluginIf@@AAVTDes16@@@Z @ 145 NONAME ; void CXnUtils::CollapseWhiteSpace(class CXnNodePluginIf &, class TDes16 &) - ?SetHandleTooltip@CXnNodePluginIf@@QAEXH@Z @ 146 NONAME ; void CXnNodePluginIf::SetHandleTooltip(int) - ??1CXnAppUiAdapter@@UAE@XZ @ 147 NONAME ; CXnAppUiAdapter::~CXnAppUiAdapter(void) - ?NewL@CXnControlAdapter@@SAPAV1@AAVCXnNodePluginIf@@@Z @ 148 NONAME ; class CXnControlAdapter * CXnControlAdapter::NewL(class CXnNodePluginIf &) - ?EnableLongTapAnimation@CXnControlAdapter@@QAEXH@Z @ 149 NONAME ; void CXnControlAdapter::EnableLongTapAnimation(int) - ?RefL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 150 NONAME ; class CXnProperty * CXnNodePluginIf::RefL(void) - ?SetPaddingRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 151 NONAME ; void CXnNodePluginIf::SetPaddingRect(class TRect const &) - ?FocusVerLoopingL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 152 NONAME ; class CXnProperty * CXnNodePluginIf::FocusVerLoopingL(void) - ?SetFocusedNode@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 153 NONAME ; void TXnUiEnginePluginIf::SetFocusedNode(class CXnNodePluginIf *) - ?ExitPowerSaveModeL@CXnComponent@@UAEXXZ @ 154 NONAME ; void CXnComponent::ExitPowerSaveModeL(void) - ?EnableSwipeL@TXnUiEnginePluginIf@@QAEXH@Z @ 155 NONAME ; void TXnUiEnginePluginIf::EnableSwipeL(int) - ?GetPCData@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 156 NONAME ; class TDesC8 const & CXnNodeAppIf::GetPCData(void) const - ?Namespace@CXnNodeAppIf@@QAEABVTDesC8@@XZ @ 157 NONAME ; class TDesC8 const & CXnNodeAppIf::Namespace(void) - ??1CXnComponentNodeImpl@@UAE@XZ @ 158 NONAME ; CXnComponentNodeImpl::~CXnComponentNodeImpl(void) - ?SetPropertyWithoutNotificationL@CXnNodePluginIf@@QAEXPAVCXnProperty@@@Z @ 159 NONAME ; void CXnNodePluginIf::SetPropertyWithoutNotificationL(class CXnProperty *) - ?GetPCData@CXnNodePluginIf@@QBEABVTDesC8@@XZ @ 160 NONAME ; class TDesC8 const & CXnNodePluginIf::GetPCData(void) const - ?SetPCDataL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 161 NONAME ; void CXnNodeAppIf::SetPCDataL(class TDesC8 const &) - ?Resources@TXnUiEnginePluginIf@@QAEAAV?$CArrayPtrSeg@VCXnResource@@@@XZ @ 162 NONAME ; class CArrayPtrSeg & TXnUiEnginePluginIf::Resources(void) - ?SetContentBitmaps@CXnControlAdapter@@QAEXABVTDesC16@@0@Z @ 163 NONAME ; void CXnControlAdapter::SetContentBitmaps(class TDesC16 const &, class TDesC16 const &) - ??1CXnControlAdapter@@UAE@XZ @ 164 NONAME ; CXnControlAdapter::~CXnControlAdapter(void) - ??1MXnNodePredicate@@UAE@XZ @ 165 NONAME ; MXnNodePredicate::~MXnNodePredicate(void) - ?HorizontalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 166 NONAME ; int TXnUiEnginePluginIf::HorizontalTwipValueL(class CXnProperty *, int) - ?ConstructL@CXnAppUiAdapter@@UAEXXZ @ 167 NONAME ; void CXnAppUiAdapter::ConstructL(void) - ?CreateFontL@CXnUtils@@SAXAAVCXnNodePluginIf@@AAPAVCFont@@AAH@Z @ 168 NONAME ; void CXnUtils::CreateFontL(class CXnNodePluginIf &, class CFont * &, int &) - ??0CXnApplication@@QAE@VTUid@@@Z @ 169 NONAME ; CXnApplication::CXnApplication(class TUid) - ?ComponentControl@CXnControlAdapter@@MBEPAVCCoeControl@@H@Z @ 170 NONAME ; class CCoeControl * CXnControlAdapter::ComponentControl(int) const - ?HandleLongTapEventL@CXnControlAdapter@@UAEXABVTPoint@@0@Z @ 171 NONAME ; void CXnControlAdapter::HandleLongTapEventL(class TPoint const &, class TPoint const &) - ?ParentL@CXnNodeAppIf@@QBEPAV1@XZ @ 172 NONAME ; class CXnNodeAppIf * CXnNodeAppIf::ParentL(void) const - ??1CXnComponent@@UAE@XZ @ 173 NONAME ; CXnComponent::~CXnComponent(void) - ?ControlAdapter@CXnComponent@@QAEPAVCXnControlAdapter@@XZ @ 174 NONAME ; class CXnControlAdapter * CXnComponent::ControlAdapter(void) - ?DrawContentImage@CXnControlAdapter@@IBEXXZ @ 175 NONAME ; void CXnControlAdapter::DrawContentImage(void) const - ?Component@CXnComponentNodeImpl@@QAEPAVCXnComponent@@XZ @ 176 NONAME ; class CXnComponent * CXnComponentNodeImpl::Component(void) - ?GridScrollBarMarginL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 177 NONAME ; class CXnProperty * CXnNodePluginIf::GridScrollBarMarginL(void) - ?WidgetsVisible@TXnUiEnginePluginIf@@QBEHXZ @ 178 NONAME ; int TXnUiEnginePluginIf::WidgetsVisible(void) const - ?SetControlAdapter@CXnComponent@@QAEXPAVCXnControlAdapter@@@Z @ 179 NONAME ; void CXnComponent::SetControlAdapter(class CXnControlAdapter *) - ?GridColumnsL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 180 NONAME ; class CXnProperty * CXnNodePluginIf::GridColumnsL(void) - ?SetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 181 NONAME ; void CXnNodePluginIf::SetStateL(class TDesC8 const &) - ?DoesComponentNeedCreation@CXnComponentNodeImpl@@QBEHXZ @ 182 NONAME ; int CXnComponentNodeImpl::DoesComponentNeedCreation(void) const - ??0CXnDocument@@QAE@AAVCEikApplication@@VTUid@@@Z @ 183 NONAME ; CXnDocument::CXnDocument(class CEikApplication &, class TUid) - ?FindNodeByClassL@TXnUiEnginePluginIf@@QAE?AV?$RPointerArray@VCXnNodePluginIf@@@@ABVTDesC16@@@Z @ 184 NONAME ; class RPointerArray TXnUiEnginePluginIf::FindNodeByClassL(class TDesC16 const &) - ?GridHorDirectionL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 185 NONAME ; class CXnProperty * CXnNodePluginIf::GridHorDirectionL(void) - ?InternalDomNodeType@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 186 NONAME ; class TDesC8 const & CXnNodeAppIf::InternalDomNodeType(void) const - ?StringPool@TXnUiEnginePluginIf@@QAEAAVCXnDomStringPool@@XZ @ 187 NONAME ; class CXnDomStringPool & TXnUiEnginePluginIf::StringPool(void) - ?SetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 188 NONAME ; void CXnNodeAppIf::SetStateL(class TDesC8 const &) - ?Type@CXnNodeAppIf@@QAEPAVCXnType@@XZ @ 189 NONAME ; class CXnType * CXnNodeAppIf::Type(void) - ?BorderRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 190 NONAME ; class TRect CXnNodeAppIf::BorderRect(void) - ?IdL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 191 NONAME ; class CXnProperty * CXnNodePluginIf::IdL(void) - ?RootNodeL@TXnUiEngineAppIf@@QAEAAVCXnNodeAppIf@@XZ @ 192 NONAME ; class CXnNodeAppIf & TXnUiEngineAppIf::RootNodeL(void) - ?CreateXnComponentL@MXnComponentFactory@@QAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 193 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::CreateXnComponentL(class CXnNodePluginIf &, class CXnComponent * &) - ?RefreshMenuL@TXnUiEngineAppIf@@QAEXXZ @ 194 NONAME ; void TXnUiEngineAppIf::RefreshMenuL(void) - ?PaddingRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 195 NONAME ; class TRect CXnNodePluginIf::PaddingRect(void) - ?MeasureAdaptiveContentL@CXnControlAdapter@@UAE?AVTSize@@ABV2@@Z @ 196 NONAME ; class TSize CXnControlAdapter::MeasureAdaptiveContentL(class TSize const &) - ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@0W4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 197 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class TDesC8 const &, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &) - ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@AAV2@@Z @ 198 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class CXnProperty &) const - ?HitRegion@TXnUiEnginePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 199 NONAME ; class CXnControlAdapter * TXnUiEnginePluginIf::HitRegion(void) const - ?MarginRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 200 NONAME ; class TRect CXnNodeAppIf::MarginRect(void) - ?MakeInterfaceL@CXnComponent@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 201 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponent::MakeInterfaceL(class TDesC8 const &) - ?EditMode@TXnUiEnginePluginIf@@QAEHXZ @ 202 NONAME ; int TXnUiEnginePluginIf::EditMode(void) - ?FindNodeByIdL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@ABVTDesC8@@0@Z @ 203 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FindNodeByIdL(class TDesC8 const &, class TDesC8 const &) - ?EnableRenderUi@CXnUiEngineImpl@@CAXPAX@Z @ 204 NONAME ; void CXnUiEngineImpl::EnableRenderUi(void *) - ?IsMenuDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 205 NONAME ; int TXnUiEnginePluginIf::IsMenuDisplaying(void) - ?IsMenuDisplaying@TXnUiEngineAppIf@@QAEHXZ @ 206 NONAME ; int TXnUiEngineAppIf::IsMenuDisplaying(void) - ?NewL@CXnProperty@@SAPAV1@PAVCXnDomProperty@@@Z @ 207 NONAME ; class CXnProperty * CXnProperty::NewL(class CXnDomProperty *) - ?ConstructL@CXnComponentNodeImpl@@IAEXPAVCXnType@@@Z @ 208 NONAME ; void CXnComponentNodeImpl::ConstructL(class CXnType *) - ?ChildrenL@CXnNodeAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@XZ @ 209 NONAME ; class RPointerArray CXnNodeAppIf::ChildrenL(void) - ?LoadPublisher@CXnAppUiAdapter@@UAEHAAVCXnNodeAppIf@@H@Z @ 210 NONAME ; int CXnAppUiAdapter::LoadPublisher(class CXnNodeAppIf &, int) - ?ConvertHslToRgb@CXnUtils@@SA?AVTRgb@@HHH@Z @ 211 NONAME ; class TRgb CXnUtils::ConvertHslToRgb(int, int, int) - ?LoadBitmap@CXnControlAdapter@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z @ 212 NONAME ; class CFbsBitmap * CXnControlAdapter::LoadBitmap(class TDesC16 const &) - ??0MXnComponentFactory@@IAE@XZ @ 213 NONAME ; MXnComponentFactory::MXnComponentFactory(void) - ?SetComponent@CXnViewsNodeImpl@@QAEXPAVCXnComponent@@@Z @ 214 NONAME ; void CXnViewsNodeImpl::SetComponent(class CXnComponent *) - ?BorderRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 215 NONAME ; class TRect CXnNodePluginIf::BorderRect(void) - ?CreateDocumentL@CXnApplication@@MAEPAVCApaDocument@@XZ @ 216 NONAME ; class CApaDocument * CXnApplication::CreateDocumentL(void) - ?CreateFontL@CXnUtils@@SAXABVTDesC16@@HVTFontStyle@@AAPAVCFont@@AAH@Z @ 217 NONAME ; void CXnUtils::CreateFontL(class TDesC16 const &, int, class TFontStyle, class CFont * &, int &) - ?GetPluginNodeArrayL@TXnUiEngineAppIf@@QAEHAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 218 NONAME ; int TXnUiEngineAppIf::GetPluginNodeArrayL(class RPointerArray &) - ?MakeXnControlAdapterL@MXnComponentFactory@@EAEPAVCXnControlAdapter@@AAVCXnNodePluginIf@@PAV2@@Z @ 219 NONAME ; class CXnControlAdapter * MXnComponentFactory::MakeXnControlAdapterL(class CXnNodePluginIf &, class CXnControlAdapter *) - ?IsDrawingAllowed@CXnNodePluginIf@@QBEHXZ @ 220 NONAME ; int CXnNodePluginIf::IsDrawingAllowed(void) const - ?MakeInterfaceL@CXnNodeAppIf@@QAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 221 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnNodeAppIf::MakeInterfaceL(class TDesC8 const &) - ?VerticalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 222 NONAME ; int TXnUiEnginePluginIf::VerticalTwipValueL(class CXnProperty *, int) - ?Component@CXnControlAdapter@@QAEPAVCXnComponent@@XZ @ 223 NONAME ; class CXnComponent * CXnControlAdapter::Component(void) - ?FloatValueL@CXnProperty@@QAENXZ @ 224 NONAME ; double CXnProperty::FloatValueL(void) - ?SetUiEngine@TXnUiEngineAppIf@@QAEXPAVCXnUiEngine@@@Z @ 225 NONAME ; void TXnUiEngineAppIf::SetUiEngine(class CXnUiEngine *) - ?FindNodeByIdL@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@ABVTDesC16@@0@Z @ 226 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FindNodeByIdL(class TDesC16 const &, class TDesC16 const &) - ?IsEditMode@TXnUiEngineAppIf@@QAEHXZ @ 227 NONAME ; int TXnUiEngineAppIf::IsEditMode(void) - ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@AAH@Z @ 228 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &, int &) - ?RootNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@XZ @ 229 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::RootNodeL(void) - ?CreateAppUiL@CXnDocument@@UAEPAVCEikAppUi@@XZ @ 230 NONAME ; class CEikAppUi * CXnDocument::CreateAppUiL(void) - ?PathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 231 NONAME ; class CXnProperty * CXnNodePluginIf::PathL(void) - ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@NW4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 232 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, double, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &) - ?MaskPathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 233 NONAME ; class CXnProperty * CXnNodePluginIf::MaskPathL(void) - ?AppDllUid@CXnApplication@@MBE?AVTUid@@XZ @ 234 NONAME ; class TUid CXnApplication::AppDllUid(void) const - ?DoExitPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 235 NONAME ; void CXnControlAdapter::DoExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent) - ?LabelL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 236 NONAME ; class CXnProperty * CXnNodePluginIf::LabelL(void) - ?Component@CXnViewsNodeImpl@@QAEPAVCXnComponent@@XZ @ 237 NONAME ; class CXnComponent * CXnViewsNodeImpl::Component(void) - ?GetRgbValue@CXnUtils@@SAHAAVTRgb@@ABVTDesC8@@@Z @ 238 NONAME ; int CXnUtils::GetRgbValue(class TRgb &, class TDesC8 const &) - ?StringValue@CXnProperty@@QAEABVTDesC8@@XZ @ 239 NONAME ; class TDesC8 const & CXnProperty::StringValue(void) - ?SetVisible@CXnControlAdapter@@QAEXH@Z @ 240 NONAME ; void CXnControlAdapter::SetVisible(int) - ?Node@CXnComponent@@QAEPAVCXnNodePluginIf@@XZ @ 241 NONAME ; class CXnNodePluginIf * CXnComponent::Node(void) - ?EnablePartialTouchInput@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@H@Z @ 242 NONAME ; void TXnUiEnginePluginIf::EnablePartialTouchInput(class CXnNodePluginIf &, int) + ?Control@CXnNodePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 32 NONAME ; class CXnControlAdapter * CXnNodePluginIf::Control(void) const + ?DestroyPublisher@CXnAppUiAdapter@@UAEHAAVCXnNodeAppIf@@H@Z @ 33 NONAME ; int CXnAppUiAdapter::DestroyPublisher(class CXnNodeAppIf &, int) + ?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@AAV2@@Z @ 34 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class CXnProperty &) const + ?MakeInterfaceL@CXnComponentNodeImpl@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 35 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponentNodeImpl::MakeInterfaceL(class TDesC8 const &) + ?SkinChanged@CXnControlAdapter@@UAEXXZ @ 36 NONAME ; void CXnControlAdapter::SkinChanged(void) + ?SetContentBitmaps@CXnControlAdapter@@QAEXPAVCFbsBitmap@@0@Z @ 37 NONAME ; void CXnControlAdapter::SetContentBitmaps(class CFbsBitmap *, class CFbsBitmap *) + ?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC16@@0@Z @ 38 NONAME ; class RPointerArray TXnUiEngineAppIf::FindNodeByClassL(class TDesC16 const &, class TDesC16 const &) + ?SetDataL@CXnControlAdapter@@UAEXABVTDesC8@@ABVTDesC16@@H@Z @ 39 NONAME ; void CXnControlAdapter::SetDataL(class TDesC8 const &, class TDesC16 const &, int) + ?ComponentNodeImpl@CXnNodePluginIf@@QAEPAVCXnComponentNodeImpl@@XZ @ 40 NONAME ; class CXnComponentNodeImpl * CXnNodePluginIf::ComponentNodeImpl(void) + ??0CXnViewsNodeImpl@@IAE@XZ @ 41 NONAME ; CXnViewsNodeImpl::CXnViewsNodeImpl(void) + ?HandlePointerEventL@CXnControlAdapter@@UAEXABUTPointerEvent@@@Z @ 42 NONAME ; void CXnControlAdapter::HandlePointerEventL(struct TPointerEvent const &) + ??1CXnDocument@@UAE@XZ @ 43 NONAME ; CXnDocument::~CXnDocument(void) + ?HandleResourceChangeL@CXnAppUiAdapter@@MAEXH@Z @ 44 NONAME ; void CXnAppUiAdapter::HandleResourceChangeL(int) + ?DoEnterPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 45 NONAME ; void CXnControlAdapter::DoEnterPowerSaveModeL(enum CXnControlAdapter::TModeEvent) + ?CloneL@CXnProperty@@QAEPAV1@XZ @ 46 NONAME ; class CXnProperty * CXnProperty::CloneL(void) + ?ReportTriggerEventL@CXnNodePluginIf@@QAEXABVTDesC8@@00@Z @ 47 NONAME ; void CXnNodePluginIf::ReportTriggerEventL(class TDesC8 const &, class TDesC8 const &, class TDesC8 const &) + ?FocusedNodeL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@XZ @ 48 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FocusedNodeL(void) + ?FindContentSourceNodesL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@@Z @ 49 NONAME ; class RPointerArray TXnUiEngineAppIf::FindContentSourceNodesL(class TDesC8 const &) + ?EqualsL@CXnProperty@@QBEHAAV1@@Z @ 50 NONAME ; int CXnProperty::EqualsL(class CXnProperty &) const + ?ScreenDeviceSize@TXnUiEnginePluginIf@@QAE?AVTSize@@XZ @ 51 NONAME ; class TSize TXnUiEnginePluginIf::ScreenDeviceSize(void) + ??0CXnControlAdapter@@IAE@XZ @ 52 NONAME ; CXnControlAdapter::CXnControlAdapter(void) + ?UiEngineL@CXnNodeAppIf@@QAEPAVTXnUiEngineAppIf@@XZ @ 53 NONAME ; class TXnUiEngineAppIf * CXnNodeAppIf::UiEngineL(void) + ?LongTapDetector@CXnControlAdapter@@QBEPAVCAknLongTapDetector@@XZ @ 54 NONAME ; class CAknLongTapDetector * CXnControlAdapter::LongTapDetector(void) const + ??0CXnAppUiAdapter@@QAE@VTUid@@@Z @ 55 NONAME ; CXnAppUiAdapter::CXnAppUiAdapter(class TUid) + ?Rect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 56 NONAME ; class TRect CXnNodePluginIf::Rect(void) + ?AddChildL@CXnNodePluginIf@@QAEXPAV1@@Z @ 57 NONAME ; void CXnNodePluginIf::AddChildL(class CXnNodePluginIf *) + ?SetNode@CXnComponent@@QAEXAAVCXnNodePluginIf@@@Z @ 58 NONAME ; void CXnComponent::SetNode(class CXnNodePluginIf &) + ?ResetStylusCounter@CXnControlAdapter@@QAEXXZ @ 59 NONAME ; void CXnControlAdapter::ResetStylusCounter(void) + ?SetComponent@CXnComponentNodeImpl@@QAEXPAVCXnComponent@@@Z @ 60 NONAME ; void CXnComponentNodeImpl::SetComponent(class CXnComponent *) + ?LayoutUIL@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 61 NONAME ; void TXnUiEnginePluginIf::LayoutUIL(class CXnNodePluginIf *) + ?FocusVisible@TXnUiEnginePluginIf@@QAEHXZ @ 62 NONAME ; int TXnUiEnginePluginIf::FocusVisible(void) + ?ExitPowerSaveModeL@CXnControlAdapter@@QAEXW4TModeEvent@1@@Z @ 63 NONAME ; void CXnControlAdapter::ExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent) + ?GetThemeResource@TXnUiEngineAppIf@@QAEHABVTDesC16@@AAVRFile@@@Z @ 64 NONAME ; int TXnUiEngineAppIf::GetThemeResource(class TDesC16 const &, class RFile &) + ?ConstructL@CXnComponent@@IAEXXZ @ 65 NONAME ; void CXnComponent::ConstructL(void) + ?FindResource@CXnUtils@@SAPAVCXnResource@@AAV?$CArrayPtrSeg@VCXnResource@@@@ABVTDesC16@@AAH@Z @ 66 NONAME ; class CXnResource * CXnUtils::FindResource(class CArrayPtrSeg &, class TDesC16 const &, int &) + ?UnsetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 67 NONAME ; void CXnNodeAppIf::UnsetStateL(class TDesC8 const &) + ?Uid@CXnDocument@@QAE?AVTUid@@XZ @ 68 NONAME ; class TUid CXnDocument::Uid(void) + ?FocusChanged@CXnControlAdapter@@UAEXW4TDrawNow@@@Z @ 69 NONAME ; void CXnControlAdapter::FocusChanged(enum TDrawNow) + ?SetBlank@CXnControlAdapter@@QAEXH@Z @ 70 NONAME ; void CXnControlAdapter::SetBlank(int) + ?Component@CXnNodeAppIf@@QAEAAVCXnComponent@@XZ @ 71 NONAME ; class CXnComponent & CXnNodeAppIf::Component(void) + ?SetLayoutCapable@CXnNodePluginIf@@QAEXH@Z @ 72 NONAME ; void CXnNodePluginIf::SetLayoutCapable(int) + ?MarginRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 73 NONAME ; class TRect CXnNodePluginIf::MarginRect(void) + ?UiEngineL@CXnAppUiAdapter@@QAEPAVTXnUiEngineAppIf@@XZ @ 74 NONAME ; class TXnUiEngineAppIf * CXnAppUiAdapter::UiEngineL(void) + ?SwipeEnabledL@TXnUiEnginePluginIf@@QAEHXZ @ 75 NONAME ; int TXnUiEnginePluginIf::SwipeEnabledL(void) + ?SetFocusVisibleL@TXnUiEnginePluginIf@@QAEXH@Z @ 76 NONAME ; void TXnUiEnginePluginIf::SetFocusVisibleL(int) + ?ActiveView@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 77 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::ActiveView(void) + ?HandleXuikonEventL@CXnAppUiAdapter@@UAEXAAVCXnNodeAppIf@@0AAVCXnDomNode@@1@Z @ 78 NONAME ; void CXnAppUiAdapter::HandleXuikonEventL(class CXnNodeAppIf &, class CXnNodeAppIf &, class CXnDomNode &, class CXnDomNode &) + ?RenderUIL@TXnUiEngineAppIf@@QAEXPAVCXnNodeAppIf@@@Z @ 79 NONAME ; void TXnUiEngineAppIf::RenderUIL(class CXnNodeAppIf *) + ?PrepareToExit@CXnAppUiAdapter@@MAEXXZ @ 80 NONAME ; void CXnAppUiAdapter::PrepareToExit(void) + ?DoHandlePropertyChangeL@CXnControlAdapter@@UAEXPAVCXnProperty@@@Z @ 81 NONAME ; void CXnControlAdapter::DoHandlePropertyChangeL(class CXnProperty *) + ?ConstructL@CXnControlAdapter@@IAEXAAVCXnNodePluginIf@@@Z @ 82 NONAME ; void CXnControlAdapter::ConstructL(class CXnNodePluginIf &) + ?FocusedNode@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 83 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FocusedNode(void) + ?SetDataL@CXnComponent@@QAEXABVTDesC8@@ABVTDesC16@@H@Z @ 84 NONAME ; void CXnComponent::SetDataL(class TDesC8 const &, class TDesC16 const &, int) + ?OfferKeyEventL@CXnControlAdapter@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 85 NONAME ; enum TKeyResponse CXnControlAdapter::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode) + ?IsDrawingAllowed@CXnControlAdapter@@QBEHXZ @ 86 NONAME ; int CXnControlAdapter::IsDrawingAllowed(void) const + ?DisplayL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 87 NONAME ; class CXnProperty * CXnNodePluginIf::DisplayL(void) + ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@PAVCXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 88 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class CXnDomPropertyValue *, class CXnDomStringPool &) + ?Rect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 89 NONAME ; class TRect CXnNodeAppIf::Rect(void) + ?NewL@CXnComponentNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 90 NONAME ; class CXnComponentNodeImpl * CXnComponentNodeImpl::NewL(class CXnType *) + ?WidgetsVisible@TXnUiEngineAppIf@@QBEHXZ @ 91 NONAME ; int TXnUiEngineAppIf::WidgetsVisible(void) const + ?Type@CXnNodePluginIf@@QAEPAVCXnType@@XZ @ 92 NONAME ; class CXnType * CXnNodePluginIf::Type(void) + ?MakeXnComponentL@MXnComponentFactory@@EAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 93 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::MakeXnComponentL(class CXnNodePluginIf &, class CXnComponent * &) + ?ActivateViewL@TXnUiEngineAppIf@@QAEXAAVCXnNodeAppIf@@@Z @ 94 NONAME ; void TXnUiEngineAppIf::ActivateViewL(class CXnNodeAppIf &) + ?UnsetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 95 NONAME ; void CXnNodePluginIf::UnsetStateL(class TDesC8 const &) + ?StringValueL@CXnProperty@@QAEPAVHBufC16@@XZ @ 96 NONAME ; class HBufC16 * CXnProperty::StringValueL(void) + ?DisableRenderUiLC@TXnUiEnginePluginIf@@QAEXXZ @ 97 NONAME ; void TXnUiEnginePluginIf::DisableRenderUiLC(void) + ?SetPropertyL@CXnNodeAppIf@@QAEXPAVCXnProperty@@@Z @ 98 NONAME ; void CXnNodeAppIf::SetPropertyL(class CXnProperty *) + ?View@CXnAppUiAdapter@@QBEAAVCAknView@@XZ @ 99 NONAME ; class CAknView & CXnAppUiAdapter::View(void) const + ?ViewNodeImpl@CXnNodePluginIf@@QAEPAVCXnViewNodeImpl@@XZ @ 100 NONAME ; class CXnViewNodeImpl * CXnNodePluginIf::ViewNodeImpl(void) + ?StripQuotes@CXnUtils@@SAXAAPAVHBufC16@@@Z @ 101 NONAME ; void CXnUtils::StripQuotes(class HBufC16 * &) + ?SetPCDataL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 102 NONAME ; void CXnNodePluginIf::SetPCDataL(class TDesC8 const &) + ?VisibilityL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 103 NONAME ; class CXnProperty * CXnNodePluginIf::VisibilityL(void) + ?Draw@CXnControlAdapter@@MBEXABVTRect@@@Z @ 104 NONAME ; void CXnControlAdapter::Draw(class TRect const &) const + ??1CXnApplication@@UAE@XZ @ 105 NONAME ; CXnApplication::~CXnApplication(void) + ?DoesNodeNeedComponentImplL@MXnComponentFactory@@QAEHABVTDesC8@@@Z @ 106 NONAME ; int MXnComponentFactory::DoesNodeNeedComponentImplL(class TDesC8 const &) + ?ConstructL@CXnViewsNodeImpl@@IAEXPAVCXnType@@@Z @ 107 NONAME ; void CXnViewsNodeImpl::ConstructL(class CXnType *) + ?StringPool@TXnUiEngineAppIf@@QAEAAVCXnDomStringPool@@XZ @ 108 NONAME ; class CXnDomStringPool & TXnUiEngineAppIf::StringPool(void) + ?UiEngineL@CXnNodePluginIf@@QAEPAVTXnUiEnginePluginIf@@XZ @ 109 NONAME ; class TXnUiEnginePluginIf * CXnNodePluginIf::UiEngineL(void) + ?ShowFocus@TXnUiEnginePluginIf@@QAEHXZ @ 110 NONAME ; int TXnUiEnginePluginIf::ShowFocus(void) + ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@@Z @ 111 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &) + ?PluginNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@PAV2@@Z @ 112 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::PluginNodeL(class CXnNodePluginIf *) + ?VerticalPixelValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 113 NONAME ; int TXnUiEnginePluginIf::VerticalPixelValueL(class CXnProperty *, int) + ?SetComponent@CXnControlAdapter@@QAEXPAVCXnComponent@@@Z @ 114 NONAME ; void CXnControlAdapter::SetComponent(class CXnComponent *) + ??0MXnNodePredicate@@QAE@XZ @ 115 NONAME ; MXnNodePredicate::MXnNodePredicate(void) + ??1CXnViewsNodeImpl@@UAE@XZ @ 116 NONAME ; CXnViewsNodeImpl::~CXnViewsNodeImpl(void) + ?HandleControlEventL@CXnControlAdapter@@UAEXPAVCCoeControl@@W4TCoeEvent@MCoeControlObserver@@@Z @ 117 NONAME ; void CXnControlAdapter::HandleControlEventL(class CCoeControl *, enum MCoeControlObserver::TCoeEvent) + ?ActivateViewL@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@@Z @ 118 NONAME ; void TXnUiEnginePluginIf::ActivateViewL(class CXnNodePluginIf &) + ?HandleScreenDeviceChangedL@CXnControlAdapter@@UAEXXZ @ 119 NONAME ; void CXnControlAdapter::HandleScreenDeviceChangedL(void) + ?SizeChanged@CXnControlAdapter@@MAEXXZ @ 120 NONAME ; void CXnControlAdapter::SizeChanged(void) + ?CountComponentControls@CXnControlAdapter@@MBEHXZ @ 121 NONAME ; int CXnControlAdapter::CountComponentControls(void) const + ?HideTooltipsL@CXnNodeAppIf@@QAEXXZ @ 122 NONAME ; void CXnNodeAppIf::HideTooltipsL(void) + ?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 123 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class TDesC8 const &) const + ?DeactivateFocusedNodeL@TXnUiEnginePluginIf@@QAEXXZ @ 124 NONAME ; void TXnUiEnginePluginIf::DeactivateFocusedNodeL(void) + ?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@0@Z @ 125 NONAME ; class RPointerArray TXnUiEngineAppIf::FindNodeByClassL(class TDesC8 const &, class TDesC8 const &) + ?Match@MXnNodePredicate@@UAEHAAVCXnNode@@@Z @ 126 NONAME ; int MXnNodePredicate::Match(class CXnNode &) + ?GetBitmapAndMask@CXnControlAdapter@@QAEXABVTDesC16@@0AAPAVCFbsBitmap@@1@Z @ 127 NONAME ; void CXnControlAdapter::GetBitmapAndMask(class TDesC16 const &, class TDesC16 const &, class CFbsBitmap * &, class CFbsBitmap * &) + ?NewL@CXnViewsNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 128 NONAME ; class CXnViewsNodeImpl * CXnViewsNodeImpl::NewL(class CXnType *) + ?PaddingRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 129 NONAME ; class TRect CXnNodeAppIf::PaddingRect(void) + ?SetMarginRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 130 NONAME ; void CXnNodePluginIf::SetMarginRect(class TRect const &) + ?IsDialogDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 131 NONAME ; int TXnUiEnginePluginIf::IsDialogDisplaying(void) + ?HandleEventL@CXnAppUiAdapter@@UAEXABVTDesC16@@AAVCXnNodeAppIf@@@Z @ 132 NONAME ; void CXnAppUiAdapter::HandleEventL(class TDesC16 const &, class CXnNodeAppIf &) + ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 133 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class TDesC8 const &) const + ?SetPropertyArrayL@CXnNodeAppIf@@QAEXPAV?$RPointerArray@VCXnProperty@@@@@Z @ 134 NONAME ; void CXnNodeAppIf::SetPropertyArrayL(class RPointerArray *) + ?RestorePreviousFocusedNode@TXnUiEnginePluginIf@@QAEXXZ @ 135 NONAME ; void TXnUiEnginePluginIf::RestorePreviousFocusedNode(void) + ?RemoveViewL@CXnAppUiAdapter@@QAEXAAVCAknView@@@Z @ 136 NONAME ; void CXnAppUiAdapter::RemoveViewL(class CAknView &) + ?EnterPowerSaveModeL@CXnComponent@@UAEXXZ @ 137 NONAME ; void CXnComponent::EnterPowerSaveModeL(void) + ?SetRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 138 NONAME ; void CXnNodePluginIf::SetRect(class TRect const &) + ??0CXnComponent@@IAE@XZ @ 139 NONAME ; CXnComponent::CXnComponent(void) + ?CollapseWhiteSpace@CXnUtils@@SAXAAVCXnNodePluginIf@@AAVTDes16@@@Z @ 140 NONAME ; void CXnUtils::CollapseWhiteSpace(class CXnNodePluginIf &, class TDes16 &) + ?SetHandleTooltip@CXnNodePluginIf@@QAEXH@Z @ 141 NONAME ; void CXnNodePluginIf::SetHandleTooltip(int) + ??1CXnAppUiAdapter@@UAE@XZ @ 142 NONAME ; CXnAppUiAdapter::~CXnAppUiAdapter(void) + ?NewL@CXnControlAdapter@@SAPAV1@AAVCXnNodePluginIf@@@Z @ 143 NONAME ; class CXnControlAdapter * CXnControlAdapter::NewL(class CXnNodePluginIf &) + ?EnableLongTapAnimation@CXnControlAdapter@@QAEXH@Z @ 144 NONAME ; void CXnControlAdapter::EnableLongTapAnimation(int) + ?SetPaddingRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 145 NONAME ; void CXnNodePluginIf::SetPaddingRect(class TRect const &) + ?SetFocusedNode@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 146 NONAME ; void TXnUiEnginePluginIf::SetFocusedNode(class CXnNodePluginIf *) + ?ExitPowerSaveModeL@CXnComponent@@UAEXXZ @ 147 NONAME ; void CXnComponent::ExitPowerSaveModeL(void) + ?EnableSwipeL@TXnUiEnginePluginIf@@QAEXH@Z @ 148 NONAME ; void TXnUiEnginePluginIf::EnableSwipeL(int) + ?GetPCData@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 149 NONAME ; class TDesC8 const & CXnNodeAppIf::GetPCData(void) const + ?Namespace@CXnNodeAppIf@@QAEABVTDesC8@@XZ @ 150 NONAME ; class TDesC8 const & CXnNodeAppIf::Namespace(void) + ??1CXnComponentNodeImpl@@UAE@XZ @ 151 NONAME ; CXnComponentNodeImpl::~CXnComponentNodeImpl(void) + ?SetPropertyWithoutNotificationL@CXnNodePluginIf@@QAEXPAVCXnProperty@@@Z @ 152 NONAME ; void CXnNodePluginIf::SetPropertyWithoutNotificationL(class CXnProperty *) + ?GetPCData@CXnNodePluginIf@@QBEABVTDesC8@@XZ @ 153 NONAME ; class TDesC8 const & CXnNodePluginIf::GetPCData(void) const + ?SetPCDataL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 154 NONAME ; void CXnNodeAppIf::SetPCDataL(class TDesC8 const &) + ?Resources@TXnUiEnginePluginIf@@QAEAAV?$CArrayPtrSeg@VCXnResource@@@@XZ @ 155 NONAME ; class CArrayPtrSeg & TXnUiEnginePluginIf::Resources(void) + ?SetContentBitmaps@CXnControlAdapter@@QAEXABVTDesC16@@0@Z @ 156 NONAME ; void CXnControlAdapter::SetContentBitmaps(class TDesC16 const &, class TDesC16 const &) + ??1CXnControlAdapter@@UAE@XZ @ 157 NONAME ; CXnControlAdapter::~CXnControlAdapter(void) + ??1MXnNodePredicate@@UAE@XZ @ 158 NONAME ; MXnNodePredicate::~MXnNodePredicate(void) + ?HorizontalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 159 NONAME ; int TXnUiEnginePluginIf::HorizontalTwipValueL(class CXnProperty *, int) + ?ConstructL@CXnAppUiAdapter@@UAEXXZ @ 160 NONAME ; void CXnAppUiAdapter::ConstructL(void) + ?CreateFontL@CXnUtils@@SAXAAVCXnNodePluginIf@@AAPAVCFont@@AAH@Z @ 161 NONAME ; void CXnUtils::CreateFontL(class CXnNodePluginIf &, class CFont * &, int &) + ??0CXnApplication@@QAE@VTUid@@@Z @ 162 NONAME ; CXnApplication::CXnApplication(class TUid) + ?ComponentControl@CXnControlAdapter@@MBEPAVCCoeControl@@H@Z @ 163 NONAME ; class CCoeControl * CXnControlAdapter::ComponentControl(int) const + ?HandleLongTapEventL@CXnControlAdapter@@UAEXABVTPoint@@0@Z @ 164 NONAME ; void CXnControlAdapter::HandleLongTapEventL(class TPoint const &, class TPoint const &) + ?ParentL@CXnNodeAppIf@@QBEPAV1@XZ @ 165 NONAME ; class CXnNodeAppIf * CXnNodeAppIf::ParentL(void) const + ??1CXnComponent@@UAE@XZ @ 166 NONAME ; CXnComponent::~CXnComponent(void) + ?ControlAdapter@CXnComponent@@QAEPAVCXnControlAdapter@@XZ @ 167 NONAME ; class CXnControlAdapter * CXnComponent::ControlAdapter(void) + ?DrawContentImage@CXnControlAdapter@@IBEXXZ @ 168 NONAME ; void CXnControlAdapter::DrawContentImage(void) const + ?Component@CXnComponentNodeImpl@@QAEPAVCXnComponent@@XZ @ 169 NONAME ; class CXnComponent * CXnComponentNodeImpl::Component(void) + ?WidgetsVisible@TXnUiEnginePluginIf@@QBEHXZ @ 170 NONAME ; int TXnUiEnginePluginIf::WidgetsVisible(void) const + ?SetControlAdapter@CXnComponent@@QAEXPAVCXnControlAdapter@@@Z @ 171 NONAME ; void CXnComponent::SetControlAdapter(class CXnControlAdapter *) + ?SetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 172 NONAME ; void CXnNodePluginIf::SetStateL(class TDesC8 const &) + ?DoesComponentNeedCreation@CXnComponentNodeImpl@@QBEHXZ @ 173 NONAME ; int CXnComponentNodeImpl::DoesComponentNeedCreation(void) const + ??0CXnDocument@@QAE@AAVCEikApplication@@VTUid@@@Z @ 174 NONAME ; CXnDocument::CXnDocument(class CEikApplication &, class TUid) + ?FindNodeByClassL@TXnUiEnginePluginIf@@QAE?AV?$RPointerArray@VCXnNodePluginIf@@@@ABVTDesC16@@@Z @ 175 NONAME ; class RPointerArray TXnUiEnginePluginIf::FindNodeByClassL(class TDesC16 const &) + ?InternalDomNodeType@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 176 NONAME ; class TDesC8 const & CXnNodeAppIf::InternalDomNodeType(void) const + ?UiActivated@CXnAppUiAdapter@@UAEXXZ @ 177 NONAME ; void CXnAppUiAdapter::UiActivated(void) + ?StringPool@TXnUiEnginePluginIf@@QAEAAVCXnDomStringPool@@XZ @ 178 NONAME ; class CXnDomStringPool & TXnUiEnginePluginIf::StringPool(void) + ?SetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 179 NONAME ; void CXnNodeAppIf::SetStateL(class TDesC8 const &) + ?Type@CXnNodeAppIf@@QAEPAVCXnType@@XZ @ 180 NONAME ; class CXnType * CXnNodeAppIf::Type(void) + ?BorderRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 181 NONAME ; class TRect CXnNodeAppIf::BorderRect(void) + ?IdL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 182 NONAME ; class CXnProperty * CXnNodePluginIf::IdL(void) + ?RootNodeL@TXnUiEngineAppIf@@QAEAAVCXnNodeAppIf@@XZ @ 183 NONAME ; class CXnNodeAppIf & TXnUiEngineAppIf::RootNodeL(void) + ?CreateXnComponentL@MXnComponentFactory@@QAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 184 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::CreateXnComponentL(class CXnNodePluginIf &, class CXnComponent * &) + ?RefreshMenuL@TXnUiEngineAppIf@@QAEXXZ @ 185 NONAME ; void TXnUiEngineAppIf::RefreshMenuL(void) + ?PaddingRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 186 NONAME ; class TRect CXnNodePluginIf::PaddingRect(void) + ?MeasureAdaptiveContentL@CXnControlAdapter@@UAE?AVTSize@@ABV2@@Z @ 187 NONAME ; class TSize CXnControlAdapter::MeasureAdaptiveContentL(class TSize const &) + ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@0W4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 188 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class TDesC8 const &, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &) + ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@AAV2@@Z @ 189 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class CXnProperty &) const + ?HitRegion@TXnUiEnginePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 190 NONAME ; class CXnControlAdapter * TXnUiEnginePluginIf::HitRegion(void) const + ?MarginRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 191 NONAME ; class TRect CXnNodeAppIf::MarginRect(void) + ?EditMode@TXnUiEnginePluginIf@@QAEHXZ @ 192 NONAME ; int TXnUiEnginePluginIf::EditMode(void) + ?FindNodeByIdL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@ABVTDesC8@@0@Z @ 193 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FindNodeByIdL(class TDesC8 const &, class TDesC8 const &) + ?MakeInterfaceL@CXnComponent@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 194 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponent::MakeInterfaceL(class TDesC8 const &) + ?EnableRenderUi@CXnUiEngineImpl@@CAXPAX@Z @ 195 NONAME ; void CXnUiEngineImpl::EnableRenderUi(void *) + ?IsMenuDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 196 NONAME ; int TXnUiEnginePluginIf::IsMenuDisplaying(void) + ?IsMenuDisplaying@TXnUiEngineAppIf@@QAEHXZ @ 197 NONAME ; int TXnUiEngineAppIf::IsMenuDisplaying(void) + ?NewL@CXnProperty@@SAPAV1@PAVCXnDomProperty@@@Z @ 198 NONAME ; class CXnProperty * CXnProperty::NewL(class CXnDomProperty *) + ?ConstructL@CXnComponentNodeImpl@@IAEXPAVCXnType@@@Z @ 199 NONAME ; void CXnComponentNodeImpl::ConstructL(class CXnType *) + ?ChildrenL@CXnNodeAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@XZ @ 200 NONAME ; class RPointerArray CXnNodeAppIf::ChildrenL(void) + ?ConvertHslToRgb@CXnUtils@@SA?AVTRgb@@HHH@Z @ 201 NONAME ; class TRgb CXnUtils::ConvertHslToRgb(int, int, int) + ?LoadPublisher@CXnAppUiAdapter@@UAEHAAVCXnNodeAppIf@@H@Z @ 202 NONAME ; int CXnAppUiAdapter::LoadPublisher(class CXnNodeAppIf &, int) + ?LoadBitmap@CXnControlAdapter@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z @ 203 NONAME ; class CFbsBitmap * CXnControlAdapter::LoadBitmap(class TDesC16 const &) + ??0MXnComponentFactory@@IAE@XZ @ 204 NONAME ; MXnComponentFactory::MXnComponentFactory(void) + ?SetComponent@CXnViewsNodeImpl@@QAEXPAVCXnComponent@@@Z @ 205 NONAME ; void CXnViewsNodeImpl::SetComponent(class CXnComponent *) + ?BorderRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 206 NONAME ; class TRect CXnNodePluginIf::BorderRect(void) + ?CreateDocumentL@CXnApplication@@MAEPAVCApaDocument@@XZ @ 207 NONAME ; class CApaDocument * CXnApplication::CreateDocumentL(void) + ?CreateFontL@CXnUtils@@SAXABVTDesC16@@HVTFontStyle@@AAPAVCFont@@AAH@Z @ 208 NONAME ; void CXnUtils::CreateFontL(class TDesC16 const &, int, class TFontStyle, class CFont * &, int &) + ?GetPluginNodeArrayL@TXnUiEngineAppIf@@QAEHAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 209 NONAME ; int TXnUiEngineAppIf::GetPluginNodeArrayL(class RPointerArray &) + ?MakeXnControlAdapterL@MXnComponentFactory@@EAEPAVCXnControlAdapter@@AAVCXnNodePluginIf@@PAV2@@Z @ 210 NONAME ; class CXnControlAdapter * MXnComponentFactory::MakeXnControlAdapterL(class CXnNodePluginIf &, class CXnControlAdapter *) + ?IsDrawingAllowed@CXnNodePluginIf@@QBEHXZ @ 211 NONAME ; int CXnNodePluginIf::IsDrawingAllowed(void) const + ?MakeInterfaceL@CXnNodeAppIf@@QAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 212 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnNodeAppIf::MakeInterfaceL(class TDesC8 const &) + ?VerticalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 213 NONAME ; int TXnUiEnginePluginIf::VerticalTwipValueL(class CXnProperty *, int) + ?Component@CXnControlAdapter@@QAEPAVCXnComponent@@XZ @ 214 NONAME ; class CXnComponent * CXnControlAdapter::Component(void) + ?FloatValueL@CXnProperty@@QAENXZ @ 215 NONAME ; double CXnProperty::FloatValueL(void) + ?SetUiEngine@TXnUiEngineAppIf@@QAEXPAVCXnUiEngine@@@Z @ 216 NONAME ; void TXnUiEngineAppIf::SetUiEngine(class CXnUiEngine *) + ?FindNodeByIdL@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@ABVTDesC16@@0@Z @ 217 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FindNodeByIdL(class TDesC16 const &, class TDesC16 const &) + ?IsEditMode@TXnUiEngineAppIf@@QAEHXZ @ 218 NONAME ; int TXnUiEngineAppIf::IsEditMode(void) + ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@AAH@Z @ 219 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &, int &) + ?EnablePartialTouchInput@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@H@Z @ 220 NONAME ; void TXnUiEnginePluginIf::EnablePartialTouchInput(class CXnNodePluginIf &, int) + ?RootNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@XZ @ 221 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::RootNodeL(void) + ?CreateAppUiL@CXnDocument@@UAEPAVCEikAppUi@@XZ @ 222 NONAME ; class CEikAppUi * CXnDocument::CreateAppUiL(void) + ?PathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 223 NONAME ; class CXnProperty * CXnNodePluginIf::PathL(void) + ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@NW4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 224 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, double, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &) + ?MaskPathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 225 NONAME ; class CXnProperty * CXnNodePluginIf::MaskPathL(void) + ?AppDllUid@CXnApplication@@MBE?AVTUid@@XZ @ 226 NONAME ; class TUid CXnApplication::AppDllUid(void) const + ?DoExitPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 227 NONAME ; void CXnControlAdapter::DoExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent) + ?LabelL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 228 NONAME ; class CXnProperty * CXnNodePluginIf::LabelL(void) + ?Component@CXnViewsNodeImpl@@QAEPAVCXnComponent@@XZ @ 229 NONAME ; class CXnComponent * CXnViewsNodeImpl::Component(void) + ?GetRgbValue@CXnUtils@@SAHAAVTRgb@@ABVTDesC8@@@Z @ 230 NONAME ; int CXnUtils::GetRgbValue(class TRgb &, class TDesC8 const &) + ?StringValue@CXnProperty@@QAEABVTDesC8@@XZ @ 231 NONAME ; class TDesC8 const & CXnProperty::StringValue(void) + ?SetVisible@CXnControlAdapter@@QAEXH@Z @ 232 NONAME ; void CXnControlAdapter::SetVisible(int) + ?Node@CXnComponent@@QAEPAVCXnNodePluginIf@@XZ @ 233 NONAME ; class CXnNodePluginIf * CXnComponent::Node(void) + ?ProcessMessageL@CXnAppUiAdapter@@UAEXVTUid@@ABVTDesC8@@@Z @ 234 NONAME ; void CXnAppUiAdapter::ProcessMessageL(class TUid, class TDesC8 const &) diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def --- a/idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def Fri Mar 12 15:41:49 2010 +0200 @@ -56,241 +56,233 @@ _ZN14CXnApplicationD2Ev @ 55 NONAME _ZN15CXnAppUiAdapter10ConstructLEv @ 56 NONAME _ZN15CXnAppUiAdapter11RemoveViewLER8CAknView @ 57 NONAME - _ZN15CXnAppUiAdapter12HandleEventLERK7TDesC16R12CXnNodeAppIf @ 58 NONAME - _ZN15CXnAppUiAdapter13LoadPublisherER12CXnNodeAppIfi @ 59 NONAME - _ZN15CXnAppUiAdapter13PrepareToExitEv @ 60 NONAME - _ZN15CXnAppUiAdapter16DestroyPublisherER12CXnNodeAppIfi @ 61 NONAME - _ZN15CXnAppUiAdapter16DynInitMenuItemLERK7TDesC16P13RPointerArrayI12CXnNodeAppIfE @ 62 NONAME - _ZN15CXnAppUiAdapter18HandleXuikonEventLER12CXnNodeAppIfS1_R10CXnDomNodeS3_ @ 63 NONAME - _ZN15CXnAppUiAdapter20HandleEnterEditModeLEi @ 64 NONAME - _ZN15CXnAppUiAdapter21HandleResourceChangeLEi @ 65 NONAME - _ZN15CXnAppUiAdapter9UiEngineLEv @ 66 NONAME - _ZN15CXnAppUiAdapterC1E4TUid @ 67 NONAME - _ZN15CXnAppUiAdapterC2E4TUid @ 68 NONAME - _ZN15CXnAppUiAdapterD0Ev @ 69 NONAME - _ZN15CXnAppUiAdapterD1Ev @ 70 NONAME - _ZN15CXnAppUiAdapterD2Ev @ 71 NONAME - _ZN15CXnNodePluginIf10BorderRectEv @ 72 NONAME - _ZN15CXnNodePluginIf10MarginRectEv @ 73 NONAME - _ZN15CXnNodePluginIf10SetPCDataLERK6TDesC8 @ 74 NONAME - _ZN15CXnNodePluginIf11PaddingRectEv @ 75 NONAME - _ZN15CXnNodePluginIf11UnsetStateLERK6TDesC8 @ 76 NONAME - _ZN15CXnNodePluginIf11VisibilityLEv @ 77 NONAME - _ZN15CXnNodePluginIf12GridColumnsLEv @ 78 NONAME + _ZN15CXnAppUiAdapter11UiActivatedEv @ 58 NONAME + _ZN15CXnAppUiAdapter12HandleEventLERK7TDesC16R12CXnNodeAppIf @ 59 NONAME + _ZN15CXnAppUiAdapter13LoadPublisherER12CXnNodeAppIfi @ 60 NONAME + _ZN15CXnAppUiAdapter13PrepareToExitEv @ 61 NONAME + _ZN15CXnAppUiAdapter16DestroyPublisherER12CXnNodeAppIfi @ 62 NONAME + _ZN15CXnAppUiAdapter16DynInitMenuItemLERK7TDesC16P13RPointerArrayI12CXnNodeAppIfE @ 63 NONAME + _ZN15CXnAppUiAdapter18HandleXuikonEventLER12CXnNodeAppIfS1_R10CXnDomNodeS3_ @ 64 NONAME + _ZN15CXnAppUiAdapter20HandleEnterEditModeLEi @ 65 NONAME + _ZN15CXnAppUiAdapter21HandleResourceChangeLEi @ 66 NONAME + _ZN15CXnAppUiAdapter9UiEngineLEv @ 67 NONAME + _ZN15CXnAppUiAdapterC1E4TUid @ 68 NONAME + _ZN15CXnAppUiAdapterC2E4TUid @ 69 NONAME + _ZN15CXnAppUiAdapterD0Ev @ 70 NONAME + _ZN15CXnAppUiAdapterD1Ev @ 71 NONAME + _ZN15CXnAppUiAdapterD2Ev @ 72 NONAME + _ZN15CXnNodePluginIf10BorderRectEv @ 73 NONAME + _ZN15CXnNodePluginIf10MarginRectEv @ 74 NONAME + _ZN15CXnNodePluginIf10SetPCDataLERK6TDesC8 @ 75 NONAME + _ZN15CXnNodePluginIf11PaddingRectEv @ 76 NONAME + _ZN15CXnNodePluginIf11UnsetStateLERK6TDesC8 @ 77 NONAME + _ZN15CXnNodePluginIf11VisibilityLEv @ 78 NONAME _ZN15CXnNodePluginIf12SetPropertyLEP11CXnProperty @ 79 NONAME _ZN15CXnNodePluginIf12ViewNodeImplEv @ 80 NONAME - _ZN15CXnNodePluginIf12VisibleRowsLEv @ 81 NONAME - _ZN15CXnNodePluginIf13SetBorderRectERK5TRect @ 82 NONAME - _ZN15CXnNodePluginIf13SetMarginRectERK5TRect @ 83 NONAME - _ZN15CXnNodePluginIf14IsFocusedStateEv @ 84 NONAME - _ZN15CXnNodePluginIf14MakeInterfaceLERK6TDesC8 @ 85 NONAME - _ZN15CXnNodePluginIf14SetPaddingRectERK5TRect @ 86 NONAME - _ZN15CXnNodePluginIf16FocusHorLoopingLEv @ 87 NONAME - _ZN15CXnNodePluginIf16FocusVerLoopingLEv @ 88 NONAME - _ZN15CXnNodePluginIf16GridOrientationLEv @ 89 NONAME - _ZN15CXnNodePluginIf16SetHandleTooltipEi @ 90 NONAME - _ZN15CXnNodePluginIf16SetLayoutCapableEi @ 91 NONAME - _ZN15CXnNodePluginIf17ComponentNodeImplEv @ 92 NONAME - _ZN15CXnNodePluginIf17GridHorDirectionLEv @ 93 NONAME - _ZN15CXnNodePluginIf17GridVerDirectionLEv @ 94 NONAME - _ZN15CXnNodePluginIf19GridScrollBarWidthLEv @ 95 NONAME - _ZN15CXnNodePluginIf19ReportTriggerEventLERK6TDesC8S2_S2_ @ 96 NONAME - _ZN15CXnNodePluginIf20GridScrollBarMarginLEv @ 97 NONAME - _ZN15CXnNodePluginIf31SetPropertyWithoutNotificationLEP11CXnProperty @ 98 NONAME - _ZN15CXnNodePluginIf3IdLEv @ 99 NONAME - _ZN15CXnNodePluginIf4RectEv @ 100 NONAME - _ZN15CXnNodePluginIf4RefLEv @ 101 NONAME - _ZN15CXnNodePluginIf4TypeEv @ 102 NONAME - _ZN15CXnNodePluginIf5PathLEv @ 103 NONAME - _ZN15CXnNodePluginIf6AppIfLEv @ 104 NONAME - _ZN15CXnNodePluginIf6LabelLEv @ 105 NONAME - _ZN15CXnNodePluginIf7SetRectERK5TRect @ 106 NONAME - _ZN15CXnNodePluginIf8DisplayLEv @ 107 NONAME - _ZN15CXnNodePluginIf9AddChildLEPS_ @ 108 NONAME - _ZN15CXnNodePluginIf9ChildrenLEv @ 109 NONAME - _ZN15CXnNodePluginIf9MaskPathLEv @ 110 NONAME - _ZN15CXnNodePluginIf9NamespaceEv @ 111 NONAME - _ZN15CXnNodePluginIf9SetDirtyLEv @ 112 NONAME - _ZN15CXnNodePluginIf9SetStateLERK6TDesC8 @ 113 NONAME - _ZN15CXnNodePluginIf9UiEngineLEv @ 114 NONAME - _ZN15CXnUiEngineImpl14EnableRenderUiEPv @ 115 NONAME - _ZN16CXnViewsNodeImpl10ConstructLEP7CXnType @ 116 NONAME - _ZN16CXnViewsNodeImpl12SetComponentEP12CXnComponent @ 117 NONAME - _ZN16CXnViewsNodeImpl4NewLEP7CXnType @ 118 NONAME - _ZN16CXnViewsNodeImpl9ComponentEv @ 119 NONAME - _ZN16CXnViewsNodeImplC1Ev @ 120 NONAME - _ZN16CXnViewsNodeImplC2Ev @ 121 NONAME - _ZN16CXnViewsNodeImplD0Ev @ 122 NONAME - _ZN16CXnViewsNodeImplD1Ev @ 123 NONAME - _ZN16CXnViewsNodeImplD2Ev @ 124 NONAME - _ZN16MXnNodePredicate5MatchER7CXnNode @ 125 NONAME - _ZN16MXnNodePredicateC1Ev @ 126 NONAME - _ZN16MXnNodePredicateC2Ev @ 127 NONAME - _ZN16MXnNodePredicateD0Ev @ 128 NONAME - _ZN16MXnNodePredicateD1Ev @ 129 NONAME - _ZN16MXnNodePredicateD2Ev @ 130 NONAME - _ZN16TXnUiEngineAppIf10ActiveViewEv @ 131 NONAME - _ZN16TXnUiEngineAppIf10IsEditModeEv @ 132 NONAME - _ZN16TXnUiEngineAppIf10StringPoolEv @ 133 NONAME - _ZN16TXnUiEngineAppIf11FocusedNodeEv @ 134 NONAME - _ZN16TXnUiEngineAppIf11SetUiEngineEP11CXnUiEngine @ 135 NONAME - _ZN16TXnUiEngineAppIf12RefreshMenuLEv @ 136 NONAME - _ZN16TXnUiEngineAppIf13ActivateViewLER12CXnNodeAppIf @ 137 NONAME - _ZN16TXnUiEngineAppIf13FindNodeByIdLERK6TDesC8S2_ @ 138 NONAME - _ZN16TXnUiEngineAppIf13FindNodeByIdLERK7TDesC16S2_ @ 139 NONAME - _ZN16TXnUiEngineAppIf16FindNodeByClassLERK6TDesC8S2_ @ 140 NONAME - _ZN16TXnUiEngineAppIf16FindNodeByClassLERK7TDesC16S2_ @ 141 NONAME - _ZN16TXnUiEngineAppIf16GetThemeResourceERK7TDesC16R5RFile @ 142 NONAME - _ZN16TXnUiEngineAppIf16IsMenuDisplayingEv @ 143 NONAME - _ZN16TXnUiEngineAppIf19GetPluginNodeArrayLER13RPointerArrayI12CXnNodeAppIfE @ 144 NONAME - _ZN16TXnUiEngineAppIf23FindContentSourceNodesLERK6TDesC8 @ 145 NONAME - _ZN16TXnUiEngineAppIf9RenderUILEP12CXnNodeAppIf @ 146 NONAME - _ZN16TXnUiEngineAppIf9RootNodeLEv @ 147 NONAME - _ZN17CXnControlAdapter10ConstructLER15CXnNodePluginIf @ 148 NONAME - _ZN17CXnControlAdapter10LoadBitmapERK7TDesC16 @ 149 NONAME - _ZN17CXnControlAdapter10SetVisibleEi @ 150 NONAME - _ZN17CXnControlAdapter11SizeChangedEv @ 151 NONAME - _ZN17CXnControlAdapter11SkinChangedEv @ 152 NONAME - _ZN17CXnControlAdapter12FocusChangedE8TDrawNow @ 153 NONAME - _ZN17CXnControlAdapter12SetComponentEP12CXnComponent @ 154 NONAME - _ZN17CXnControlAdapter14ContentBitmapsERP10CFbsBitmapS2_ @ 155 NONAME - _ZN17CXnControlAdapter14OfferKeyEventLERK9TKeyEvent10TEventCode @ 156 NONAME - _ZN17CXnControlAdapter15SetLocalUiZoomLE10TAknUiZoom @ 157 NONAME - _ZN17CXnControlAdapter16GetBitmapAndMaskERK7TDesC16S2_RP10CFbsBitmapS5_ @ 158 NONAME - _ZN17CXnControlAdapter17SetContentBitmapsEP10CFbsBitmapS1_ @ 159 NONAME - _ZN17CXnControlAdapter17SetContentBitmapsERK7TDesC16S2_ @ 160 NONAME - _ZN17CXnControlAdapter18ExitPowerSaveModeLENS_10TModeEventE @ 161 NONAME - _ZN17CXnControlAdapter18ResetStylusCounterEv @ 162 NONAME - _ZN17CXnControlAdapter19EnterPowerSaveModeLENS_10TModeEventE @ 163 NONAME - _ZN17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 164 NONAME - _ZN17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 165 NONAME - _ZN17CXnControlAdapter19HandlePointerEventLERK13TPointerEvent @ 166 NONAME - _ZN17CXnControlAdapter20DoExitPowerSaveModeLENS_10TModeEventE @ 167 NONAME - _ZN17CXnControlAdapter21DoEnterPowerSaveModeLENS_10TModeEventE @ 168 NONAME - _ZN17CXnControlAdapter21HandlePropertyChangeLEP11CXnProperty @ 169 NONAME - _ZN17CXnControlAdapter22EnableLongTapAnimationEi @ 170 NONAME - _ZN17CXnControlAdapter23DoHandlePropertyChangeLEP11CXnProperty @ 171 NONAME - _ZN17CXnControlAdapter23MeasureAdaptiveContentLERK5TSize @ 172 NONAME - _ZN17CXnControlAdapter26HandleScreenDeviceChangedLEv @ 173 NONAME - _ZN17CXnControlAdapter4NewLER15CXnNodePluginIf @ 174 NONAME - _ZN17CXnControlAdapter8SetBlankEi @ 175 NONAME - _ZN17CXnControlAdapter8SetDataLERK6TDesC8RK7TDesC16i @ 176 NONAME - _ZN17CXnControlAdapter9ComponentEv @ 177 NONAME - _ZN17CXnControlAdapterC1Ev @ 178 NONAME - _ZN17CXnControlAdapterC2Ev @ 179 NONAME - _ZN17CXnControlAdapterD0Ev @ 180 NONAME - _ZN17CXnControlAdapterD1Ev @ 181 NONAME - _ZN17CXnControlAdapterD2Ev @ 182 NONAME - _ZN19MXnComponentFactory16MakeXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 183 NONAME - _ZN19MXnComponentFactory18CreateXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 184 NONAME - _ZN19MXnComponentFactory21MakeXnControlAdapterLER15CXnNodePluginIfP17CXnControlAdapter @ 185 NONAME - _ZN19MXnComponentFactory26DoesNodeNeedComponentImplLERK6TDesC8 @ 186 NONAME - _ZN19MXnComponentFactoryC2Ev @ 187 NONAME - _ZN19MXnComponentFactoryD0Ev @ 188 NONAME - _ZN19MXnComponentFactoryD1Ev @ 189 NONAME - _ZN19MXnComponentFactoryD2Ev @ 190 NONAME - _ZN19TXnUiEnginePluginIf10StringPoolEv @ 191 NONAME - _ZN19TXnUiEnginePluginIf11PluginNodeLEP15CXnNodePluginIf @ 192 NONAME - _ZN19TXnUiEnginePluginIf12EnableSwipeLEi @ 193 NONAME - _ZN19TXnUiEnginePluginIf12FocusVisibleEv @ 194 NONAME - _ZN19TXnUiEnginePluginIf12FocusedNodeLEv @ 195 NONAME - _ZN19TXnUiEnginePluginIf13ActivateViewLER15CXnNodePluginIf @ 196 NONAME - _ZN19TXnUiEnginePluginIf13AddDirtyNodeLER15CXnNodePluginIf @ 197 NONAME - _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK6TDesC8S2_ @ 198 NONAME - _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK7TDesC16S2_ @ 199 NONAME - _ZN19TXnUiEnginePluginIf13SwipeEnabledLEv @ 200 NONAME - _ZN19TXnUiEnginePluginIf14SetFocusedNodeEP15CXnNodePluginIf @ 201 NONAME - _ZN19TXnUiEnginePluginIf16FindNodeByClassLERK7TDesC16 @ 202 NONAME - _ZN19TXnUiEnginePluginIf16IsMenuDisplayingEv @ 203 NONAME - _ZN19TXnUiEnginePluginIf16ScreenDeviceSizeEv @ 204 NONAME - _ZN19TXnUiEnginePluginIf16SetFocusVisibleLEi @ 205 NONAME - _ZN19TXnUiEnginePluginIf17DisableRenderUiLCEv @ 206 NONAME - _ZN19TXnUiEnginePluginIf18IsDialogDisplayingEv @ 207 NONAME - _ZN19TXnUiEnginePluginIf18VerticalTwipValueLEP11CXnPropertyi @ 208 NONAME - _ZN19TXnUiEnginePluginIf19VerticalPixelValueLEP11CXnPropertyi @ 209 NONAME - _ZN19TXnUiEnginePluginIf20HorizontalTwipValueLEP11CXnPropertyi @ 210 NONAME - _ZN19TXnUiEnginePluginIf21HorizontalPixelValueLEP11CXnPropertyi @ 211 NONAME - _ZN19TXnUiEnginePluginIf22DeactivateFocusedNodeLEv @ 212 NONAME - _ZN19TXnUiEnginePluginIf26RestorePreviousFocusedNodeEv @ 213 NONAME - _ZN19TXnUiEnginePluginIf8EditModeEv @ 214 NONAME - _ZN19TXnUiEnginePluginIf9LayoutUILEP15CXnNodePluginIf @ 215 NONAME - _ZN19TXnUiEnginePluginIf9RenderUILEP15CXnNodePluginIf @ 216 NONAME - _ZN19TXnUiEnginePluginIf9ResourcesEv @ 217 NONAME - _ZN19TXnUiEnginePluginIf9RootNodeLEv @ 218 NONAME - _ZN19TXnUiEnginePluginIf9ShowFocusEv @ 219 NONAME - _ZN20CXnComponentNodeImpl10ConstructLEP7CXnType @ 220 NONAME - _ZN20CXnComponentNodeImpl12SetComponentEP12CXnComponent @ 221 NONAME - _ZN20CXnComponentNodeImpl14MakeInterfaceLERK6TDesC8 @ 222 NONAME - _ZN20CXnComponentNodeImpl25SetComponentNeedsCreationEi @ 223 NONAME - _ZN20CXnComponentNodeImpl4NewLEP7CXnType @ 224 NONAME - _ZN20CXnComponentNodeImpl9ComponentEv @ 225 NONAME - _ZN20CXnComponentNodeImplC1Ev @ 226 NONAME - _ZN20CXnComponentNodeImplC2Ev @ 227 NONAME - _ZN20CXnComponentNodeImplD0Ev @ 228 NONAME - _ZN20CXnComponentNodeImplD1Ev @ 229 NONAME - _ZN20CXnComponentNodeImplD2Ev @ 230 NONAME - _ZN8CXnUtils11CreateFontLER15CXnNodePluginIfRP5CFontRi @ 231 NONAME - _ZN8CXnUtils11CreateFontLERK7TDesC16i10TFontStyleRP5CFontRi @ 232 NONAME - _ZN8CXnUtils11GetRgbValueER4TRgbRK6TDesC8 @ 233 NONAME - _ZN8CXnUtils11StripQuotesERP7HBufC16 @ 234 NONAME - _ZN8CXnUtils12FindResourceER12CArrayPtrSegI11CXnResourceERK7TDesC16Ri @ 235 NONAME - _ZN8CXnUtils12ScaleBitmapLERK5TRectP10CFbsBitmapS4_ @ 236 NONAME - _ZN8CXnUtils13TextAlignmentER15CXnNodePluginIf @ 237 NONAME - _ZN8CXnUtils15ConvertHslToRgbEiii @ 238 NONAME - _ZN8CXnUtils18CollapseWhiteSpaceER15CXnNodePluginIfR6TDes16 @ 239 NONAME - _ZN8CXnUtils18ResolveSkinItemIDLERK7TDesC16R11TAknsItemIDRi @ 240 NONAME - _ZN8CXnUtils20HandlePowerSaveModeLEP7CXnNodeii @ 241 NONAME - _ZNK11CXnProperty7EqualsLERS_ @ 242 NONAME - _ZNK12CXnNodeAppIf12GetPropertyLER11CXnProperty @ 243 NONAME - _ZNK12CXnNodeAppIf12GetPropertyLERK6TDesC8 @ 244 NONAME - _ZNK12CXnNodeAppIf19InternalDomNodeTypeEv @ 245 NONAME - _ZNK12CXnNodeAppIf7ParentLEv @ 246 NONAME - _ZNK12CXnNodeAppIf9GetPCDataEv @ 247 NONAME - _ZNK14CXnApplication9AppDllUidEv @ 248 NONAME - _ZNK15CXnAppUiAdapter4ViewEv @ 249 NONAME - _ZNK15CXnNodePluginIf12GetPropertyLER11CXnProperty @ 250 NONAME - _ZNK15CXnNodePluginIf12GetPropertyLERK6TDesC8 @ 251 NONAME - _ZNK15CXnNodePluginIf7ControlEv @ 252 NONAME - _ZNK15CXnNodePluginIf7ParentLEv @ 253 NONAME - _ZNK15CXnNodePluginIf9GetPCDataEv @ 254 NONAME - _ZNK16TXnUiEngineAppIf14WidgetsVisibleEv @ 255 NONAME - _ZNK17CXnControlAdapter15LongTapDetectorEv @ 256 NONAME - _ZNK17CXnControlAdapter16ComponentControlEi @ 257 NONAME - _ZNK17CXnControlAdapter16DrawContentImageEv @ 258 NONAME - _ZNK17CXnControlAdapter16IsDrawingAllowedEv @ 259 NONAME - _ZNK17CXnControlAdapter22CountComponentControlsEv @ 260 NONAME - _ZNK17CXnControlAdapter4DrawERK5TRect @ 261 NONAME - _ZNK17CXnControlAdapter4DrawERK5TRectR9CWindowGc @ 262 NONAME - _ZNK19TXnUiEnginePluginIf14WidgetsVisibleEv @ 263 NONAME - _ZNK19TXnUiEnginePluginIf9HitRegionEv @ 264 NONAME - _ZNK20CXnComponentNodeImpl25DoesComponentNeedCreationEv @ 265 NONAME - _ZTI11CXnDocument @ 266 NONAME - _ZTI11CXnProperty @ 267 NONAME - _ZTI12CXnComponent @ 268 NONAME - _ZTI14CXnApplication @ 269 NONAME - _ZTI15CXnAppUiAdapter @ 270 NONAME - _ZTI16CXnViewsNodeImpl @ 271 NONAME - _ZTI16MXnNodePredicate @ 272 NONAME - _ZTI17CXnControlAdapter @ 273 NONAME - _ZTI18CXnListQueryDialog @ 274 NONAME - _ZTI19MXnComponentFactory @ 275 NONAME - _ZTI20CXnComponentNodeImpl @ 276 NONAME - _ZTI27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 277 NONAME - _ZTIN21CXnControlAdapterImpl13TIconProviderE @ 278 NONAME - _ZTV11CXnDocument @ 279 NONAME - _ZTV11CXnProperty @ 280 NONAME - _ZTV12CXnComponent @ 281 NONAME - _ZTV14CXnApplication @ 282 NONAME - _ZTV15CXnAppUiAdapter @ 283 NONAME - _ZTV16CXnViewsNodeImpl @ 284 NONAME - _ZTV16MXnNodePredicate @ 285 NONAME - _ZTV17CXnControlAdapter @ 286 NONAME - _ZTV18CXnListQueryDialog @ 287 NONAME - _ZTV19MXnComponentFactory @ 288 NONAME - _ZTV20CXnComponentNodeImpl @ 289 NONAME - _ZTV27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 290 NONAME - _ZTVN21CXnControlAdapterImpl13TIconProviderE @ 291 NONAME - _ZThn52_N17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 292 NONAME - _ZThn60_N17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 293 NONAME - _ZN19TXnUiEnginePluginIf23EnablePartialTouchInputER15CXnNodePluginIfi @ 294 NONAME + _ZN15CXnNodePluginIf13SetBorderRectERK5TRect @ 81 NONAME + _ZN15CXnNodePluginIf13SetMarginRectERK5TRect @ 82 NONAME + _ZN15CXnNodePluginIf14IsFocusedStateEv @ 83 NONAME + _ZN15CXnNodePluginIf14MakeInterfaceLERK6TDesC8 @ 84 NONAME + _ZN15CXnNodePluginIf14SetPaddingRectERK5TRect @ 85 NONAME + _ZN15CXnNodePluginIf16SetHandleTooltipEi @ 86 NONAME + _ZN15CXnNodePluginIf16SetLayoutCapableEi @ 87 NONAME + _ZN15CXnNodePluginIf17ComponentNodeImplEv @ 88 NONAME + _ZN15CXnNodePluginIf19ReportTriggerEventLERK6TDesC8S2_S2_ @ 89 NONAME + _ZN15CXnNodePluginIf31SetPropertyWithoutNotificationLEP11CXnProperty @ 90 NONAME + _ZN15CXnNodePluginIf3IdLEv @ 91 NONAME + _ZN15CXnNodePluginIf4RectEv @ 92 NONAME + _ZN15CXnNodePluginIf4TypeEv @ 93 NONAME + _ZN15CXnNodePluginIf5PathLEv @ 94 NONAME + _ZN15CXnNodePluginIf6AppIfLEv @ 95 NONAME + _ZN15CXnNodePluginIf6LabelLEv @ 96 NONAME + _ZN15CXnNodePluginIf7SetRectERK5TRect @ 97 NONAME + _ZN15CXnNodePluginIf8DisplayLEv @ 98 NONAME + _ZN15CXnNodePluginIf9AddChildLEPS_ @ 99 NONAME + _ZN15CXnNodePluginIf9ChildrenLEv @ 100 NONAME + _ZN15CXnNodePluginIf9MaskPathLEv @ 101 NONAME + _ZN15CXnNodePluginIf9NamespaceEv @ 102 NONAME + _ZN15CXnNodePluginIf9SetDirtyLEv @ 103 NONAME + _ZN15CXnNodePluginIf9SetStateLERK6TDesC8 @ 104 NONAME + _ZN15CXnNodePluginIf9UiEngineLEv @ 105 NONAME + _ZN15CXnUiEngineImpl14EnableRenderUiEPv @ 106 NONAME + _ZN16CXnViewsNodeImpl10ConstructLEP7CXnType @ 107 NONAME + _ZN16CXnViewsNodeImpl12SetComponentEP12CXnComponent @ 108 NONAME + _ZN16CXnViewsNodeImpl4NewLEP7CXnType @ 109 NONAME + _ZN16CXnViewsNodeImpl9ComponentEv @ 110 NONAME + _ZN16CXnViewsNodeImplC1Ev @ 111 NONAME + _ZN16CXnViewsNodeImplC2Ev @ 112 NONAME + _ZN16CXnViewsNodeImplD0Ev @ 113 NONAME + _ZN16CXnViewsNodeImplD1Ev @ 114 NONAME + _ZN16CXnViewsNodeImplD2Ev @ 115 NONAME + _ZN16MXnNodePredicate5MatchER7CXnNode @ 116 NONAME + _ZN16MXnNodePredicateC1Ev @ 117 NONAME + _ZN16MXnNodePredicateC2Ev @ 118 NONAME + _ZN16MXnNodePredicateD0Ev @ 119 NONAME + _ZN16MXnNodePredicateD1Ev @ 120 NONAME + _ZN16MXnNodePredicateD2Ev @ 121 NONAME + _ZN16TXnUiEngineAppIf10ActiveViewEv @ 122 NONAME + _ZN16TXnUiEngineAppIf10IsEditModeEv @ 123 NONAME + _ZN16TXnUiEngineAppIf10StringPoolEv @ 124 NONAME + _ZN16TXnUiEngineAppIf11FocusedNodeEv @ 125 NONAME + _ZN16TXnUiEngineAppIf11SetUiEngineEP11CXnUiEngine @ 126 NONAME + _ZN16TXnUiEngineAppIf12RefreshMenuLEv @ 127 NONAME + _ZN16TXnUiEngineAppIf13ActivateViewLER12CXnNodeAppIf @ 128 NONAME + _ZN16TXnUiEngineAppIf13FindNodeByIdLERK6TDesC8S2_ @ 129 NONAME + _ZN16TXnUiEngineAppIf13FindNodeByIdLERK7TDesC16S2_ @ 130 NONAME + _ZN16TXnUiEngineAppIf16FindNodeByClassLERK6TDesC8S2_ @ 131 NONAME + _ZN16TXnUiEngineAppIf16FindNodeByClassLERK7TDesC16S2_ @ 132 NONAME + _ZN16TXnUiEngineAppIf16GetThemeResourceERK7TDesC16R5RFile @ 133 NONAME + _ZN16TXnUiEngineAppIf16IsMenuDisplayingEv @ 134 NONAME + _ZN16TXnUiEngineAppIf19GetPluginNodeArrayLER13RPointerArrayI12CXnNodeAppIfE @ 135 NONAME + _ZN16TXnUiEngineAppIf23FindContentSourceNodesLERK6TDesC8 @ 136 NONAME + _ZN16TXnUiEngineAppIf9RenderUILEP12CXnNodeAppIf @ 137 NONAME + _ZN16TXnUiEngineAppIf9RootNodeLEv @ 138 NONAME + _ZN17CXnControlAdapter10ConstructLER15CXnNodePluginIf @ 139 NONAME + _ZN17CXnControlAdapter10LoadBitmapERK7TDesC16 @ 140 NONAME + _ZN17CXnControlAdapter10SetVisibleEi @ 141 NONAME + _ZN17CXnControlAdapter11SizeChangedEv @ 142 NONAME + _ZN17CXnControlAdapter11SkinChangedEv @ 143 NONAME + _ZN17CXnControlAdapter12FocusChangedE8TDrawNow @ 144 NONAME + _ZN17CXnControlAdapter12SetComponentEP12CXnComponent @ 145 NONAME + _ZN17CXnControlAdapter14ContentBitmapsERP10CFbsBitmapS2_ @ 146 NONAME + _ZN17CXnControlAdapter14OfferKeyEventLERK9TKeyEvent10TEventCode @ 147 NONAME + _ZN17CXnControlAdapter15SetLocalUiZoomLE10TAknUiZoom @ 148 NONAME + _ZN17CXnControlAdapter16GetBitmapAndMaskERK7TDesC16S2_RP10CFbsBitmapS5_ @ 149 NONAME + _ZN17CXnControlAdapter17SetContentBitmapsEP10CFbsBitmapS1_ @ 150 NONAME + _ZN17CXnControlAdapter17SetContentBitmapsERK7TDesC16S2_ @ 151 NONAME + _ZN17CXnControlAdapter18ExitPowerSaveModeLENS_10TModeEventE @ 152 NONAME + _ZN17CXnControlAdapter18ResetStylusCounterEv @ 153 NONAME + _ZN17CXnControlAdapter19EnterPowerSaveModeLENS_10TModeEventE @ 154 NONAME + _ZN17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 155 NONAME + _ZN17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 156 NONAME + _ZN17CXnControlAdapter19HandlePointerEventLERK13TPointerEvent @ 157 NONAME + _ZN17CXnControlAdapter20DoExitPowerSaveModeLENS_10TModeEventE @ 158 NONAME + _ZN17CXnControlAdapter21DoEnterPowerSaveModeLENS_10TModeEventE @ 159 NONAME + _ZN17CXnControlAdapter21HandlePropertyChangeLEP11CXnProperty @ 160 NONAME + _ZN17CXnControlAdapter22EnableLongTapAnimationEi @ 161 NONAME + _ZN17CXnControlAdapter23DoHandlePropertyChangeLEP11CXnProperty @ 162 NONAME + _ZN17CXnControlAdapter23MeasureAdaptiveContentLERK5TSize @ 163 NONAME + _ZN17CXnControlAdapter26HandleScreenDeviceChangedLEv @ 164 NONAME + _ZN17CXnControlAdapter4NewLER15CXnNodePluginIf @ 165 NONAME + _ZN17CXnControlAdapter8SetBlankEi @ 166 NONAME + _ZN17CXnControlAdapter8SetDataLERK6TDesC8RK7TDesC16i @ 167 NONAME + _ZN17CXnControlAdapter9ComponentEv @ 168 NONAME + _ZN17CXnControlAdapterC1Ev @ 169 NONAME + _ZN17CXnControlAdapterC2Ev @ 170 NONAME + _ZN17CXnControlAdapterD0Ev @ 171 NONAME + _ZN17CXnControlAdapterD1Ev @ 172 NONAME + _ZN17CXnControlAdapterD2Ev @ 173 NONAME + _ZN19MXnComponentFactory16MakeXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 174 NONAME + _ZN19MXnComponentFactory18CreateXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 175 NONAME + _ZN19MXnComponentFactory21MakeXnControlAdapterLER15CXnNodePluginIfP17CXnControlAdapter @ 176 NONAME + _ZN19MXnComponentFactory26DoesNodeNeedComponentImplLERK6TDesC8 @ 177 NONAME + _ZN19MXnComponentFactoryC2Ev @ 178 NONAME + _ZN19MXnComponentFactoryD0Ev @ 179 NONAME + _ZN19MXnComponentFactoryD1Ev @ 180 NONAME + _ZN19MXnComponentFactoryD2Ev @ 181 NONAME + _ZN19TXnUiEnginePluginIf10StringPoolEv @ 182 NONAME + _ZN19TXnUiEnginePluginIf11PluginNodeLEP15CXnNodePluginIf @ 183 NONAME + _ZN19TXnUiEnginePluginIf12EnableSwipeLEi @ 184 NONAME + _ZN19TXnUiEnginePluginIf12FocusVisibleEv @ 185 NONAME + _ZN19TXnUiEnginePluginIf12FocusedNodeLEv @ 186 NONAME + _ZN19TXnUiEnginePluginIf13ActivateViewLER15CXnNodePluginIf @ 187 NONAME + _ZN19TXnUiEnginePluginIf13AddDirtyNodeLER15CXnNodePluginIf @ 188 NONAME + _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK6TDesC8S2_ @ 189 NONAME + _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK7TDesC16S2_ @ 190 NONAME + _ZN19TXnUiEnginePluginIf13SwipeEnabledLEv @ 191 NONAME + _ZN19TXnUiEnginePluginIf14SetFocusedNodeEP15CXnNodePluginIf @ 192 NONAME + _ZN19TXnUiEnginePluginIf16FindNodeByClassLERK7TDesC16 @ 193 NONAME + _ZN19TXnUiEnginePluginIf16IsMenuDisplayingEv @ 194 NONAME + _ZN19TXnUiEnginePluginIf16ScreenDeviceSizeEv @ 195 NONAME + _ZN19TXnUiEnginePluginIf16SetFocusVisibleLEi @ 196 NONAME + _ZN19TXnUiEnginePluginIf17DisableRenderUiLCEv @ 197 NONAME + _ZN19TXnUiEnginePluginIf18IsDialogDisplayingEv @ 198 NONAME + _ZN19TXnUiEnginePluginIf18VerticalTwipValueLEP11CXnPropertyi @ 199 NONAME + _ZN19TXnUiEnginePluginIf19VerticalPixelValueLEP11CXnPropertyi @ 200 NONAME + _ZN19TXnUiEnginePluginIf20HorizontalTwipValueLEP11CXnPropertyi @ 201 NONAME + _ZN19TXnUiEnginePluginIf21HorizontalPixelValueLEP11CXnPropertyi @ 202 NONAME + _ZN19TXnUiEnginePluginIf22DeactivateFocusedNodeLEv @ 203 NONAME + _ZN19TXnUiEnginePluginIf23EnablePartialTouchInputER15CXnNodePluginIfi @ 204 NONAME + _ZN19TXnUiEnginePluginIf26RestorePreviousFocusedNodeEv @ 205 NONAME + _ZN19TXnUiEnginePluginIf8EditModeEv @ 206 NONAME + _ZN19TXnUiEnginePluginIf9LayoutUILEP15CXnNodePluginIf @ 207 NONAME + _ZN19TXnUiEnginePluginIf9RenderUILEP15CXnNodePluginIf @ 208 NONAME + _ZN19TXnUiEnginePluginIf9ResourcesEv @ 209 NONAME + _ZN19TXnUiEnginePluginIf9RootNodeLEv @ 210 NONAME + _ZN19TXnUiEnginePluginIf9ShowFocusEv @ 211 NONAME + _ZN20CXnComponentNodeImpl10ConstructLEP7CXnType @ 212 NONAME + _ZN20CXnComponentNodeImpl12SetComponentEP12CXnComponent @ 213 NONAME + _ZN20CXnComponentNodeImpl14MakeInterfaceLERK6TDesC8 @ 214 NONAME + _ZN20CXnComponentNodeImpl25SetComponentNeedsCreationEi @ 215 NONAME + _ZN20CXnComponentNodeImpl4NewLEP7CXnType @ 216 NONAME + _ZN20CXnComponentNodeImpl9ComponentEv @ 217 NONAME + _ZN20CXnComponentNodeImplC1Ev @ 218 NONAME + _ZN20CXnComponentNodeImplC2Ev @ 219 NONAME + _ZN20CXnComponentNodeImplD0Ev @ 220 NONAME + _ZN20CXnComponentNodeImplD1Ev @ 221 NONAME + _ZN20CXnComponentNodeImplD2Ev @ 222 NONAME + _ZN8CXnUtils11CreateFontLER15CXnNodePluginIfRP5CFontRi @ 223 NONAME + _ZN8CXnUtils11CreateFontLERK7TDesC16i10TFontStyleRP5CFontRi @ 224 NONAME + _ZN8CXnUtils11GetRgbValueER4TRgbRK6TDesC8 @ 225 NONAME + _ZN8CXnUtils11StripQuotesERP7HBufC16 @ 226 NONAME + _ZN8CXnUtils12FindResourceER12CArrayPtrSegI11CXnResourceERK7TDesC16Ri @ 227 NONAME + _ZN8CXnUtils12ScaleBitmapLERK5TRectP10CFbsBitmapS4_ @ 228 NONAME + _ZN8CXnUtils13TextAlignmentER15CXnNodePluginIf @ 229 NONAME + _ZN8CXnUtils15ConvertHslToRgbEiii @ 230 NONAME + _ZN8CXnUtils18CollapseWhiteSpaceER15CXnNodePluginIfR6TDes16 @ 231 NONAME + _ZN8CXnUtils18ResolveSkinItemIDLERK7TDesC16R11TAknsItemIDRi @ 232 NONAME + _ZN8CXnUtils20HandlePowerSaveModeLEP7CXnNodeii @ 233 NONAME + _ZNK11CXnProperty7EqualsLERS_ @ 234 NONAME + _ZNK12CXnNodeAppIf12GetPropertyLER11CXnProperty @ 235 NONAME + _ZNK12CXnNodeAppIf12GetPropertyLERK6TDesC8 @ 236 NONAME + _ZNK12CXnNodeAppIf19InternalDomNodeTypeEv @ 237 NONAME + _ZNK12CXnNodeAppIf7ParentLEv @ 238 NONAME + _ZNK12CXnNodeAppIf9GetPCDataEv @ 239 NONAME + _ZNK14CXnApplication9AppDllUidEv @ 240 NONAME + _ZNK15CXnAppUiAdapter4ViewEv @ 241 NONAME + _ZNK15CXnNodePluginIf12GetPropertyLER11CXnProperty @ 242 NONAME + _ZNK15CXnNodePluginIf12GetPropertyLERK6TDesC8 @ 243 NONAME + _ZNK15CXnNodePluginIf7ControlEv @ 244 NONAME + _ZNK15CXnNodePluginIf7ParentLEv @ 245 NONAME + _ZNK15CXnNodePluginIf9GetPCDataEv @ 246 NONAME + _ZNK16TXnUiEngineAppIf14WidgetsVisibleEv @ 247 NONAME + _ZNK17CXnControlAdapter15LongTapDetectorEv @ 248 NONAME + _ZNK17CXnControlAdapter16ComponentControlEi @ 249 NONAME + _ZNK17CXnControlAdapter16DrawContentImageEv @ 250 NONAME + _ZNK17CXnControlAdapter16IsDrawingAllowedEv @ 251 NONAME + _ZNK17CXnControlAdapter22CountComponentControlsEv @ 252 NONAME + _ZNK17CXnControlAdapter4DrawERK5TRect @ 253 NONAME + _ZNK17CXnControlAdapter4DrawERK5TRectR9CWindowGc @ 254 NONAME + _ZNK19TXnUiEnginePluginIf14WidgetsVisibleEv @ 255 NONAME + _ZNK19TXnUiEnginePluginIf9HitRegionEv @ 256 NONAME + _ZNK20CXnComponentNodeImpl25DoesComponentNeedCreationEv @ 257 NONAME + _ZTI11CXnDocument @ 258 NONAME + _ZTI11CXnProperty @ 259 NONAME + _ZTI12CXnComponent @ 260 NONAME + _ZTI14CXnApplication @ 261 NONAME + _ZTI15CXnAppUiAdapter @ 262 NONAME + _ZTI16CXnViewsNodeImpl @ 263 NONAME + _ZTI16MXnNodePredicate @ 264 NONAME + _ZTI17CXnControlAdapter @ 265 NONAME + _ZTI18CXnListQueryDialog @ 266 NONAME + _ZTI19MXnComponentFactory @ 267 NONAME + _ZTI20CXnComponentNodeImpl @ 268 NONAME + _ZTI27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 269 NONAME + _ZTIN21CXnControlAdapterImpl13TIconProviderE @ 270 NONAME + _ZTV11CXnDocument @ 271 NONAME + _ZTV11CXnProperty @ 272 NONAME + _ZTV12CXnComponent @ 273 NONAME + _ZTV14CXnApplication @ 274 NONAME + _ZTV15CXnAppUiAdapter @ 275 NONAME + _ZTV16CXnViewsNodeImpl @ 276 NONAME + _ZTV16MXnNodePredicate @ 277 NONAME + _ZTV17CXnControlAdapter @ 278 NONAME + _ZTV18CXnListQueryDialog @ 279 NONAME + _ZTV19MXnComponentFactory @ 280 NONAME + _ZTV20CXnComponentNodeImpl @ 281 NONAME + _ZTV27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 282 NONAME + _ZTVN21CXnControlAdapterImpl13TIconProviderE @ 283 NONAME + _ZThn52_N17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 284 NONAME + _ZThn60_N17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 285 NONAME + _ZN15CXnAppUiAdapter15ProcessMessageLE4TUidRK6TDesC8 @ 286 NONAME diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/group/xnlayoutengine.mmp --- a/idlehomescreen/xmluirendering/uiengine/group/xnlayoutengine.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/group/xnlayoutengine.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -150,6 +150,7 @@ LIBRARY extrenderingplugin.lib LIBRARY disknotifyhandler.lib LIBRARY platformenv.lib +LIBRARY hspluginsettings.lib #if defined(_XN3_DEBUG_) || defined(AI3_DEBUG_PERFORMANCE) LIBRARY flogger.lib diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnappuiadapterimpl.h Fri Mar 12 15:41:49 2010 +0200 @@ -116,7 +116,15 @@ * @return Content control UI interface, NULL if not present */ MHsContentControlUi* HsContentController( const TDesC8& aType ) const; - + + /** + * Gets the Content control factory + * + * @since S60 5.0 + * @return Content control factory + */ + CHsContentControlFactory* HsContentControlFactory(); + /** * Get the effect manager * diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Fri Mar 12 15:41:49 2010 +0200 @@ -175,7 +175,12 @@ void ReadWallpaperFromCenrepL(); void UpdateScreen(); void DrawEditModeBackgroundSkin() const; - + + /** + * Callback function to be used with CPeriodic. + */ + static TInt TimerCallback( TAny *aPtr ); + private: // data /** @@ -248,6 +253,12 @@ */ HBufC* iBgImagePath; + /** + * Periodic timer. + * Own. + */ + CPeriodic* iTimer; + }; #endif // CXNBACKGROUNDMANAGER_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h Fri Mar 12 15:41:49 2010 +0200 @@ -104,12 +104,7 @@ * Service for removing grabbing controls */ void ResetGrabbingL(); - - /** - * Prepares control for destroying - */ - void PrepareDestroy(); - + private: // new functions diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h Fri Mar 12 15:41:49 2010 +0200 @@ -483,6 +483,7 @@ void DrawBackgroundDataL( const TRect& aRect, CXnNode& aNode, CWindowGc& aGc ); void DrawEditModeBgData( CXnNode& aNode, CWindowGc& aGc ); + void DrawPlusSign( CXnNode& aNode, CWindowGc& aGc ); void DrawTransparentColorL( CXnNode& aNode, CWindowGc& aGc, CFbsBitmap* aMask ); void DrawBackgroundSkinL( CXnNode& aNode, CFbsBitmap* aMask, diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xneditor.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h Fri Mar 12 15:41:49 2010 +0200 @@ -139,7 +139,7 @@ * @since S60 5.0 * @param aContentInfo content info */ - void ReplaceWidgetL( CHsContentInfo& aContentInfo, TBool aUseHsps = ETrue ); + void ReplaceWidgetL( CHsContentInfo& aContentInfo ); /** * Commit a new order of plugins to the HSPS. * @@ -199,7 +199,9 @@ // from MHsContentController TInt WidgetListL( CHsContentInfoArray& aArray ); - + + TInt WidgetListL( CHsContentInfo& aInfo, CHsContentInfoArray& aArray ); + TInt ViewListL( CHsContentInfoArray& aArray ); TInt AppListL( CHsContentInfoArray& aArray ); @@ -260,7 +262,13 @@ * Notifies the MHsContentControl and the MHsContentControlUi if view list was changed. */ void ViewListChanged(); - + + /** + * Creates content info for defined plugin + */ + CHsContentInfo* CreateContentInfoLC( CXnPluginData& aPlugin, + RPointerArray< CHsContentInfo >& aInfos ); + private: // from MXnViewObserver diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xneffectmanager.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xneffectmanager.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xneffectmanager.h Fri Mar 12 15:41:49 2010 +0200 @@ -35,7 +35,6 @@ { CXnNode* iNode; TInt iState; - TInt iType; TInt iId; }; @@ -60,20 +59,6 @@ ~CXnEffectManager(); /** - * Begin handling of control effect. - * @param aId effect id - * @aPlugin Plugin data - */ - void BeginControlEffectL( TInt aId, CXnPluginData& aPlugin ); - - /** - * Begin handling of control effect. - * @param aId effect id - * @aPlugins Array of plugin datas - */ - void BeginControlEffectL( TInt aId, RPointerArray& aPlugins ); - - /** * Begin handling of fullscreen effect. * @param aId effect id * @aView view data @@ -97,27 +82,12 @@ * @return ETrue if effect started, otherwise EFalse */ TBool DoBeginFullscreenEffect( TXnEffect& aEffect ); - - /** - * Starts control effect. - * @param aEffect effect data - * @return ETrue if effect started, otherwise EFalse - */ - TBool DoBeginControlEffect( TXnEffect& aEffect ); /** * Removes and destroys effect from effect list. * @param aEffect effect data */ void RemoveEffect( TXnEffect* aEffect ); - - /** - * Return number of ongoing effects of given type. - * @param aType effect type, fullscreen or control - * - * @return Number of ongoing effects of given type - */ - TInt EffectCount( TInt aType ); /** * C++ default constructor. diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnfocuscontrol.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnfocuscontrol.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnfocuscontrol.h Fri Mar 12 15:41:49 2010 +0200 @@ -22,9 +22,6 @@ // System includes #include -// User includes -#include "xninactivitymonitor.h" - // Forward declarations class CXnAppUiAdapter; class CWindowGc; @@ -36,8 +33,7 @@ * @lib xn3layoutengine.lib * @since S60 5.0 */ -NONSHARABLE_CLASS( CXnFocusControl ) : public CBase, - public MXnInactivityObserver +NONSHARABLE_CLASS( CXnFocusControl ) : public CBase { public: // Constructors and destructor @@ -70,14 +66,6 @@ */ CXnFocusControl( CXnAppUiAdapter& aAppUiAdapter ); -private: - // from MXnInactivityObserver - - /** - * @see MXnInactivityObserver - */ - void InactivityTimerExpired(); - public: // new functions @@ -116,8 +104,6 @@ /** AppUiAdapter, Not owned */ CXnAppUiAdapter& iAppUiAdapter; - /** Inactivity monitor, Owned */ - CXnInactivityMonitor* iMonitor; /** Flag to indicate whether it is allowed to show focus */ TBool iVisible; /** Flag to indicate refusal */ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h Fri Mar 12 15:41:49 2010 +0200 @@ -338,6 +338,13 @@ virtual void InitialFocusNodesL( RPointerArray< CXnNode >& aList ) const; /** + * Returns list of popup nodes + * + * @param aList List of popup nodes + */ + virtual void PopupNodesL( RPointerArray< CXnNode >& aList ) const; + + /** * Sets the plugin occupied */ inline void SetOccupied(); @@ -348,14 +355,7 @@ * @return ETrue when occupied EFalse when not */ inline TBool Occupied() const; - - /* - * Sets the plugin removable - * - * @param aRemovable ETrue when removable EFalse when not - */ - inline void SetRemovable( TBool aRemovable ); - + /* * Checks whether removable * @@ -424,6 +424,13 @@ * Show oom error note */ void ShowOutOfMemError(); + + /** + * Sets locking_status attribute (locked/none) + * + * @param aStatus "locked" / "none" + */ + void SetLockingStatus( const TDesC8& aStatus ); private: // New functions diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.inl --- a/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.inl Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.inl Fri Mar 12 15:41:49 2010 +0200 @@ -162,22 +162,6 @@ }; // --------------------------------------------------------------------------- -// Sets removable -// --------------------------------------------------------------------------- -// -inline void CXnPluginData::SetRemovable( TBool aRemovable ) - { - if( aRemovable ) - { - iFlags.Set( EIsRemovable ); - } - else - { - iFlags.Clear( EIsRemovable ); - } - }; - -// --------------------------------------------------------------------------- // Returns removable // --------------------------------------------------------------------------- // diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnuistatelistener.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnuistatelistener.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnuistatelistener.h Fri Mar 12 15:41:49 2010 +0200 @@ -156,6 +156,13 @@ public: // New functions + /** + * Prepares for application exit + * + * @since S60 5.0 + */ + void PrepareToExit(); + /* * Adds MXnUiStateObserver * diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnviewadapter.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnviewadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -77,7 +77,7 @@ * * @since S60 5.0 */ - void PrepareDestroy(); + void PrepareToExit(); /** * Gets event dispatcher @@ -116,8 +116,15 @@ * * @since S60 5.0 */ - void UpdateRskByModeL(); - + void UpdateRskByModeL(); + + /** + * Closes all popups for this container. + * + * @since S60 5.0 + */ + void CloseAllPopupsL(); + public: // from CAknView @@ -191,6 +198,29 @@ * @since S60 5.0 */ void DeactivateContainerL(); + + /** + * Activates default container to view. + * Deactivates internally previous container if it exists. + * + * @since S60 5.0 + * @param aEnterEditState ETrue if default container should be set to edit state. + */ + void ActivateDefaultContainerL( TBool aEnterEditState = EFalse ); + + /** + * Sets edit state property of container + * + * @since S60 5.0 + * @param aView container + * @param aEnter ETrue if container should be set to edit state. + */ + void EnterEditStateL( CXnViewData& aView, TBool aEnter ); + + /** + * Callback function to be used with CPeriodic. + */ + static TInt TimerCallback( TAny *aPtr ); private: @@ -226,7 +256,9 @@ /** Active container, Not owned */ const CXnViewData* iContainer; /** Flags */ - TBitFlags32 iFlags; + TBitFlags32 iFlags; + /** Timer to set window group order after default view is activated, owned */ + CPeriodic* iTimer; }; #endif // XNVIEWADAPTER_H diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnviewdata.h Fri Mar 12 15:41:49 2010 +0200 @@ -93,6 +93,11 @@ * @see CXnPluginData */ void AppearanceNodesL( RPointerArray< CXnNode >& aList ) const; + + /** + * @see CXnPluginData + */ + void PopupNodesL( RPointerArray< CXnNode >& aList ) const; public: // New functions @@ -143,7 +148,7 @@ * @param aNode Node * @return Plugin data */ - CXnPluginData& Plugin( CXnNode* aNode ); + CXnPluginData* Plugin( CXnNode* aNode ); /** * Finds and reurns plugin/view data for namespace @@ -196,22 +201,19 @@ * Returns KNullCDes if wallpaper has not been set. */ const TDesC& WallpaperImagePath() const; - + /** - * Sets view's locking_status attribute (locked/none) to determine if view - * is prevented from removing/deleting or not + * Destroys all publishers in this view * - * @param aLockingStatusString attr. locking_status ("locked"/"none") + * @param aReason Destroy reason */ - void SetLockingStatus( const TDesC8& aLockingStatusString ); - + void DestroyPublishers( TInt aReason ); + private: // new functions void LoadPublishers(); - - void DestroyPublishers( TInt aReason ); - + static TInt DoLoadPublishersL( TAny* aAny ); void DoDestroyPublishersL( TInt aReason ); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h --- a/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h Fri Mar 12 15:41:49 2010 +0200 @@ -39,7 +39,8 @@ * @since Series 60 5.0 */ NONSHARABLE_CLASS( CXnWidgetExtensionAdapter ) : public CXnControlAdapter, - public MXnUiStateObserver + public MXnUiStateObserver, + public MXnUiResourceChangeObserver { public: // Constructors and destructor @@ -96,7 +97,20 @@ /** * @see MXnUiStateObserver */ - void NotifyInCallStateChaged( TBool aInCall ); + void NotifyInCallStateChaged( TBool aInCall ); + +private: + // from MXnUiResourceChangeObserver + + /** + * @see MXnUiResourceChangeObserver + */ + void NotifyStatusPaneSizeChanged(); + + /** + * @see MXnUiResourceChangeObserver + */ + void NotifyResourceChanged( TInt aType ); private: // Constructors @@ -129,7 +143,9 @@ /** AppUi, not owned */ CXnAppUiAdapter* iAppUiAdapter; /** Flag to indicate whether is permanent */ - TBool iPermanent; + TBool iPermanent; + /** Is popup element */ + TBool iPopup; }; #endif // __XNWIDGETEXTENSIONADAPTER_H__ diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,6 +18,7 @@ // System includes #include #include +#include // User includes #include "xnappuiadapter.h" @@ -25,12 +26,13 @@ #include "xnviewadapter.h" #include "xnuiengineappif.h" #include "xnfocuscontrol.h" +#include "hscontentcontrolfactory.h" +#include "xnviewadapter.h" #include "xuikon_builds_cfg.hrh" +#include "debug.h" -#ifdef _XN_PERFORMANCE_TEST_ -#include "xntimemon.h" -#endif +_LIT8( KActivateDefaultView, "activatedefault" ); // ============================ MEMBER FUNCTIONS =============================== @@ -52,16 +54,16 @@ // EXPORT_C void CXnAppUiAdapter::ConstructL() { -#ifdef _XN_PERFORMANCE_TEST_ - TInt start( 0 ); - TInt end( 0 ); - TInt diff( 0 ); - CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL(): - Calling CAknViewAppUi::BaseConstructL().." ) ); - User::AllocSize( start ); -#endif //_XN_PERFORMANCE_TEST_ + __TICK( "CXnAppUiAdapter::ConstructL" ); + __TIME_MARK( time ); + __PRINTS( "*** CXnAppUiAdapter::ConstructL - BaseConstructL" ); + __TIME_MARK( time2 ); + + EnableLocalScreenClearer( EFalse ); + CAknViewAppUi::BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible ); - + CAknToolbar* toolbar( CurrentFixedToolbar() ); if ( toolbar ) @@ -70,25 +72,13 @@ toolbar->DisableToolbarL( ETrue ); } - -#ifdef _XN_PERFORMANCE_TEST_ - User::AllocSize( end ); - diff = end - start; - RDebug::Print( _L( "CAknViewAppUi::BaseConstructL allocation: %d" ), diff ); - CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL(): - Calling CXnAppUiAdapterImpl::NewL().." ) ); - User::AllocSize( start ); -#endif //_XN_PERFORMANCE_TEST_ + + __TIME_ENDMARK( "CXnAppUiAdapter::ConstructL - BaseConstructL, done", time2 ); iImpl = CXnAppUiAdapterImpl::NewL( iApplicationUid, *this ); iImpl->ConstructL(); - -#ifdef _XN_PERFORMANCE_TEST_ - User::AllocSize( end ); - diff = end-start; - RDebug::Print( _L( "Xuikon launch allocation: %d" ), diff ); - - CXnTimeMon::PrintUserMem( _L( "CXnAppUiAdapter::ConstructL() .. all done." ) ); -#endif //_XN_PERFORMANCE_TEST_ + + __TIME_ENDMARK( "CXnAppUiAdapter::ConstructL, done", time ); } // ----------------------------------------------------------------------------- @@ -97,8 +87,7 @@ // ----------------------------------------------------------------------------- // EXPORT_C CXnAppUiAdapter::~CXnAppUiAdapter() - { - iExitingApp = ETrue; + { delete iUiEngineAppIf; delete iImpl; @@ -111,9 +100,8 @@ // EXPORT_C void CXnAppUiAdapter::HandleResourceChangeL( TInt aType ) { -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapter::HandleResourceChangeL - start" ) ); -#endif //_XN_PERFORMANCE_TEST_ + __PRINTS( "*** CXnAppUiAdapter::HandleResourceChangeL" ); + __TIME_MARK( time ); CAknViewAppUi::HandleResourceChangeL( aType ); @@ -122,9 +110,7 @@ iImpl->HandleResourceChangeL( aType ); } -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapter::HandleResourceChangeL - end" ) ); -#endif //_XN_PERFORMANCE_TEST_ + __TIME_ENDMARK( "CXnAppUiAdapter::HandleResourceChangeL, done", time ); } // ----------------------------------------------------------------------------- @@ -281,14 +267,49 @@ EXPORT_C void CXnAppUiAdapter::PrepareToExit() { iExitingApp = ETrue; - delete iUiEngineAppIf; - iUiEngineAppIf = NULL; - delete iImpl; - iImpl = NULL; + + if ( iImpl ) + { + iImpl->UiStateListener().PrepareToExit(); + + iImpl->ViewAdapter().PrepareToExit(); + + iImpl->HsContentControlFactory()->PrepareToExit(); + } + CAknViewAppUi::PrepareToExit(); } // ----------------------------------------------------------------------------- +// CXnAppUiAdapter::UiActivated +// +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnAppUiAdapter::UiActivated() + { + // Default empty implementation + } + +// ----------------------------------------------------------------------------- +// CXnAppUiAdapter::ProcessMessageL +// +// ----------------------------------------------------------------------------- +// +EXPORT_C void CXnAppUiAdapter::ProcessMessageL( TUid aUid, + const TDesC8& /*aParams*/ ) + { + if ( aUid.iUid == KUidApaMessageSwitchOpenFileValue ) + { + // activate default homescreen view. + // customcontrol is set so that window group order is not changed + SetCustomControl( 1 ); + TRAP_IGNORE( ActivateLocalViewL( + View().Id(), TUid::Null(), KActivateDefaultView() ) ); + SetCustomControl( 0 ); + } + } + +// ----------------------------------------------------------------------------- // CXnAppUiAdapter::ReloadUiL // // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnappuiadapterimpl.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapterimpl.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapterimpl.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -28,6 +29,7 @@ #include "xnviewmanager.h" #include "xnviewadapter.h" #include "xnuistatelistener.h" +#include "xnbackgroundmanager.h" #include "hscontentcontrolfactory.h" #include "xneditor.h" #include "xnwallpaperview.h" @@ -35,6 +37,8 @@ #include "xnappuiadapterimpl.h" +#include "debug.h" + // Constants _LIT( KResourceDrive, "z:" ); _LIT( KResourceFile, "xnuiengine.rsc" ); @@ -72,9 +76,15 @@ // void CXnAppUiAdapterImpl::ConstructL() { -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapterImpl::ConstructL() - start" ) ); -#endif //_XN_PERFORMANCE_TEST_ + __PRINTS( "*** CXnAppUiAdapterImpl::ConstructL" ); + __TIME_MARK( time ); + + const TInt KMaxUidLength( 10 ); + _LIT8( KUint, "%u" ); + TBuf8< KMaxUidLength > uid; + uid.Format( KUint, iApplicationUid.iUid ); + + HSPluginSettingsIf::CHomescreenSettings::InitializeL( uid ); TFileName resFile; resFile.Append( KResourceDrive ); @@ -99,17 +109,19 @@ iViewAdapter = CXnViewAdapter::NewL( iAdapter ); iViewManager->LoadUiL(); - + iCcProviderClient = CHsCcProviderClient::NewL( iViewManager->Editor() ); CXnWallpaperView* wallpaper = CXnWallpaperView::NewL( *iUiEngine ); - iAdapter.AddViewL( wallpaper ); - - iEffectManager = CXnEffectManager::NewL(); + CleanupStack::PushL( wallpaper ); -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapterImpl::ConstructL() - end" ) ); -#endif //_XN_PERFORMANCE_TEST_ + // wallpaper view is owned by CAknViewAppUi + iAdapter.AddViewL( wallpaper ); + CleanupStack::Pop( wallpaper ); + + iEffectManager = CXnEffectManager::NewL(); + + __TIME_ENDMARK( "CXnAppUiAdapterImpl::ConstructL, done", time ); } // ----------------------------------------------------------------------------- @@ -119,17 +131,14 @@ // void CXnAppUiAdapterImpl::ReloadUiL() { -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapterImpl::ReloadUiL() - start" ) ); -#endif //_XN_PERFORMANCE_TEST_ + __PRINTS( "*** CXnAppUiAdapterImpl::ReloadUiL" ); + __TIME_MARK( time ); iViewAdapter->ReloadUiL(); iViewManager->ReloadUiL(); - -#ifdef _XN_PERFORMANCE_TEST_ - RDebug::Print( _L( "CXnAppUiAdapterImpl::ReloadUiL() - end" ) ); -#endif //_XN_PERFORMANCE_TEST_ + + __TIME_ENDMARK( "CXnAppUiAdapterImpl::ReloadUiL, done", time ); } // ----------------------------------------------------------------------------- @@ -139,13 +148,6 @@ // CXnAppUiAdapterImpl::~CXnAppUiAdapterImpl() { - delete iContentControlFactory; - - if ( iViewAdapter ) - { - iViewAdapter->PrepareDestroy(); - } - delete iUiEngine; delete iUiStateListener; @@ -155,8 +157,11 @@ delete iCcProviderClient; delete iEffectManager; + + CCoeEnv::Static()->DeleteResourceFile( iResourceOffset ) ; + HSPluginSettingsIf::CHomescreenSettings::UnInitialize(); - CCoeEnv::Static()->DeleteResourceFile( iResourceOffset ) ; + delete iContentControlFactory; } // ----------------------------------------------------------------------------- @@ -212,6 +217,16 @@ } // ----------------------------------------------------------------------------- +// CXnAppUiAdapterImpl::HsContentControlFactory +// Gets Content control factory +// ----------------------------------------------------------------------------- +// +CHsContentControlFactory* CXnAppUiAdapterImpl::HsContentControlFactory() + { + return iContentControlFactory; + } + +// ----------------------------------------------------------------------------- // CXnAppUiAdapterImpl::EffectManager // Get effect manager. // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -93,7 +93,9 @@ User::LeaveIfError( iDiskNotifier->NotifyDisk() ); // Reads from cenrep wheteher page specific wallpaper is enabled or not - CheckFeatureTypeL(); + CheckFeatureTypeL(); + + iTimer = CPeriodic::NewL( CActive::EPriorityIdle ); } // ----------------------------------------------------------------------------- @@ -117,6 +119,7 @@ // CXnBackgroundManager::~CXnBackgroundManager() { + delete iTimer; CleanCache(); iSkinSrv.Close(); delete iDiskNotifier; @@ -150,11 +153,11 @@ SystemGc().SetBrushColor( KRgbBlack ); SystemGc().Clear( aRect ); - SystemGc().BitBlt( point, wallpaper ); + SystemGc().DrawBitmap( TRect( point, bitmapSize), wallpaper ); } else { - SystemGc().BitBlt( TPoint( 0, 0 ), wallpaper ); + SystemGc().DrawBitmap( iRect, wallpaper ); } if( iViewManager.UiEngine().IsEditMode() ) @@ -178,11 +181,12 @@ SystemGc().SetBrushColor( KRgbBlack ); SystemGc().Clear( aRect ); - SystemGc().BitBlt( point, iBgImage ); + SystemGc().DrawBitmap( TRect( point, bitmapSize ), iBgImage ); + } else { - SystemGc().BitBlt( TPoint( 0, 0 ), iBgImage ); + SystemGc().DrawBitmap( iRect, iBgImage ); } if( iViewManager.UiEngine().IsEditMode() ) { @@ -363,11 +367,14 @@ aOldView.WallpaperImagePath().Compare( aNewView.WallpaperImagePath() ) ) { UpdateScreen(); - TInt err = AknsWallpaperUtils::SetIdleWallpaper( aNewView.WallpaperImagePath(), NULL ); - if( err == KErrNone ) + + // Since AknsWallpaperUtils::SetIdleWallpaper() call is slow, it is called + // asynchronously. In that way we can avoid it slowing down page switching. + if ( iTimer->IsActive() ) { - iIntUpdate++; + iTimer->Cancel(); } + iTimer->Start( 0, 1000, TCallBack( TimerCallback, this ) ); } } @@ -713,44 +720,42 @@ CXnViewData& viewData( iViewManager.ActiveViewData() ); const TDesC& old = viewData.WallpaperImagePath(); - if( aFileName.Compare( old ) ) + // Remove old from the cache + if( old != KNullDesC ) { - // Remove old from the cache - if( old != KNullDesC ) - { - RemoveWallpaperFromCache( old ); - } + RemoveWallpaperFromCache( old ); + } - // Add new to the cache - if( aFileName != KNullDesC ) + // Add new to the cache + if( aFileName != KNullDesC ) + { + if( CacheWallpaperL( aFileName, viewData ) == KErrNone ) { - if( CacheWallpaperL( aFileName, viewData ) == KErrNone ) - { - SaveWallpaperL(); // to HSPS - } - else - { - // image is corrupted or format is not supported - return KErrCACorruptContent; - } + SaveWallpaperL(); // to HSPS } - // WallpaperImage changed back to default. Update view data. else { - viewData.SetWallpaperImagePathL( KNullDesC ); - viewData.SetWallpaperImage( NULL ); - SaveWallpaperL(); // to HSPS - } - - // Update screen - UpdateScreen(); - - err = AknsWallpaperUtils::SetIdleWallpaper( aFileName, NULL ); - if( err == KErrNone ) - { - iIntUpdate++; + // image is corrupted or format is not supported + return KErrCACorruptContent; } } + // WallpaperImage changed back to default. Update view data. + else + { + viewData.SetWallpaperImagePathL( KNullDesC ); + viewData.SetWallpaperImage( NULL ); + SaveWallpaperL(); // to HSPS + } + + // Update screen + UpdateScreen(); + + err = AknsWallpaperUtils::SetIdleWallpaper( aFileName, NULL ); + if( err == KErrNone ) + { + iIntUpdate++; + } + return err; } @@ -904,4 +909,23 @@ iRect, shrunkRect, KAknsIIDQgnHomeEditBg, KAknsIIDDefault ); } +// ----------------------------------------------------------------------------- +// CXnBackgroundManager::TimerCallback +// ----------------------------------------------------------------------------- +// +TInt CXnBackgroundManager::TimerCallback(TAny *aPtr) + { + CXnBackgroundManager* bgManager = reinterpret_cast( aPtr ); + bgManager->iTimer->Cancel(); + + TInt err = AknsWallpaperUtils::SetIdleWallpaper( bgManager-> + iViewManager.ActiveViewData().WallpaperImagePath(), NULL ); + if( err == KErrNone ) + { + bgManager->iIntUpdate++; + } + return EFalse; + } + + // End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -249,17 +249,6 @@ } // ----------------------------------------------------------------------------- -// CXnBgControl::PrepareDestroy() -// Prepares control for destroying -// ----------------------------------------------------------------------------- -// -void CXnBgControl::PrepareDestroy() - { - static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) - ->UiStateListener().RemoveObserver( *this ); - } - -// ----------------------------------------------------------------------------- // CXnBgControl::RemoveGrabbingControL() // Removes recursively grabbing controls // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xncomposer.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -45,7 +45,6 @@ _LIT8( KViews, "views" ); _LIT8( KWidget, "widget" ); _LIT8( KUseEmptyWidget, "use_empty_widget" ); -_LIT8( KRemovable, "removable" ); _LIT8( KEmptyWidgetUid, "0x2001F47F" ); @@ -347,25 +346,6 @@ return EFalse; } -// -------------------------------------------------------------------------- -// Removable -// Determines whether this plugin is removable -// -------------------------------------------------------------------------- -// -static TBool Removable( CXnDomNode& aPlugin ) - { - CXnDomAttribute* attribute( - static_cast< CXnDomAttribute* >( - aPlugin.AttributeList().FindByName( KRemovable ) ) ); - - if ( attribute && attribute->Value() == XnPropertyNames::KFalse ) - { - return EFalse; - } - - return ETrue; - } - // ======== MEMBER FUNCTIONS ======== // -------------------------------------------------------------------------- // CXnComposer::NewL @@ -655,8 +635,12 @@ widget->SetOwner( node ); if ( count < plugins.Count() ) - { - widget->SetPluginIdL( plugins[ count ]->PluginId() ); + { + CPluginMap* plugin( plugins[count] ); + + widget->SetPluginIdL( plugin->PluginId() ); + + widget->SetLockingStatus( plugin->LockingStatus() ); } count++; @@ -767,9 +751,7 @@ } } } - - aPluginData.SetRemovable( Removable( *widgetRoot ) ); - + retval = KErrNone; } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -75,7 +75,6 @@ const TInt KLongTapStartLongDelay( 500000 ); // 0.5s const TInt KLongTapTimeShortDelay( 600000 ); // 0.6s for SK const TInt KLongTapTimeLongDelay( 1500000 ); // 1.5s -_LIT( KWidgetBg, "SKIN(268458534 9916)" ); // LOCAL FUNCTION PROTOTYPES static TRgb ConvertHslToRgb( TInt aHue, TInt aSaturation, TInt aLightness ); @@ -4037,7 +4036,6 @@ { // Remove pressed down node->UnsetStateL( XnPropertyNames::style::common::KPressedDown ); - node->HideTooltipsL(); } } } @@ -4058,7 +4056,9 @@ if ( feedback ) { - feedback->InstantFeedback( ETouchFeedbackBasic ); + feedback->InstantFeedback( iAdapter, ETouchFeedbackBasic, + ETouchFeedbackVibra, + aPointerEvent ); } #endif node->SetStateL( XnPropertyNames::style::common::KActive ); @@ -4090,6 +4090,12 @@ DrawFocusAppearance( node, aGc ); } + // Draw plus sign for empty plugins in edit mode. + if( node.UiEngine()->EditMode()->EditState() ) + { + const_cast< CXnControlAdapterImpl* >( this )->DrawPlusSign( node, aGc ); + } + if ( iAnimation ) { TRect rect = iComponent->Node()->Rect(); @@ -4117,8 +4123,6 @@ CXnNode& aNode, CWindowGc& aGc ) { - // For widgets and plugins, drawing is handled differently in edit mode - const TDesC8& widgetType = aNode.DomNode()->Name(); if( aNode.UiEngine()->EditMode()->EditState() ) { DrawEditModeBgData( aNode, aGc ); @@ -4176,13 +4180,26 @@ { TRect rect = aNode.PaddingRect(); DrawBackgroundSkin( KAknsIIDQgnHomeEditBgWidget, aGc, rect ); - - CXnPluginData& data( aNode.UiEngine()->ViewManager()->ActiveViewData().Plugin( &aNode ) ); - if( !data.Occupied() ) // Empty widget + } + } + +// ----------------------------------------------------------------------------- +// CXnControlAdapterImpl::DrawPlusSign +// +// ----------------------------------------------------------------------------- +// +void CXnControlAdapterImpl::DrawPlusSign( CXnNode& aNode, CWindowGc& aGc ) + { + const TDesC8& widgetType = aNode.DomNode()->Name(); + if( widgetType == XnPropertyNames::KPlugin ) + { + CXnPluginData* data( aNode.UiEngine()->ViewManager()->ActiveViewData().Plugin( &aNode ) ); + if( data && !data->Occupied() ) // Empty widget { // Draw + -icon // Make rect as 50% of the widget's height. // It needs to be square in order to keep aspect ratio. + TRect rect = aNode.PaddingRect(); TInt w = rect.Width(); TInt h = rect.Height(); rect.Shrink( ( w - h * 0.5 ) * 0.5, h * 0.25 ); @@ -4287,21 +4304,12 @@ aRect = aNode.PaddingRect(); } - //CXnProperty* colorProperty( aNode.BackgroundColorL() ); CXnProperty* colorProperty( aBgColor ); if ( colorProperty ) { HBufC* skinID = colorProperty->StringValueL(); CleanupStack::PushL( skinID ); - // Widget background should not be drawn in edit mode - if( aNode.UiEngine()->EditMode()->EditState() && - skinID->Des() == KWidgetBg ) - { - CleanupStack::PopAndDestroy( skinID ); - return; - } - if ( skinID->Length() != 0 ) { TAknsItemID itemID; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xneditmode.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,9 +18,7 @@ // System includes #include #include -#include #include -#include #ifdef RD_TACTILE_FEEDBACK #include @@ -42,6 +40,7 @@ #include "xneditor.h" #include "xntype.h" #include "xnmenu.h" +#include "xnbackgroundmanager.h" #include "xneditmode.h" @@ -358,14 +357,21 @@ Window().SetOrdinalPosition( 0 ); Window().SetPointerGrab( ETrue ); - Window().ClaimPointerGrab(); + Window().ClaimPointerGrab(); + + TRAP_IGNORE( appui.HandleEnterEditModeL( ETrue ) ); } else { Window().SetPointerGrab( EFalse ); - bg.DrawableWindow()->SetPointerGrab( ETrue ); + bg.DrawableWindow()->SetPointerGrab( ETrue ); + + TRAP_IGNORE( appui.HandleEnterEditModeL( EFalse ) ); } + + // Update background + appui.ViewAdapter().BgManager().DrawNow(); } // ----------------------------------------------------------------------------- @@ -483,10 +489,10 @@ if ( node ) { - CXnPluginData& plugin( iUiEngine.ViewManager()-> + CXnPluginData* plugin( iUiEngine.ViewManager()-> ActiveViewData().Plugin( node ) ); - if ( plugin.Occupied() ) + if ( plugin && plugin->Occupied() ) { StartDragL( *node ); @@ -542,7 +548,10 @@ else if ( aPointerEvent.iType == TPointerEvent::EButton1Up ) { #ifdef RD_TACTILE_FEEDBACK - Feedback( ETouchFeedbackBasic ); + MTouchFeedback* feedback( MTouchFeedback::Instance() ); + feedback->InstantFeedback( this,ETouchFeedbackBasic, + ETouchFeedbackVibra, + aPointerEvent ); #endif // Cancel if ( !iTargetNode || !iDraggingNode || @@ -563,10 +572,10 @@ if ( node && !iDragged ) { - CXnPluginData& plugin( iUiEngine.ViewManager()-> + CXnPluginData* plugin( iUiEngine.ViewManager()-> ActiveViewData().Plugin( node ) ); - if ( plugin.Occupied() ) + if ( plugin && plugin->Occupied() ) { CXnNode* popup( iUiEngine.StylusPopupNode() ); @@ -637,10 +646,10 @@ if ( focused && ( aKeyEvent.iScanCode == EStdKeyDevice3 || aKeyEvent.iScanCode == EStdKeyEnter ) ) { - CXnPluginData& plugin( iUiEngine.ViewManager()-> + CXnPluginData* plugin( iUiEngine.ViewManager()-> ActiveViewData().Plugin( focused ) ); - if ( plugin.Occupied() ) + if ( plugin && plugin->Occupied() ) { // Open context menu CXnNode* menubar( iUiEngine.MenuBarNode() ); @@ -706,7 +715,7 @@ void CXnEditMode::StartDragL( CXnNode& aNode ) { CXnControlAdapter* control( aNode.Control() ); - + TRect rect( control->Rect() ); // Clear first with alpha @@ -725,11 +734,25 @@ CWindowGc* gc( control->CustomGc() ); control->SetCustomGc( iMapGc ); + + TBool focusStateChanged( EFalse ); + if( aNode.IsStateSet( XnPropertyNames::style::common::KFocus ) ) + { + aNode.UnsetStateL( XnPropertyNames::style::common::KFocus ); + focusStateChanged = ETrue; + } + control->DrawNow( rect ); - + control->SetCustomGc( gc ); - + + if( focusStateChanged ) + { + aNode.SetStateL( XnPropertyNames::style::common::KFocus ); + iUiEngine.RenderUIL( &aNode ); + } + if ( iWidget->SizeInPixels() != rect.Size() ) { iWidget->Resize( rect.Size() ); @@ -797,10 +820,7 @@ if ( aState == CXnEditMode::EDragAndDrop ) { iState = aState; - - iUiEngine.AppUiAdapter().HandleEnterEditModeL( ETrue ); - SetStatusPaneTitleL( ETrue ); - + MakeVisible( ETrue ); } @@ -811,11 +831,7 @@ iTargetNode = NULL; iState = aState; - - SetStatusPaneTitleL( EFalse ); - - iUiEngine.AppUiAdapter().HandleEnterEditModeL( EFalse ); - + MakeVisible( EFalse ); } } @@ -831,35 +847,6 @@ } // ----------------------------------------------------------------------------- -// CXnEditMode::SetStatusPaneTitleL( TBool aEdit ) -// ----------------------------------------------------------------------------- -// -void CXnEditMode::SetStatusPaneTitleL( TBool aEdit ) - { - TUid titlePaneUid = TUid::Uid( EEikStatusPaneUidTitle ); - CEikStatusPaneBase::TPaneCapabilities subPaneTitle = - iUiEngine.AppUiAdapter().StatusPane()->PaneCapabilities( titlePaneUid ); - if ( subPaneTitle.IsPresent() && subPaneTitle.IsAppOwned() ) - { - CAknTitlePane* title = static_cast< CAknTitlePane* >( - iUiEngine.AppUiAdapter().StatusPane()->ControlL( titlePaneUid ) ); - if( aEdit ) - { - TResourceReader reader; - CEikonEnv::Static()->CreateResourceReaderLC( - reader, R_QTN_HS_TITLE_EDITMODE ); - title->SetFromResourceL( reader ); - CleanupStack::PopAndDestroy(); // reader internal state - } - else - { - title->SetTextL( KNullDesC ); - } - - } - } - -// ----------------------------------------------------------------------------- // CXnEditMode::StopDraggingL() // ----------------------------------------------------------------------------- // diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -68,13 +68,7 @@ _LIT8( KEventPluginUnInstalled, "PluginUninstalled" ); _LIT8( KEventRootConfActivated, "AppConfActivated" ); _LIT8( KEventPluginUpdated, "PluginUpdated" ); -_LIT8( KEventPluginActivated, "PluginActivated" ); _LIT8( KEventPluginInstalled, "PluginInstalled" ); -_LIT8( KEventPluginAdded, "PluginAdded" ); -_LIT8( KEventPluginRemoved, "PluginRemoved" ); -_LIT8( KEventPluginReplaced, "PluginReplaced" ); - -_LIT8( KAi3Uid, "0x102750f0" ); _LIT8( KEmptyWidgetUid, "0x2001F47F" ); _LIT8( KDownload, "Editor/DownloadCaption" ); @@ -219,11 +213,11 @@ if ( aPredicate ) { - CXnPluginData& plugin( viewData.Plugin( aPredicate ) ); + CXnPluginData* plugin( viewData.Plugin( aPredicate ) ); - if ( !plugin.Occupied() ) + if ( plugin && !plugin->Occupied() ) { - return &plugin; + return plugin; } } @@ -233,11 +227,11 @@ { CXnNode* node( nodes[i] ); - CXnPluginData& plugin( viewData.Plugin( node ) ); + CXnPluginData* plugin( viewData.Plugin( node ) ); - if ( !plugin.Occupied() ) + if ( plugin && !plugin->Occupied() ) { - return &plugin; + return plugin; } } @@ -594,7 +588,7 @@ // CXnEditor::ReplaceWidgetL // --------------------------------------------------------------------------- // -void CXnEditor::ReplaceWidgetL( CHsContentInfo& aContentInfo, TBool aUseHsps ) +void CXnEditor::ReplaceWidgetL( CHsContentInfo& aContentInfo ) { RPointerArray< CXnPluginData > plugins; CleanupClosePushL( plugins ); @@ -609,6 +603,15 @@ if( plugin->PluginId() == aContentInfo.PluginId() ) { + if ( aContentInfo.Type() == KNullDesC8 ) + { + aContentInfo.SetTypeL( plugin->Type() ); + } + + if ( aContentInfo.PublisherId() == KNullDesC ) + { + aContentInfo.SetPublisherIdL( plugin->PublisherName() ); + } match = plugin; break; } @@ -616,7 +619,7 @@ if( match ) { - iViewManager.ReplaceWidgetToPluginL( aContentInfo, *match, aUseHsps ); + iViewManager.ReplaceWidgetToPluginL( aContentInfo, *match ); } CleanupStack::PopAndDestroy( &plugins ); @@ -814,11 +817,11 @@ return; } - CXnPluginData& plugin( iViewManager.ActiveViewData().Plugin( aNode ) ); + CXnPluginData* plugin( iViewManager.ActiveViewData().Plugin( aNode ) ); - if( plugin.Removable() ) + if( plugin && plugin->Removable() ) { - TRAPD( err, err = iViewManager.UnloadWidgetFromPluginL( plugin ) ); + TRAPD( err, err = iViewManager.UnloadWidgetFromPluginL( *plugin ) ); if ( err != KErrNone ) { @@ -850,15 +853,17 @@ for ( TInt i = 0; i < aPluginArray->Count(); i++ ) { - CXnPluginData& plugin( viewData.Plugin( ( *aPluginArray )[i] ) ); - - const TDesC8& id( plugin.PluginId() ); - - if ( id != KNullDesC8 ) + CXnPluginData* plugin( viewData.Plugin( ( *aPluginArray )[i] ) ); + if ( plugin ) { - ids->AppendL( id ); - } - } + const TDesC8& id( plugin->PluginId() ); + + if ( id != KNullDesC8 ) + { + ids->AppendL( id ); + } + } + } iHspsWrapper->MovePluginsL( configurationId, *ids ); @@ -878,19 +883,18 @@ RPointerArray< CPublisherInfo >& publisherInfo( iPublisherMap->PublisherInfo() ); - - const TDesC& widgetName( aContentInfo.Name() ); + const TDesC& publisherId( aContentInfo.PublisherId() ); CPublisherInfo* info = NULL; for ( TInt i = 0; i < publisherInfo.Count(); i++ ) { - info = publisherInfo[i]; + CPublisherInfo* temp = publisherInfo[i]; - if ( info->WidgetName() == widgetName && - info->PublisherId() == publisherId ) + if ( temp->PublisherId() == publisherId ) { + info = temp; break; } } @@ -1425,6 +1429,7 @@ // void CXnEditor::NotifyViewDeactivatedL( const CXnViewData& /*aViewData*/) { + iTargetPlugin = NULL; } // --------------------------------------------------------------------------- @@ -1472,30 +1477,11 @@ const TDesC8& aEvent, const TDesC8& /*aAppConfUid*/, const TDesC8& aPluginName, - const TDesC8& aOrigUid, + const TDesC8& /*aOrigUid*/, const TDesC8& aPluginUid, const TDesC8& aPluginId ) { - // Someone else has modified the configuration. Handle UI side here. - if( aEvent == KEventPluginAdded || - aEvent == KEventPluginRemoved || - aEvent == KEventPluginReplaced ) - { - if( aOrigUid != KNullDesC8 && - aOrigUid != KAi3Uid ) - { - CHsContentInfo* info = CHsContentInfo::NewLC(); - - info->SetNameL( aPluginName ); - info->SetUidL( aPluginUid ); - info->SetPluginIdL( aPluginId ); - - ReplaceWidgetL( *info, EFalse ); - - CleanupStack::PopAndDestroy( info ); - } - } - else if ( aEvent == KEventPluginUnInstalled ) + if ( aEvent == KEventPluginUnInstalled ) { CHsContentInfo* info = CHsContentInfo::NewLC(); @@ -1529,9 +1515,6 @@ CleanupStack::PopAndDestroy( info ); } WidgetListChanged(); - } - else if ( aEvent == KEventPluginActivated ) - { } return KErrNone; @@ -1607,7 +1590,7 @@ // get installed widgets from HSPS TemplatedWidgetsL( array ); - FilterWidgetListL( aArray, EFalse ); + FilterWidgetListL( aArray, ETrue ); return KErrNone; } @@ -1616,6 +1599,65 @@ // from MHsContentController // ----------------------------------------------------------------------------- // +TInt CXnEditor::WidgetListL( CHsContentInfo& aInfo, CHsContentInfoArray& aArray ) + { + TInt err( KErrNone ); + RPointerArray< CXnPluginData > widgets; + CleanupClosePushL( widgets ); + + if ( aInfo.Type() == KApplication ) + { + if ( aInfo.Uid().CompareF( iViewManager.ActiveAppData().PluginUid() ) == 0 ) + { + // Get widgets included in active application configuration + err = iViewManager.PluginDataL( KNullDesC8(), widgets ); + } + else + { + // Invalid application configuration + err = KErrArgument; + } + } + else if ( aInfo.Type() == KView ) + { + // Get widgets included in a view + err = iViewManager.PluginDataL( aInfo.PluginId(), widgets ); + } + else + { + err = KErrArgument; + } + + if ( !err ) + { + // Get installed widget content infos + RPointerArray< CHsContentInfo > array; + CleanupClosePushL( array ); + HSPSPluginsL( array, KKeyWidget ); + TemplatedWidgetsL( array ); + + // Create content info for each found widget + for ( TInt i = 0; i < widgets.Count(); i++ ) + { + CHsContentInfo* info = CreateContentInfoLC( *widgets[i], array ); + if ( info ) + { + aArray.Array().AppendL( info ); + CleanupStack::Pop( info ); + } + } + CleanupStack::PopAndDestroy(); // array + } + + CleanupStack::PopAndDestroy(); // widgets + + return err; + } + +// ----------------------------------------------------------------------------- +// from MHsContentController +// ----------------------------------------------------------------------------- +// TInt CXnEditor::ViewListL( CHsContentInfoArray& aArray ) { RPointerArray< CHsContentInfo >& array( aArray.Array() ); @@ -1658,18 +1700,16 @@ return KErrArgument; } - if ( !aInfo.CanBeAdded() ) + // the widget can not be added. Return proper error code + if ( IsCurrentViewFull() ) { - // the widget can not be added. Return proper error code - if ( IsCurrentViewFull() ) - { - return KHsErrorViewFull; - } - else - { - return KHsErrorMaxInstanceCountExceeded; - } + return KHsErrorViewFull; } + else if ( !aInfo.CanBeAdded() ) + { + return KHsErrorMaxInstanceCountExceeded; + } + CXnPluginData* plugin( NULL ); @@ -1829,6 +1869,7 @@ CleanupStack::PushL( view ); aInfo.SetNameL( view->PluginInfo().Name() ); + aInfo.SetPluginIdL( plugin->PluginId() ); aInfo.SetUidL( view->PluginInfo().Uid() ); aInfo.SetTypeL( view->PluginInfo().Type() ); aInfo.SetDescriptionL( view->PluginInfo().Description() ); @@ -1873,4 +1914,30 @@ return err; } +// ----------------------------------------------------------------------------- +// CXnEditor::CreateContentInfoLC +// ----------------------------------------------------------------------------- +// +CHsContentInfo* CXnEditor::CreateContentInfoLC( CXnPluginData& aPlugin, + RPointerArray< CHsContentInfo >& aInfos ) + { + CHsContentInfo* contentInfo( NULL ); + if ( aPlugin.Occupied() ) + { + for ( TInt i = 0; i < aInfos.Count() && !contentInfo; i++ ) + { + CHsContentInfo* info = aInfos[i]; + if ( aPlugin.PluginUid().CompareF( info->Uid() ) == 0 && + ( ( aPlugin.PublisherName().Length() == 0 ) || + ( aPlugin.PublisherName().CompareF( info->PublisherId() ) == 0 ) ) ) + { + contentInfo = info->CloneL(); + CleanupStack::PushL( contentInfo ); + contentInfo->SetPluginIdL( aPlugin.PluginId() ); + } + } + } + return contentInfo; + } + // End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xneffectmanager.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xneffectmanager.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xneffectmanager.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -31,9 +31,6 @@ #include // For transition effects // CONSTANTS -const TInt KEffectTypeFullscreen = 1; -const TInt KEffectTypeControl = 2; - const TInt KWaitForLayout = 1; const TInt KEffectStarted = 2; @@ -79,53 +76,13 @@ } // ----------------------------------------------------------------------------- -// CXnEffectManager::BeginControlEffectL -// ----------------------------------------------------------------------------- -// -void CXnEffectManager::BeginControlEffectL( TInt /*aId*/, CXnPluginData& /*aPlugin*/ ) - { - /* - TXnEffect* effect = new (ELeave) TXnEffect; - CleanupStack::PushL( effect ); - effect->iId = aId; - effect->iType = KEffectTypeControl; - effect->iNode = aPlugin.Node()->LayoutNode(); - iEffects.AppendL( effect ); - CleanupStack::Pop( effect ); - - if ( effect->iNode && !effect->iNode->IsLaidOut() ) - { - effect->iState = KWaitForLayout; - } - else - { - DoBeginControlEffect( *effect ); - } - */ - } - -// ----------------------------------------------------------------------------- -// CXnEffectManager::BeginControlEffectL -// ----------------------------------------------------------------------------- -// -void CXnEffectManager::BeginControlEffectL( TInt aId, - RPointerArray& aPlugins ) - { - TInt count = aPlugins.Count(); - for ( TInt i = 0; i < count; i++ ) - { - BeginControlEffectL( aId, *aPlugins[i] ); - } - } - -// ----------------------------------------------------------------------------- // CXnEffectManager::BeginFullscreenEffectL // ----------------------------------------------------------------------------- // void CXnEffectManager::BeginFullscreenEffectL( TInt aId, CXnViewData& aView ) { // Only one fullscreen effect at time - if ( EffectCount( KEffectTypeFullscreen ) != 0 ) + if ( iEffects.Count() != 0 ) { return; } @@ -133,7 +90,6 @@ TXnEffect* effect = new (ELeave) TXnEffect; CleanupStack::PushL( effect ); effect->iId = aId; - effect->iType = KEffectTypeFullscreen; effect->iNode = aView.ViewNode(); iEffects.AppendL( effect ); CleanupStack::Pop( effect ); @@ -157,16 +113,10 @@ for ( TInt i = 0; i < iEffects.Count(); ) { TXnEffect* effect = iEffects[i]; - if ( effect && effect->iState == KEffectStarted ) + if ( effect && + effect->iState == KEffectStarted ) { - if ( effect->iType == KEffectTypeFullscreen ) - { - GfxTransEffect::EndFullScreen(); - } - else if ( effect->iType == KEffectTypeControl ) - { - GfxTransEffect::End( effect->iNode->Control() ); - } + GfxTransEffect::EndFullScreen(); RemoveEffect( effect ); } else @@ -188,16 +138,9 @@ TXnEffect* effect = iEffects[i]; if ( effect && effect->iNode && effect->iState == KWaitForLayout && - effect->iNode->IsLaidOut()) + effect->iNode->IsLaidOut() ) { - if ( effect->iType == KEffectTypeFullscreen ) - { - effectStarted = DoBeginFullscreenEffect( *effect ); - } - else if ( effect->iType == KEffectTypeControl ) - { - effectStarted = DoBeginControlEffect( *effect ); - } + effectStarted = DoBeginFullscreenEffect( *effect ); } if ( effectStarted ) @@ -240,33 +183,6 @@ } // ----------------------------------------------------------------------------- -// CXnEffectManager::DoBeginControlEffect -// ----------------------------------------------------------------------------- -// -TBool CXnEffectManager::DoBeginControlEffect( TXnEffect& aEffect ) - { - TBool ret = EFalse; - CCoeEnv* coe( CCoeEnv::Static() ); - - if ( coe->WsSession().GetFocusWindowGroup() != - coe->RootWin().Identifier() ) - { - // Window group is not focused - return ret; - } - - // Set effect begin point - if ( aEffect.iNode ) - { - GfxTransEffect::Begin( aEffect.iNode->Control() , aEffect.iId ); - aEffect.iState = KEffectStarted; - ret = ETrue; - } - - return ret; - } - -// ----------------------------------------------------------------------------- // CXnEffectManager::RemoveEffect // ----------------------------------------------------------------------------- // @@ -281,22 +197,4 @@ } } -// ----------------------------------------------------------------------------- -// CXnEffectManager::EffectCount -// ----------------------------------------------------------------------------- -// -TInt CXnEffectManager::EffectCount( TInt aType ) - { - TInt effectCount = 0; - TInt count = iEffects.Count(); - for ( TInt i = 0; i < count; i++ ) - { - if ( iEffects[i]->iType == aType ) - { - effectCount++; - } - } - return effectCount; - } - // End of File diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnfocuscontrol.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnfocuscontrol.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnfocuscontrol.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -68,7 +68,6 @@ // CXnFocusControl::~CXnFocusControl() { - delete iMonitor; } // ----------------------------------------------------------------------------- @@ -88,17 +87,6 @@ // void CXnFocusControl::ConstructL() { - iMonitor = CXnInactivityMonitor::NewL( *this ); - } - -// ----------------------------------------------------------------------------- -// CXnFocusControl::InactivityTimerExpired() -// -// ----------------------------------------------------------------------------- -// -void CXnFocusControl::InactivityTimerExpired() - { - MakeVisible( EFalse ); } // ----------------------------------------------------------------------------- @@ -126,8 +114,6 @@ iRefused = EFalse; - iMonitor->Stop(); - CXnNode* node( iAppUiAdapter.UiEngine().FocusedNode() ); if ( node ) @@ -156,8 +142,6 @@ iRefused = EFalse; iVisible = aVisible; - - iMonitor->Start(); } } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnkeyeventdispatcher.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnkeyeventdispatcher.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnkeyeventdispatcher.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -195,7 +195,7 @@ { CEikCba* cba = static_cast< CEikCba* >( iCbaContainer->ButtonGroup() ); - + if ( destination == cba && iCbaContainer->IsVisible() ) { CXnMenuAdapter* adapter( MenuAdapter( iMenuNode ) ); @@ -205,6 +205,18 @@ TRAP_IGNORE( adapter->HandlePointerEventL( *aEvent.Pointer() ) ); } + + // if focus was lost due to longtap & button not being released + // appui will set flag to ignorekeyevent for this control as it has + // lost focus ( voice command become active ) after longtap detected. + // this causes cba button to stay in pressed state. send this buttonup + // event manually so that cba can draw itself correctly + // case id: ou1cimx1#265200 + if ( event.iType == TPointerEvent::EButton1Up && + !cba->IsFocused() ) + { + TRAP_IGNORE( cba->HandlePointerEventL( event ) ); + } } } } @@ -480,7 +492,10 @@ } else { - iCbaContainer->MakeVisible( ETrue ); + if ( !iCbaContainer->IsVisible() ) + { + iCbaContainer->MakeVisible( ETrue ); + } } } else @@ -616,10 +631,10 @@ CXnViewData& activeViewData( iUiEngine.ViewManager()->ActiveViewData() ); - const CXnPluginData& pluginData( + const CXnPluginData* pluginData( activeViewData.Plugin( iNode ) ); - if ( &pluginData == &aPluginData ) + if ( pluginData == &aPluginData ) { // The plugin is removed which was holding focus ClearStateL(); @@ -661,10 +676,10 @@ // first, search only in plugins which have popup window open for ( TInt i = 0; i < list.Count(); i++ ) { - CXnPluginData& plugin( activeView.Plugin( list[i] ) ); - if ( plugin.IsDisplayingPopup() ) + CXnPluginData* plugin( activeView.Plugin( list[i] ) ); + if ( plugin && plugin->IsDisplayingPopup() ) { - plugin.InitialFocusNodesL( initial ); + plugin->InitialFocusNodesL( initial ); } } @@ -674,8 +689,11 @@ { for ( TInt i = 0; i < list.Count(); i++ ) { - CXnPluginData& plugin( activeView.Plugin( list[i] ) ); - plugin.InitialFocusNodesL( initial ); + CXnPluginData* plugin( activeView.Plugin( list[i] ) ); + if ( plugin ) + { + plugin->InitialFocusNodesL( initial ); + } } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnlistquerydialogadapter.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnlistquerydialogadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnlistquerydialogadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -35,7 +35,9 @@ #include "xndomlist.h" #include "xndomattribute.h" + // ======== LOCAL FUNCTIONS ======== + // --------------------------------------------------------------------------- // Finds recursively node by type // @return returns pointer to desired node, NULL if nothing found @@ -225,9 +227,17 @@ // ----------------------------------------------------------------------------- // void CXnListQueryDialogAdapter::ReplaceItemL(const TDesC& aText, TInt aIndex ) - { + { + if ( iDialog ) + { + iDialog->DismissQueryL(); + } + + iDialog = NULL; + aIndex += iStaticItems.Count(); TInt count( iItemArray->Count()); + if( aIndex >= count ) { iItemArray->AppendL( aText ); @@ -236,7 +246,7 @@ { iItemArray->Delete( aIndex ); iItemArray->InsertL( aIndex, aText ); - } + } } // ----------------------------------------------------------------------------- @@ -244,13 +254,22 @@ // ----------------------------------------------------------------------------- // void CXnListQueryDialogAdapter::InsertItemL(const TDesC& aText, TInt aIndex ) - { + { + if ( iDialog ) + { + iDialog->DismissQueryL(); + } + + iDialog = NULL; + aIndex += iStaticItems.Count(); TInt count( iItemArray->Count()); + if( count < aIndex ) { aIndex = count; } + iItemArray->InsertL( aIndex, aText ); } @@ -260,11 +279,19 @@ // void CXnListQueryDialogAdapter::DeleteItem( TInt aIndex ) { + if ( iDialog ) + { + TRAP_IGNORE( iDialog->DismissQueryL() ); + } + + iDialog = NULL; + aIndex += iStaticItems.Count(); + if( aIndex < iItemArray->Count()) { iItemArray->Delete( aIndex ); - } + } } // ----------------------------------------------------------------------------- @@ -273,16 +300,23 @@ // void CXnListQueryDialogAdapter::TryDisplayingDialogL( ) { + if ( iDialog ) + { + iDialog->DismissQueryL(); + } + + iDialog = NULL; + CXnAppUiAdapter& appui( static_cast< CXnAppUiAdapter& >( *iAvkonAppUi ) ); appui.HideFocus(); TInt selectedIndex( 0 ); - CAknListQueryDialog* query = - new ( ELeave ) CAknListQueryDialog( &selectedIndex ); - - query->PrepareLC( R_XML_LISTQUERY ); + CAknListQueryDialog* dialog = + new ( ELeave ) CAknListQueryDialog( &selectedIndex ); + dialog->PrepareLC( R_XML_LISTQUERY ); + /* Not tested CAknPopupHeadingPane* heading( query->QueryHeading() ); if ( heading ) @@ -303,13 +337,17 @@ } } */ - query->SetItemTextArray( iItemArray ); - query->SetOwnershipType( ELbmDoesNotOwnItemArray ); - - if ( query->RunLD() ) + dialog->SetItemTextArray( iItemArray ); + dialog->SetOwnershipType( ELbmDoesNotOwnItemArray ); + + iDialog = dialog; + + if ( dialog->RunLD() ) { ActivateItemL( selectedIndex ); - } + } + + iDialog = NULL; } // ----------------------------------------------------------------------------- @@ -346,6 +384,11 @@ CXnDomAttribute* attribute = static_cast (eventNode->AttributeList().FindByName( XnPropertyNames::action::event::KName )); + if ( !attribute ) + { + return; + } + HBufC8* nameStr( attribute->Value().AllocLC()); TPtr8 namePtr = nameStr->Des(); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnnode.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnnode.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnnode.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -822,41 +822,6 @@ return iImpl->NavIndexL(); } -CXnProperty* CXnNode::VisibleRowsL() - { - return iImpl->VisibleRowsL(); - } - -CXnProperty* CXnNode::GridColumnsL() - { - return iImpl->GridColumnsL(); - } - -CXnProperty* CXnNode::GridOrientationL() - { - return iImpl->GridOrientationL(); - } - -CXnProperty* CXnNode::GridVerDirectionL() - { - return iImpl->GridVerDirectionL(); - } - -CXnProperty* CXnNode::GridHorDirectionL() - { - return iImpl->GridHorDirectionL(); - } - -CXnProperty* CXnNode::FocusHorLoopingL() - { - return iImpl->FocusHorLoopingL(); - } - -CXnProperty* CXnNode::FocusVerLoopingL() - { - return iImpl->FocusVerLoopingL(); - } - CXnProperty* CXnNode::ZIndexL() { return iImpl->ZIndexL(); @@ -877,21 +842,6 @@ return iImpl->FocusBackgroundL(); } -CXnProperty* CXnNode::RefL() - { - return iImpl->RefL(); - } - -CXnProperty* CXnNode::GridScrollBarMarginL() - { - return iImpl->GridScrollBarMarginL(); - } - -CXnProperty* CXnNode::GridScrollBarWidthL() - { - return iImpl->GridScrollBarWidthL(); - } - // ----------------------------------------------------------------------------- // CXnNode::SetDomNode // Sets the DOM node pointer @@ -966,51 +916,6 @@ } // ----------------------------------------------------------------------------- -// CXnNode::RestartTimedTrigger -// Restarts the timed trigger. -// ----------------------------------------------------------------------------- -// -void CXnNode::RestartTimedTrigger( TInt aDelay ) - { - CPeriodic* timer = iImpl->PeriodicTimer(); - if ( timer ) - { - if ( timer->IsActive() ) - { - timer->Cancel(); - if ( aDelay > 0 ) - { - timer->After( aDelay ); - } - else - { - iImpl->DeletePeriodic(); - } - } - } - } - -// ----------------------------------------------------------------------------- -// CXnNode::SetTriggerDelay -// Sets default trigger delay -// ----------------------------------------------------------------------------- -// -void CXnNode::SetTriggerDelay( TTimeIntervalMicroSeconds32 aDelay ) - { - iTriggerDelay = aDelay; - } - -// ----------------------------------------------------------------------------- -// CXnNode::TriggerDelay -// Returns default trigger delay -// ----------------------------------------------------------------------------- -// -TTimeIntervalMicroSeconds32 CXnNode::TriggerDelay() - { - return iTriggerDelay; - } - -// ----------------------------------------------------------------------------- // CXnNode::SetDirtyL // Marks the node dirty // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -54,7 +54,6 @@ #include "xntexteditor.h" // Local constants -_LIT8( KRef, "ref" ); _LIT8( KId, "id" ); _LIT8( KName, "name" ); _LIT8( KToolTip, "tooltip" ); @@ -63,10 +62,6 @@ _LIT8( KActionsHandler, "actionshandler" ); -const TReal KS60ScrollbarDefaultWidth = 1.5; -const TReal KS60ScrollbarDefaultMargin = 0.25; -const TReal KS60ScrollbarDefaultWidthPenEnabled = 3; -const TReal KS60ScrollbarDefaultMarginPenEnabled = 0.5; const TInt KUnitMaxLen = 2; const TInt KOneView = 1; @@ -88,30 +83,6 @@ _LIT8( KGainEnd, "gainend" ); _LIT8( KLoseEnd, "loseend" ); -// Local classes -struct TXnTimedTrigger - { - CXnNodeImpl* iNodeImpl; - CXnUiEngine* iEngine; - CXnNode* iNode; - CXnNode* iEventData; - CXnDomNode* iActionNode; - CXnDomNode* iTriggerNode; - }; - -struct CGridPropertyCache : public CBase - { - CXnProperty* iVisibleRows; - CXnProperty* iGridColumns; - CXnProperty* iGridOrientation; - CXnProperty* iGridVerDirection; - CXnProperty* iGridHorDirection; - CXnProperty* iFocusHorLooping; - CXnProperty* iFocusVerLooping; - CXnProperty* iGridScrollBarWidth; - CXnProperty* iGridScrollBarMargin; - }; - struct CLayoutPropertyCache : public CBase { CLayoutPropertyCache() : @@ -282,9 +253,6 @@ // Local function prototypes static TBool IsTriggerRunnableL( CXnDomNode& aTriggerNode ); -static CXnNode* RefNodeL( - CXnNodeImpl* aThis, CXnProperty* aRef, CXnUiEngine* aUiEngine ); -static const TDesC8* CheckRefAttributeL( CXnProperty* aRef ); static TBool DoMatchTriggerForKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType, @@ -294,7 +262,6 @@ RPointerArray< CXnNode >& aFocusCandidates ); static void RunAppUiNotificationL( CXnUiEngine& aEngine, CXnNode& aNode, CXnDomNode& aEventNode, CXnDomNode& aTriggerNode, CXnNode& aEventData ); -static void RunAppExit( CXnUiEngine& aEngine ); static void RunFullScreenEffectL( CXnUiEngine& aEngine, CXnDomNode& aEventNode ); static void RunActivateViewL( @@ -338,8 +305,6 @@ static void RunTryDisplayingListQueryDialogL( CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode ); static void RunSetInitialFocusL( CXnUiEngine& aEngine ); -static void ResolveTriggerDelayL( - CXnUiEngine& aEngine, CXnDomNode& aNode, TInt& aDelay ); static TBool RunEventL( CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnNode& aNode, CXnDomNode& aEventNode, CXnDomNode& aTriggerNode, CXnNode& aEventData ); @@ -1380,7 +1345,6 @@ static void SetCachedProperty( CXnProperty* aProperty, CLayoutPropertyCache*& aLayoutPropertyCache, - CXnProperty*& aRef, CXnProperty*& aName, CXnProperty*& aValue, CXnProperty*& aLabel, @@ -1389,7 +1353,6 @@ CXnProperty*& aId, CXnProperty*& aPath, CXnProperty*& aMaskPath, - CGridPropertyCache*& aGridPropertyCache, TBool aInitializing, TBool aArrayOnly) { @@ -1482,10 +1445,6 @@ { aMaskPath = aProperty; } - else if ( name == KRef ) - { - aRef = aProperty; - } else if ( name == XnPropertyNames::style::common::KMarginLeft ) { DoSetCachedProperty( @@ -1750,105 +1709,6 @@ aLayoutPropertyCache->iNavIndexes, aInitializing, aArrayOnly ); } - else if ( name == XnPropertyNames::grid::KS60VisibleRows ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iVisibleRows = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridColumns ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridColumns = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridOrientation ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridOrientation = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridVerDirection ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridVerDirection = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridHorDirection ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridHorDirection = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60FocusHorLooping ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iFocusHorLooping = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60FocusVerLooping ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iFocusVerLooping = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridScrollbarWidth ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridScrollBarWidth = aProperty; - } - } - else if ( name == XnPropertyNames::grid::KS60GridScrollbarMargin ) - { - if ( !aGridPropertyCache ) - { - aGridPropertyCache = new CGridPropertyCache; - } - if ( aGridPropertyCache ) - { - aGridPropertyCache->iGridScrollBarMargin = aProperty; - } - } } // ----------------------------------------------------------------------------- @@ -2315,20 +2175,6 @@ } // ----------------------------------------------------------------------------- -// CheckRefAttributeL -// ----------------------------------------------------------------------------- -// -static const TDesC8* CheckRefAttributeL( CXnProperty* aRef ) - { - if ( !aRef ) - { - return NULL; - } - - return &aRef->StringValue(); - } - -// ----------------------------------------------------------------------------- // DoMatchTriggerForKeyEventL // ----------------------------------------------------------------------------- // @@ -2471,187 +2317,6 @@ } // ----------------------------------------------------------------------------- -// MatchTimedTriggerPropertiesL -// ----------------------------------------------------------------------------- -// -static TBool MatchTimedTriggerPropertiesL( CXnDomNode& aTriggerNode ) - { - CXnDomList& children = aTriggerNode.ChildNodes(); - TInt count = children.Length(); - if ( count > 0 ) - { - for ( TInt i = 0; i < count; ++i ) - { - CXnDomNode* child = static_cast< CXnDomNode* >( children.Item( i ) ); - const TDesC8& name = child->AttributeValue( XnPropertyNames::action::KName ); - if ( name == XnPropertyNames::action::trigger::KDelay ) - { - return ETrue; - } - } - } - return EFalse; - } - -// ----------------------------------------------------------------------------- -// MatchStylusTriggerL -// ----------------------------------------------------------------------------- -// -static TBool MatchStylusTriggerL( - CXnNode& aMatchingTriggerNode, - CXnDomNode& aTreeTriggerNode ) - { - TInt ret( EFalse ); - - CXnDomList& treeChildren = aTreeTriggerNode.ChildNodes(); - TInt treeCount = treeChildren.Length(); - - RPointerArray< CXnNode >& matchingChildren = aMatchingTriggerNode.Children(); - TInt matchCount = matchingChildren.Count(); - - if ( treeCount == 0 ) - { - // If stylus-trigger does not have properties, trigger is run with stylus up. - for ( TInt i = 0; i < matchCount; ++i ) - { - CXnNode* node = matchingChildren[i]; - CXnProperty* nameProperty = node->NameL(); - if ( nameProperty ) - { - const TDesC8& name = nameProperty->StringValue(); - if ( name == - XnPropertyNames::action::trigger::name::stylus::KStylusEventType ) - { - CXnProperty* valueProperty = node->ValueL(); - if ( valueProperty ) - { - const TDesC8& name = valueProperty->StringValue(); - if ( name == XnPropertyNames::action::trigger::name::KDownAndUp ) - { - return ETrue; - } - } - } - } - } - return EFalse; - } - - // Fetch trigger data defined in the theme - TInt treeTriggerState( 1 ); - HBufC8* treeTriggerType( NULL ); - for ( TInt i = 0; i < treeCount; ++i ) - { - CXnDomNode* domNode = static_cast< CXnDomNode* >( treeChildren.Item( i ) ); - CXnDomList& attrs = domNode->AttributeList(); - CXnDomAttribute* nameAttribute = static_cast< CXnDomAttribute* >( - attrs.FindByName( XnPropertyNames::action::KName ) ); - CXnDomAttribute* valueAttribute = static_cast< CXnDomAttribute* >( - attrs.FindByName( XnPropertyNames::action::KValue ) ); - if ( !nameAttribute || !valueAttribute ) - { - continue; - } - if ( nameAttribute->Value() == - XnPropertyNames::action::trigger::name::stylus::KStylusState ) - { - TLex8 lex( valueAttribute->Value() ); - lex.Val( treeTriggerState ); - } - else if ( nameAttribute->Value() == - XnPropertyNames::action::trigger::name::stylus::KStylusEventType ) - { - // just in case - if ( treeTriggerType ) - { - CleanupStack::PopAndDestroy( treeTriggerType ); - treeTriggerType = NULL; - } - const TDesC8& value = valueAttribute->Value(); - treeTriggerType = HBufC8::NewL( value.Length() ); - TPtr8 ptr = treeTriggerType->Des(); - ptr = value; - CleanupStack::PushL( treeTriggerType ); - } - } - - // If not defined, use the default value 'up' - if ( !treeTriggerType ) - { - treeTriggerType = HBufC8::NewL( 10 ); - TPtr8 ptr = treeTriggerType->Des(); - ptr.Append( XnPropertyNames::action::trigger::name::KDownAndUp ); - CleanupStack::PushL( treeTriggerType ); - } - - // Fetch matching trigger data. - TInt matchTriggerState( 1 ); - HBufC8* matchTriggerType( NULL ); - for ( TInt i = 0; i < matchCount; ++i ) - { - CXnNode* matchNode = matchingChildren[i]; - CXnProperty* nameProperty = matchNode->NameL(); - CXnProperty* valueProperty = matchNode->ValueL(); - if ( nameProperty && valueProperty ) - { - if ( nameProperty->StringValue() == - XnPropertyNames::action::trigger::name::stylus::KStylusState ) - { - TLex8 lex( valueProperty->StringValue() ); - lex.Val( matchTriggerState ); - } - else if ( nameProperty->StringValue() == - XnPropertyNames::action::trigger::name::stylus::KStylusEventType ) - { - // just in case - if ( matchTriggerType ) - { - CleanupStack::PopAndDestroy( matchTriggerType ); - matchTriggerType = NULL; - } - const TDesC8& value = valueProperty->StringValue(); - matchTriggerType = HBufC8::NewL( value.Length() ); - TPtr8 ptr = matchTriggerType->Des(); - ptr = value; - CleanupStack::PushL( matchTriggerType ); - } - } - } - - if ( treeTriggerState == matchTriggerState ) - { - // just in case - if ( !matchTriggerType ) - { - ret = EFalse; - } - else if ( treeTriggerType->Des() == matchTriggerType->Des() ) - { - ret = ETrue; - } - // still, if trigger type is 'KUp' it should match to 'KDownAndUp' event - else if ( treeTriggerType->Des() == - XnPropertyNames::action::trigger::name::KUp ) - { - if ( matchTriggerType->Des() == - XnPropertyNames::action::trigger::name::KDownAndUp ) - { - ret = ETrue; - } - } - } - if ( matchTriggerType ) - { - CleanupStack::PopAndDestroy( matchTriggerType ); - } - if ( treeTriggerType ) - { - CleanupStack::PopAndDestroy( treeTriggerType ); - } - return ret; - } - -// ----------------------------------------------------------------------------- // MatchActivateTriggerPropertiesL // Checks if triggered node properties match // ones defined in theme @@ -2749,7 +2414,7 @@ CXnDomList& attributeList( aTriggerNode.AttributeList() ); const TDesC8& reason( - XnPropertyNames::action::trigger::name::uidefinitionmodification::KReason ); + XnPropertyNames::action::trigger::name::orientation::KReason ); CXnDomAttribute* attribute( static_cast< CXnDomAttribute* > ( attributeList.FindByName( reason ) ) ); @@ -2763,9 +2428,9 @@ const TDesC8& value( attribute->Value() ); if ( value == - XnPropertyNames::action::trigger::name::uidefinitionmodification::reason::KLandscape || + XnPropertyNames::action::trigger::name::orientation::reason::KLandscape || value == - XnPropertyNames::action::trigger::name::uidefinitionmodification::reason::KPortrait ) + XnPropertyNames::action::trigger::name::orientation::reason::KPortrait ) { CXnProperty* reasonProp( aEventData.GetPropertyL( reason ) ); @@ -2914,7 +2579,7 @@ CXnNode& aEventData, CXnDomNode& aActionNode, CXnDomNode& aTriggerNode, - TInt aSource ) + TInt /*aSource*/ ) { const TDesC8& nameString( aTriggerNode.AttributeValue( KName ) ); @@ -2928,61 +2593,15 @@ if ( nameString == eventNameString ) { - if ( nameString == XnPropertyNames::action::trigger::name::KStylus ) - { - if ( !MatchStylusTriggerL( aEventData, aTriggerNode ) ) - { - return EFalse; - } - } // Check if triggernode properties match the ones defined in theme // This is for identifying keyup in activate-trigger - else if ( nameString == XnPropertyNames::action::trigger::name::KActivate ) + if ( nameString == XnPropertyNames::action::trigger::name::KActivate ) { if ( !MatchActivateTriggerPropertiesL( aEventData, aTriggerNode ) ) { return EFalse; } } - // Check if the trigger is timed trigger - else if ( MatchTimedTriggerPropertiesL( aTriggerNode ) ) - { - if ( !aThis->PeriodicTimer() ) - { - aThis->CreatePeriodicL(); - } - - if ( !aThis->PeriodicTimer()->IsActive() ) - { - TXnTimedTrigger* params = new ( ELeave ) TXnTimedTrigger; - CleanupStack::PushL( params ); - - params->iNodeImpl = aThis; - params->iEngine = &aEngine; - params->iNode = &aNode; - params->iEventData = &aEventData; - params->iActionNode = &aActionNode; - params->iTriggerNode = &aTriggerNode; - - TInt delay( 0 ); - - ResolveTriggerDelayL( aEngine, aTriggerNode, delay ); - aNode.SetTriggerDelay( delay ); - - CleanupStack::Pop( params ); - - aThis->PeriodicTimer()->Start( - TTimeIntervalMicroSeconds32( delay ), - TTimeIntervalMicroSeconds32( delay ), - TCallBack( CXnNodeImpl::PeriodicEventL, params ) ); - - return ETrue; - } - else - { - return EFalse; - } - } else if ( nameString == XnPropertyNames::action::trigger::name::KTitleToScroll || nameString == XnPropertyNames::action::trigger::name::KTitleScrolled ) { @@ -3015,27 +2634,6 @@ return EFalse; } } - else if ( aSource != XnEventSource::EUnknown ) - { - CXnDomAttribute* attr = static_cast< CXnDomAttribute* > - ( aTriggerNode.AttributeList().FindByName( - XnPropertyNames::common::KEventFilter ) ); - if ( attr ) - { - if ( attr->Value().Find(XnPropertyNames::action::trigger::name::KStylus) - != KErrNotFound && - aSource == XnEventSource::EStylus ) - { - return EFalse; - } - else if ( attr->Value().Find(XnPropertyNames::action::trigger::name::KKeyEvent) - != KErrNotFound && - aSource == XnEventSource::EKey ) - { - return EFalse; - } - } - } RunEventsL( aThis, aEngine, aNode, aActionNode, aTriggerNode, aEventData ); @@ -3159,17 +2757,6 @@ } // ----------------------------------------------------------------------------- -// RunAppExit -// ----------------------------------------------------------------------------- -// -static void RunAppExit( CXnUiEngine& aEngine ) - { - CXnAppUiAdapter& adapter( aEngine.AppUiAdapter() ); - - adapter.Exit(); - } - -// ----------------------------------------------------------------------------- // RunFullScreenEffectL // ----------------------------------------------------------------------------- // @@ -3353,9 +2940,7 @@ CXnNodeImpl* aThis, CXnUiEngine& aEngine, CXnDomNode& aEventNode ) - { - TBool keyEditMode(EFalse); - + { aEngine.DisableRenderUiLC(); // Set plugins to edit state @@ -3420,68 +3005,28 @@ CleanupStack::PopAndDestroy( array ); } - else if ( name == XnPropertyNames::common::KKeyMoveMode ) - { - if ( value == XnPropertyNames::KTrue ) - { - keyEditMode = ETrue; - } - } - } - } - } - if ( keyEditMode ) - { - for ( TInt i = 0; i < plugins.Count(); i++ ) - { - if ( plugins[i]->Occupied() ) - { - CXnNode* node( plugins[i]->Owner()->LayoutNode() ); - - node->SetStateL( XnPropertyNames::style::common::KEdit ); - } - } - - aEngine.EditMode()->SetEditModeL( CXnEditMode::EKeyMove ); - - // Put focus to parent plugin if focused node is not a plugin already - CXnNode* focusedNode = aEngine.FocusedNode(); + } + } + } + TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() ); + + for ( TInt i = 0; i < plugins.Count(); i++ ) + { + CXnNode* node( plugins[i]->Owner()->LayoutNode() ); - if ( focusedNode && focusedNode->DomNode()->Name() != _L8( "plugin" ) ) - { - for ( CXnNode* candidate = - focusedNode; candidate; candidate = candidate->Parent() ) - { - if ( candidate->DomNode()->Name() == _L8( "plugin" ) ) - { - candidate->SetStateL( XnPropertyNames::style::common::KFocus ); - break; - } - } - } - } - else - { - TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() ); - - for ( TInt i = 0; i < plugins.Count(); i++ ) - { - CXnNode* node( plugins[i]->Owner()->LayoutNode() ); - - node->SetStateL( XnPropertyNames::style::common::KEdit ); - - if ( !plugins[i]->Occupied() && useEmpty ) - { - // Make empty space visible - SetStringPropertyToNodeL( *sp, *node, - XnPropertyNames::style::common::KVisibility, - XnPropertyNames::style::common::visibility::KVisible ); - } - } - + node->SetStateL( XnPropertyNames::style::common::KEdit ); + + if ( !plugins[i]->Occupied() && useEmpty ) + { + // Make empty space visible + SetStringPropertyToNodeL( *sp, *node, + XnPropertyNames::style::common::KVisibility, + XnPropertyNames::style::common::visibility::KVisible ); + } + } + aEngine.EditMode()->SetEditModeL( CXnEditMode::EDragAndDrop ); - aEngine.AppUiAdapter().ViewAdapter().BgManager().DrawNow(); - } + aEngine.AppUiAdapter().ViewAdapter().CloseAllPopupsL(); CleanupStack::PopAndDestroy(); @@ -3497,9 +3042,6 @@ CXnUiEngine& aEngine, CXnDomNode& aEventNode ) { - TBool keyEditMode( - aEngine.EditMode()->EditState() == CXnEditMode::EKeyMove ); - CXnDomList& children( aEventNode.ChildNodes() ); TInt count( children.Length() ); @@ -3558,40 +3100,24 @@ CXnDomStringPool* sp( aEventNode.StringPool() ); - if ( keyEditMode ) - { - for ( TInt i = 0; i < plugins.Count(); i++ ) - { - if ( plugins[i]->Occupied() ) - { - CXnNode* node( plugins[i]->Owner()->LayoutNode() ); - - node->UnsetStateL( XnPropertyNames::style::common::KEdit ); - } - } - } - else - { - TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() ); + TBool useEmpty( aEngine.ViewManager()->ActiveViewData().UseEmptyWidget() ); + + for ( TInt i = 0; i < plugins.Count(); i++ ) + { + CXnNode* node( plugins[i]->Owner()->LayoutNode() ); + + node->UnsetStateL( XnPropertyNames::style::common::KEdit ); - for ( TInt i = 0; i < plugins.Count(); i++ ) - { - CXnNode* node( plugins[i]->Owner()->LayoutNode() ); - - node->UnsetStateL( XnPropertyNames::style::common::KEdit ); - - if ( !plugins[i]->Occupied() && useEmpty ) - { - // Make empty space blank - SetStringPropertyToNodeL( *sp, *node, - XnPropertyNames::style::common::KVisibility, - XnPropertyNames::style::common::visibility::KBlank ); - } - } - } + if ( !plugins[i]->Occupied() && useEmpty ) + { + // Make empty space blank + SetStringPropertyToNodeL( *sp, *node, + XnPropertyNames::style::common::KVisibility, + XnPropertyNames::style::common::visibility::KBlank ); + } + } aEngine.EditMode()->SetEditModeL( CXnEditMode::ENone ); - aEngine.AppUiAdapter().ViewAdapter().BgManager().DrawNow(); aEngine.AppUiAdapter().ViewAdapter().UpdateRskByModeL(); } @@ -3832,28 +3358,6 @@ } // ----------------------------------------------------------------------------- -// RunResetStylusCounterL -// ----------------------------------------------------------------------------- -// -static void RunResetStylusCounterL( - CXnNodeImpl* aThis, - CXnUiEngine& aEngine, - const TDesC8& aId ) - { - CXnNode* node( aEngine.FindNodeByIdL( aId, aThis->Namespace() ) ); - - if ( node ) - { - CXnControlAdapter* adapter( node->Control() ); - - if ( adapter ) - { - adapter->ResetStylusCounter(); - } - } - } - -// ----------------------------------------------------------------------------- // GetSystemSetDataL // ----------------------------------------------------------------------------- // @@ -4155,11 +3659,11 @@ for( TInt i = 0; i < pluginNodes.Count(); i++ ) { - CXnPluginData& data( viewData.Plugin( pluginNodes[i] ) ); + CXnPluginData* data( viewData.Plugin( pluginNodes[i] ) ); - if( data.Occupied() ) - { - plugins.AppendL( &data ); + if( data && data->Occupied() ) + { + plugins.AppendL( data ); } } @@ -4302,35 +3806,6 @@ } // ----------------------------------------------------------------------------- -// ResolveTriggerDelayL -// ----------------------------------------------------------------------------- -// -static void ResolveTriggerDelayL( - CXnUiEngine& /*aEngine*/, - CXnDomNode& aNode, - TInt& aDelay ) - { - CXnDomList& children = aNode.ChildNodes(); - for ( TInt i = 0; i < children.Length(); i++ ) - { - CXnDomNode* child = static_cast< CXnDomNode* >( children.Item( i ) ); - const TDesC8& name = child->AttributeValue( XnPropertyNames::action::KName ); - if ( name == XnPropertyNames::action::trigger::KDelay ) - { - const TDesC8& value = child->AttributeValue( XnPropertyNames::action::KValue ); - if ( value != KNullDesC8 ) - { - TInt triggerDelay( 0 ); - TLex8 lex; - lex.Assign( value ); - lex.Val( triggerDelay ); - aDelay = triggerDelay; - } - } - } - } - -// ----------------------------------------------------------------------------- // RunEventL // ----------------------------------------------------------------------------- // @@ -4402,19 +3877,6 @@ RunResetEditL( aThis, aEngine, aEventNode ); return ETrue; } - else if ( nameString == XnPropertyNames::action::event::KResetStylusCounter ) - { - HBufC8* id( NULL ); - - GetSystemSetDataL( aEventNode, id ); - CleanupStack::PushL( id ); - - RunResetStylusCounterL( aThis, aEngine, *id ); - - CleanupStack::PopAndDestroy( id ); - - return EFalse; - } else if ( nameString == XnPropertyNames::action::event::KRunAddWidgetQuery ) { aEngine.Editor()->AddWidgetL(); @@ -4465,10 +3927,6 @@ RunDeactivateL( aThis, aEngine, aEventNode ); return ETrue; } - else if ( nameString == XnPropertyNames::action::event::KExit ) - { - RunAppExit( aEngine ); - } else if ( nameString == XnPropertyNames::action::event::KTryDisplayingMenu ) { RunTryDisplayingMenuL( aEngine, aEventNode ); @@ -4548,29 +4006,6 @@ return ETrue; } - else if ( nameString == XnPropertyNames::action::event::KRestartTriggerTimer ) - { - TInt delay( 0 ); - - ResolveTriggerDelayL( aEngine, aEventNode, delay ); - - if ( delay > 0 ) - { - aNode.RestartTimedTrigger( delay ); - } - else - { - TTimeIntervalMicroSeconds32 delayms = aNode.TriggerDelay(); - aNode.RestartTimedTrigger( delayms.Int() ); - } - - return ETrue; - } - else if ( nameString == XnPropertyNames::action::event::KCancelTriggerTimer ) - { - aNode.RestartTimedTrigger(); - return ETrue; - } else if ( nameString == XnPropertyNames::action::event::KSetWallpaper ) { aEngine.AppUiAdapter().ViewAdapter().BgManager().SetWallpaperL(); @@ -4915,7 +4350,7 @@ { const TDesC8& loopValue = navLoopProperty->StringValue(); if ( loopValue != KNullDesC8 && - loopValue == XnPropertyNames::grid::s60_focus_looping::KStop ) + loopValue == XnPropertyNames::style::common::s60_focus_looping::KStop ) { return NULL; } @@ -6556,13 +5991,12 @@ { CXnAppUiAdapter& appui = static_cast< CXnAppUiAdapter& >( *iAvkonAppUi ); - CXnPluginData& plugin( + CXnPluginData* plugin( appui.ViewManager().ActiveViewData().Plugin( &aNode ) ); - // find if node is in a widget that contatins some opened popup window - - TBool containsPopUp = plugin.IsDisplayingPopup(); - + // find if node is in a widget that contatins some opened popup window + TBool containsPopUp = ( plugin ? plugin->IsDisplayingPopup() : EFalse ); + CXnNode* nextNode( NULL ); RPointerArray< CXnNode >& array = aEngine.ViewManager()->AppearanceNodes(); if ( aKeyEvent.iScanCode == EStdKeyDownArrow ) @@ -7081,7 +6515,7 @@ if ( navLoopProperty ) { const TDesC8& loopValue = navLoopProperty->StringValue(); - if ( loopValue == XnPropertyNames::grid::s60_focus_looping::KStop ) + if ( loopValue == XnPropertyNames::style::common::s60_focus_looping::KStop ) { return EFalse; } @@ -7400,9 +6834,7 @@ iPropertyPseudoClasses.Reset(); iStates.Reset(); iChildren.ResetAndDestroy(); - delete iGridPropertyCache; delete iLayoutPropertyCache; - DeletePeriodic(); } // ----------------------------------------------------------------------------- @@ -7601,17 +7033,6 @@ // const TDesC8& CXnNodeImpl::GetPCData() { - if ( iRef ) - { - CXnNode* refNode( NULL ); - TRAP_IGNORE( refNode = RefNodeL( this, iRef, iUiEngine ) ); - - if ( refNode ) - { - return refNode->GetPCData(); - } - } - return iDomNode->PCData(); } @@ -7630,7 +7051,7 @@ // Searchs and shoes tooltips // ----------------------------------------------------------------------------- // -void CXnNodeImpl::ShowPopupsL( TRect aRect, TInt /*aSource*/ ) +void CXnNodeImpl::ShowPopupsL( TRect aRect, TInt aSource ) { if ( iHandleTooltip ) { @@ -7647,7 +7068,17 @@ if ( popup ) { - popup->ShowPopupL( aRect ); + if ( aSource == XnEventSource::EStylus ) + { + const TTimeIntervalMicroSeconds32 delay( 0 ); + const TTimeIntervalMicroSeconds32 display( 1000 * 1000 * 6 ); + + popup->ShowPopupL( aRect, delay, display ); + } + else + { + popup->ShowPopupL( aRect ); + } } } } @@ -7858,15 +7289,6 @@ { TInt level( XnDirtyLevel::ENone ); - const TDesC8* refid( CheckRefAttributeL( iRef ) ); - - if ( refid && aProperty->Property()->Name() != XnPropertyNames::common::KId ) - { - delete aProperty; - - return level; - } - const TDesC8& name( aProperty->Property()->Name() ); CXnProperty* prop( GetPropertyL( name ) ); @@ -7895,7 +7317,6 @@ SetCachedProperty( aProperty, iLayoutPropertyCache, - iRef, iName, iValue, iLabel, @@ -7904,7 +7325,6 @@ iId, iPath, iMaskPath, - iGridPropertyCache, EFalse, EFalse ); } @@ -7914,7 +7334,6 @@ SetCachedProperty( aProperty, iLayoutPropertyCache, - iRef, iName, iValue, iLabel, @@ -7923,7 +7342,6 @@ iId, iPath, iMaskPath, - iGridPropertyCache, EFalse, EFalse ); } @@ -7983,15 +7401,6 @@ // void CXnNodeImpl::InitializePropertyL( CXnProperty* aProperty ) { - const TDesC8* refid( CheckRefAttributeL( iRef ) ); - - if ( refid && aProperty->Property()->Name() != XnPropertyNames::common::KId ) - { - delete aProperty; - - return; - } - if ( aProperty->Property()->PseudoClass() != CXnDomProperty::ENone ) { InsertPropertyPseudoClassL( @@ -8000,7 +7409,6 @@ SetCachedProperty( aProperty, iLayoutPropertyCache, - iRef, iName, iValue, iLabel, @@ -8009,7 +7417,6 @@ iId, iPath, iMaskPath, - iGridPropertyCache, ETrue, ETrue ); } @@ -8018,7 +7425,6 @@ SetCachedProperty( aProperty, iLayoutPropertyCache, - iRef, iName, iValue, iLabel, @@ -8027,7 +7433,6 @@ iId, iPath, iMaskPath, - iGridPropertyCache, ETrue, EFalse ); } @@ -8042,13 +7447,6 @@ // CXnProperty* CXnNodeImpl::GetPropertyL( const TDesC8& aKey ) { - CXnNode* refNode( RefNodeL( this, iRef, iUiEngine ) ) ; - - if ( refNode && aKey != KRef && aKey != KId ) - { - return refNode->GetPropertyL( aKey ); - } - CXnDomProperty* attribute = NULL; CXnProperty* property = iPropertyList->GetProperty( aKey ); @@ -8581,17 +7979,10 @@ // Returns a property. // ----------------------------------------------------------------------------- // -static CXnProperty* PropertyL( CXnNodeImpl* aThis, CXnProperty* aProperty, - CXnProperty* ( CXnNode::* aFunc )(), CXnUiEngine* aUiEngine, - TAny* aLayoutPropertyCache, CXnNode* aParent, CXnProperty* aRef ) - { - CXnNode* refNode( RefNodeL( aThis, aRef, aUiEngine ) ) ; - - if ( refNode ) - { - return ( refNode->*aFunc )(); - } - +static CXnProperty* PropertyL( CXnProperty* aProperty, + CXnProperty* ( CXnNode::* aFunc )(), + TAny* aLayoutPropertyCache, CXnNode* aParent ) + { if ( aLayoutPropertyCache && aProperty ) { CXnDomProperty* attribute = aProperty->Property(); @@ -8624,93 +8015,16 @@ } // ----------------------------------------------------------------------------- -// ReferredPropertyL -// Returns a referred property. -// ----------------------------------------------------------------------------- -// -static CXnProperty* ReferredPropertyL( - RPointerArray< CXnProperty >* aPropertyArray, - RArray< CXnDomProperty::TPseudoClass >& aStates ) - { - if ( !aPropertyArray ) - { - return NULL; - } - for ( TInt i = aPropertyArray->Count() - 1; i >= 0; --i ) - { - CXnProperty* tmp = ( *aPropertyArray )[i]; - for ( TInt j = aStates.Count() - 1; j >= 0; --j ) - { - if ( aStates[j] == tmp->Property()->PseudoClass() ) - { - return tmp; - } - } - for ( TInt j = aStates.Count() - 1; j >= 0; --j ) - { - if ( tmp->Property()->PseudoClass() == CXnDomProperty::ENone ) - { - return tmp; - } - } - } - for ( TInt i = aPropertyArray->Count() - 1; i >= 0; --i ) - { - CXnProperty* tmp = ( *aPropertyArray )[i]; - if ( tmp->Property()->PseudoClass() == CXnDomProperty::ENone ) - { - return tmp; - } - } - return NULL; - } - -// ----------------------------------------------------------------------------- -// RefNodeL -// Returns referred node. -// ----------------------------------------------------------------------------- -// -static CXnNode* RefNodeL( - CXnNodeImpl* aThis, - CXnProperty* aRef, - CXnUiEngine* aUiEngine ) - { - const TDesC8* refid( CheckRefAttributeL( aRef ) ); - - if ( refid ) - { - CXnNode* node( aUiEngine->FindNodeByIdL( *refid, aThis->Namespace() ) ); - - if ( node ) - { - return node; - } - } - - return NULL; - } - -// ----------------------------------------------------------------------------- // CXnNodeImpl::WidthL // Returns width property. // ----------------------------------------------------------------------------- // CXnProperty* CXnNodeImpl::WidthL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iWidths ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iWidth : NULL; - return PropertyL( this, property, &CXnNode::WidthL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::WidthL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8720,20 +8034,10 @@ // CXnProperty* CXnNodeImpl::HeightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if (refNode) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iHeights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iHeight : NULL; - return PropertyL( this, property, &CXnNode::HeightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::HeightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8743,22 +8047,12 @@ // CXnProperty* CXnNodeImpl::MarginLeftL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMarginLefts ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMarginLeft : NULL; - return PropertyL( this, property, &CXnNode::MarginLeftL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MarginLeftL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8768,22 +8062,12 @@ // CXnProperty* CXnNodeImpl::MarginRightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMarginRights ) : - NULL; - return ReferredPropertyL(propertyArray, iStates); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMarginRight : NULL; - return PropertyL( this, property, &CXnNode::MarginRightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MarginRightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8793,21 +8077,11 @@ // CXnProperty* CXnNodeImpl::BorderLeftL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderLefts ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderLeft : NULL; - return PropertyL( this, property, &CXnNode::BorderLeftL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderLeftL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8817,22 +8091,12 @@ // CXnProperty* CXnNodeImpl::BorderRightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderRights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderRight : NULL; - return PropertyL( this, property, &CXnNode::BorderRightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderRightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8842,22 +8106,12 @@ // CXnProperty* CXnNodeImpl::PaddingLeftL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iPaddingLefts ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingLeft : NULL; - return PropertyL( this, property, &CXnNode::PaddingLeftL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::PaddingLeftL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8867,20 +8121,10 @@ // CXnProperty* CXnNodeImpl::PaddingRightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iPaddingRights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingRight : NULL; - return PropertyL( this, property, &CXnNode::PaddingRightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::PaddingRightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8890,20 +8134,10 @@ // CXnProperty* CXnNodeImpl::MarginTopL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMarginTops ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMarginTop : NULL; - return PropertyL( this, property, &CXnNode::MarginTopL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MarginTopL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8913,20 +8147,10 @@ // CXnProperty* CXnNodeImpl::MarginBottomL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMarginBottoms ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMarginBottom : NULL; - return PropertyL( this, property, &CXnNode::MarginBottomL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MarginBottomL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8936,20 +8160,10 @@ // CXnProperty* CXnNodeImpl::BorderTopL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderTops ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderTop : NULL; - return PropertyL( this, property, &CXnNode::BorderTopL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderTopL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8959,20 +8173,10 @@ // CXnProperty* CXnNodeImpl::BorderBottomL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderBottoms ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderBottom : NULL; - return PropertyL( this, property, &CXnNode::BorderBottomL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderBottomL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -8982,20 +8186,10 @@ // CXnProperty* CXnNodeImpl::PaddingTopL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iPaddingTops ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingTop : NULL; - return PropertyL( this, property, &CXnNode::PaddingTopL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::PaddingTopL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9005,20 +8199,10 @@ // CXnProperty* CXnNodeImpl::PaddingBottomL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iPaddingBottoms ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iPaddingBottom : NULL; - return PropertyL( this, property, &CXnNode::PaddingBottomL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::PaddingBottomL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9028,20 +8212,10 @@ // CXnProperty* CXnNodeImpl::BorderWidthL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderWidths ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderWidth : NULL; - return PropertyL( this, property, &CXnNode::BorderWidthL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderWidthL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9051,20 +8225,10 @@ // CXnProperty* CXnNodeImpl::BlockProgressionL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBlockProgressions ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBlockProgression : NULL; - return PropertyL( this, property, &CXnNode::BlockProgressionL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BlockProgressionL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9074,20 +8238,10 @@ // CXnProperty* CXnNodeImpl::DirectionL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iDirections ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iDirection : NULL; - return PropertyL( this, property, &CXnNode::DirectionL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::DirectionL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9097,20 +8251,10 @@ // CXnProperty* CXnNodeImpl::PositionL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iPositions ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iPosition : NULL; - return PropertyL( this, property, &CXnNode::PositionL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::PositionL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9120,20 +8264,10 @@ // CXnProperty* CXnNodeImpl::MaxHeightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMaxHeights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMaxHeight : NULL; - return PropertyL( this, property, &CXnNode::MaxHeightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MaxHeightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9143,20 +8277,10 @@ // CXnProperty* CXnNodeImpl::MinHeightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMinHeights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMinHeight : NULL; - return PropertyL( this, property, &CXnNode::MinHeightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MinHeightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9166,20 +8290,10 @@ // CXnProperty* CXnNodeImpl::MaxWidthL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMaxWidths ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMaxWidth : NULL; - return PropertyL( this, property, &CXnNode::MaxWidthL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MaxWidthL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9189,20 +8303,10 @@ // CXnProperty* CXnNodeImpl::MinWidthL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iMinWidths ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iMinWidth : NULL; - return PropertyL( this, property, &CXnNode::MinWidthL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::MinWidthL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9212,20 +8316,10 @@ // CXnProperty* CXnNodeImpl::DisplayL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iDisplays ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iDisplay : NULL; - return PropertyL( this, property, &CXnNode::DisplayL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::DisplayL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9235,20 +8329,10 @@ // CXnProperty* CXnNodeImpl::LeftL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iLefts ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iLeft : NULL; - return PropertyL( this, property, &CXnNode::LeftL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::LeftL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9258,20 +8342,10 @@ // CXnProperty* CXnNodeImpl::RightL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iRights ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iRight : NULL; - return PropertyL( this, property, &CXnNode::RightL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::RightL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9281,20 +8355,10 @@ // CXnProperty* CXnNodeImpl::TopL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iTops ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iTop : NULL; - return PropertyL( this, property, &CXnNode::TopL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::TopL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9304,20 +8368,10 @@ // CXnProperty* CXnNodeImpl::BottomL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBottoms ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBottom : NULL; - return PropertyL( this, property, &CXnNode::BottomL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BottomL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9327,20 +8381,10 @@ // CXnProperty* CXnNodeImpl::BorderLeftStyleL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderLeftStyles ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderLeftStyle : NULL; - return PropertyL( this, property, &CXnNode::BorderLeftStyleL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderLeftStyleL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9350,20 +8394,10 @@ // CXnProperty* CXnNodeImpl::BorderRightStyleL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderRightStyles ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderRightStyle : NULL; - return PropertyL( this, property, &CXnNode::BorderRightStyleL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderRightStyleL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9373,20 +8407,10 @@ // CXnProperty* CXnNodeImpl::BorderTopStyleL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderTopStyles ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderTopStyle : NULL; - return PropertyL( this, property, &CXnNode::BorderTopStyleL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderTopStyleL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9396,20 +8420,10 @@ // CXnProperty* CXnNodeImpl::BorderBottomStyleL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderBottomStyles ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderBottomStyle : NULL; - return PropertyL( this, property, &CXnNode::BorderBottomStyleL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderBottomStyleL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9419,20 +8433,10 @@ // CXnProperty* CXnNodeImpl::BorderStyleL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBorderStyles ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderStyle : NULL; - return PropertyL( this, property, &CXnNode::BorderStyleL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderStyleL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9444,9 +8448,8 @@ { CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBorderImage : NULL; - return PropertyL( this, property, &CXnNode::BorderImageL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BorderImageL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9456,20 +8459,10 @@ // CXnProperty* CXnNodeImpl::DisplayPriorityL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iDisplayPriorities ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iDisplayPriority : NULL; - return PropertyL( this, property, &CXnNode::DisplayPriorityL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::DisplayPriorityL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9479,9 +8472,7 @@ // CXnProperty* CXnNodeImpl::NameL() { - return PropertyL( this, iName, &CXnNode::NameL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iName, &CXnNode::NameL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9491,9 +8482,7 @@ // CXnProperty* CXnNodeImpl::ValueL() { - return PropertyL( this, iValue, &CXnNode::ValueL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iValue, &CXnNode::ValueL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9503,20 +8492,10 @@ // CXnProperty* CXnNodeImpl::VisibilityL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iVisibilities ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iVisibility : NULL; - return PropertyL( this, property, &CXnNode::VisibilityL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::VisibilityL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9526,9 +8505,7 @@ // CXnProperty* CXnNodeImpl::LabelL() { - return PropertyL( this, iLabel, &CXnNode::LabelL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iLabel, &CXnNode::LabelL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9538,9 +8515,7 @@ // CXnProperty* CXnNodeImpl::InitialFocusL() { - return PropertyL( this, iInitialFocus, &CXnNode::InitialFocusL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iInitialFocus, &CXnNode::InitialFocusL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9550,9 +8525,7 @@ // CXnProperty* CXnNodeImpl::ClassL() { - return PropertyL( this, iClass, &CXnNode::ClassL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iClass, &CXnNode::ClassL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9596,9 +8569,7 @@ // CXnProperty* CXnNodeImpl::PathL() { - return PropertyL( this, iPath, &CXnNode::PathL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iPath, &CXnNode::PathL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9608,9 +8579,7 @@ // CXnProperty* CXnNodeImpl::MaskPathL() { - return PropertyL( this, iMaskPath, &CXnNode::MaskPathL, - iUiEngine, this, - iParent, iRef ); + return PropertyL( iMaskPath, &CXnNode::MaskPathL, this, iParent ); } // ----------------------------------------------------------------------------- @@ -9620,118 +8589,10 @@ // CXnProperty* CXnNodeImpl::NavIndexL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iNavIndexes ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iNavIndex : NULL; - return PropertyL( this, property, &CXnNode::NavIndexL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::VisibleRowsL -// Returns visible-rows property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::VisibleRowsL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iVisibleRows : NULL; - return PropertyL( this, property, &CXnNode::VisibleRowsL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridColumnsL -// Returns grid-columns property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridColumnsL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iGridColumns : NULL; - return PropertyL( this, property, &CXnNode::GridColumnsL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridOrientationL -// Returns grid-orientation property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridOrientationL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iGridOrientation : NULL; - return PropertyL( this, property, &CXnNode::GridOrientationL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridVerDirectionL -// Returns grid-ver-direction property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridVerDirectionL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iGridVerDirection : NULL; - return PropertyL( this, property, &CXnNode::GridVerDirectionL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridHorDirectionL -// Returns grid-hor-direction property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridHorDirectionL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iGridHorDirection : NULL; - return PropertyL( this, property, &CXnNode::GridHorDirectionL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::FocusHorLoopingL -// Returns focus-hor-looping property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::FocusHorLoopingL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iFocusHorLooping : NULL; - return PropertyL( this, property, &CXnNode::FocusHorLoopingL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::FocusVerLoopingL -// Returns focus-ver-looping property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::FocusVerLoopingL() - { - CXnProperty* property = - iGridPropertyCache ? iGridPropertyCache->iFocusVerLooping : NULL; - return PropertyL( this, property, &CXnNode::FocusVerLoopingL, - iUiEngine, iGridPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::NavIndexL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9741,20 +8602,10 @@ // CXnProperty* CXnNodeImpl::ZIndexL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iZIndexes ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iZIndex : NULL; - return PropertyL( this, property, &CXnNode::ZIndexL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::ZIndexL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9764,20 +8615,10 @@ // CXnProperty* CXnNodeImpl::BackgroundColorL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBackgroundColors ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBackgroundColor : NULL; - return PropertyL( this, property, &CXnNode::BackgroundColorL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BackgroundColorL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9787,20 +8628,10 @@ // CXnProperty* CXnNodeImpl::BackgroundImageL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iBackgroundImages ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iBackgroundImage : NULL; - return PropertyL( this, property, &CXnNode::BackgroundImageL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); + return PropertyL( property, &CXnNode::BackgroundImageL, + iLayoutPropertyCache, iParent ); } // ----------------------------------------------------------------------------- @@ -9810,174 +8641,11 @@ // CXnProperty* CXnNodeImpl::FocusBackgroundL() { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - - if ( refNode ) - { - RPointerArray< CXnProperty >* propertyArray = - refNode->Impl()->iLayoutPropertyCache ? - &( refNode->Impl()->iLayoutPropertyCache->iFocusBackgrounds ) : - NULL; - return ReferredPropertyL( propertyArray, iStates ); - } - CXnProperty* property = iLayoutPropertyCache ? iLayoutPropertyCache->iFocusBackground : NULL; - return PropertyL( this, property, &CXnNode::FocusBackgroundL, - iUiEngine, iLayoutPropertyCache, - iParent, iRef ); - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::RefL -// Returns ref property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::RefL() - { - return iRef; - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridScrollBarWidthL -// Returns grid-scrollbar-width property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridScrollBarWidthL() - { - CXnProperty* property = NULL; - - if ( iGridPropertyCache && iGridPropertyCache->iGridScrollBarWidth) - { - property = PropertyL( - this, - iGridPropertyCache->iGridScrollBarWidth, - &CXnNode::GridScrollBarWidthL, - iUiEngine, iGridPropertyCache, - iParent, - iRef ); - } - - if ( !property && iRef ) - { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - - if ( refNode ) - { - property = refNode->GridScrollBarWidthL(); - } - } - - if ( !property ) - { - TReal sbWidth( KS60ScrollbarDefaultWidth ); - // Set default value - CXnDomDocument& doc = iUiEngine->ODT()->DomDocument(); - CXnDomProperty* domProperty = CXnDomProperty::NewL( - XnPropertyNames::grid::KS60GridScrollbarWidth, doc.StringPool() ); - CleanupStack::PushL( domProperty ); - CXnDomPropertyValue* propertyValue = CXnDomPropertyValue::NewL( - doc.StringPool() ); - CleanupStack::PushL( propertyValue ); - if ( AknLayoutUtils::PenEnabled() ) - { - sbWidth = KS60ScrollbarDefaultWidthPenEnabled; - } - propertyValue->SetFloatValueL( CXnDomPropertyValue::EUnitValue, sbWidth ); - domProperty->PropertyValueList().AddItemL( propertyValue ); - CleanupStack::Pop( propertyValue ); - - property = CXnProperty::NewL( domProperty ); - CleanupStack::Pop( domProperty ); - CleanupStack::PushL( property ); - - // If this is a reference node, set property to the referred node, not this. - CXnNode* node = RefNodeL( this, iRef, iUiEngine ); - if ( node ) - { - node->SetPropertyL( property ); - } - else - { - this->SetPropertyL( property ); // deletes existing one - } - - CleanupStack::Pop( property ); - } - - return property; - } - -// ----------------------------------------------------------------------------- -// CXnNodeImpl::GridScrollBarMarginL -// Returns grid-scrollbar-margin property. -// ----------------------------------------------------------------------------- -// -CXnProperty* CXnNodeImpl::GridScrollBarMarginL() - { - CXnProperty* property = NULL; - if ( iGridPropertyCache && iGridPropertyCache->iGridScrollBarMargin ) - { - property = PropertyL( - this, - iGridPropertyCache->iGridScrollBarMargin, - &CXnNode::GridScrollBarMarginL, - iUiEngine, iGridPropertyCache, - iParent, - iRef ); - } - - if ( !property && iRef ) - { - CXnNode* refNode = RefNodeL( this, iRef, iUiEngine ); - - if ( refNode ) - { - property = refNode->GridScrollBarMarginL(); - } - } - - if ( !property ) - { - TReal sbMarginWidth( KS60ScrollbarDefaultMargin ); - // Set default value - CXnDomDocument& doc = iUiEngine->ODT()->DomDocument(); - CXnDomProperty* domProperty = - CXnDomProperty::NewL( - XnPropertyNames::grid::KS60GridScrollbarMargin, - doc.StringPool() ); - CleanupStack::PushL( domProperty ); - CXnDomPropertyValue* propertyValue = CXnDomPropertyValue::NewL( - doc.StringPool() ); - CleanupStack::PushL( propertyValue ); - if ( AknLayoutUtils::PenEnabled() ) - { - sbMarginWidth = KS60ScrollbarDefaultMarginPenEnabled; - } - propertyValue->SetFloatValueL( - CXnDomPropertyValue::EUnitValue, sbMarginWidth ); - domProperty->PropertyValueList().AddItemL( propertyValue ); - CleanupStack::Pop( propertyValue ); - - property = CXnProperty::NewL( domProperty ); - CleanupStack::Pop( domProperty ); - CleanupStack::PushL( property ); - - // If this is a reference node, set property to the referred node, not this. - CXnNode* node = RefNodeL( this, iRef, iUiEngine ); - if ( node ) - { - node->SetPropertyL( property ); - } - else - { - this->SetPropertyL( property ); // deletes existing one - } - - CleanupStack::Pop(property); - } - return property; + return PropertyL( property, &CXnNode::FocusBackgroundL, + iLayoutPropertyCache, iParent ); } // ---------------------------------------------------------------------------- @@ -10202,57 +8870,6 @@ } } -// ---------------------------------------------------------------------------- -// CXnNodeImpl::PeriodicEventL -// ---------------------------------------------------------------------------- -// -TInt CXnNodeImpl::PeriodicEventL( TAny* aPtr ) - { - TXnTimedTrigger* params = static_cast< TXnTimedTrigger* >( aPtr ); - CXnNodeImpl* impl = params->iNodeImpl; - CXnUiEngine* engine = params->iEngine; - CXnNode* node = params->iNode; - CXnNode* eventData = params->iEventData; - CXnDomNode* actionNode = params->iActionNode; - CXnDomNode* triggerNode = params->iTriggerNode; - RunEventsL( impl, *engine, *node, *actionNode, *triggerNode, *eventData ); - delete params; - impl->DeletePeriodic(); - return EFalse; - } - -// ---------------------------------------------------------------------------- -// CXnNodeImpl::PeriodicTimer -// ---------------------------------------------------------------------------- -// -CPeriodic* CXnNodeImpl::PeriodicTimer() - { - return iPeriodicTimer; - } - -// ---------------------------------------------------------------------------- -// CXnNodeImpl::CreatePeriodicL -// ---------------------------------------------------------------------------- -// -void CXnNodeImpl::CreatePeriodicL() - { - iPeriodicTimer = CPeriodic::NewL( CActive::EPriorityIdle ); - } - -// --------------------------------------------------------- -// CXnNodeImpl::DeletePeriodic -// --------------------------------------------------------- -// -void CXnNodeImpl::DeletePeriodic() - { - if ( iPeriodicTimer ) - { - iPeriodicTimer->Cancel(); - delete iPeriodicTimer; - iPeriodicTimer = NULL; - } - } - // ----------------------------------------------------------------------------- // CXnNodeImpl::SetDirtyL // ----------------------------------------------------------------------------- @@ -10514,4 +9131,3 @@ } return aRect; } - diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnnodepluginif.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnnodepluginif.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnnodepluginif.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -366,96 +366,6 @@ } // ----------------------------------------------------------------------------- -// CXnNodePluginIf::VisibleRowsL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::VisibleRowsL() - { - return iNode->VisibleRowsL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridColumnsL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridColumnsL() - { - return iNode->GridColumnsL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridOrientationL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridOrientationL() - { - return iNode->GridOrientationL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridVerDirectionL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridVerDirectionL() - { - return iNode->GridVerDirectionL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridHorDirectionL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridHorDirectionL() - { - return iNode->GridHorDirectionL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::FocusHorLoopingL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::FocusHorLoopingL() - { - return iNode->FocusHorLoopingL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::FocusVerLoopingL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::FocusVerLoopingL() - { - return iNode->FocusVerLoopingL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::RefL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::RefL() - { - return iNode->RefL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridScrollBarWidthL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridScrollBarWidthL() - { - return iNode->GridScrollBarWidthL(); - } - -// ----------------------------------------------------------------------------- -// CXnNodePluginIf::GridScrollBarMarginL -// ----------------------------------------------------------------------------- -// -EXPORT_C CXnProperty* CXnNodePluginIf::GridScrollBarMarginL() - { - return iNode->GridScrollBarMarginL(); - } - -// ----------------------------------------------------------------------------- // CXnNodePluginIf::SetHandleTooltip // ----------------------------------------------------------------------------- // @@ -542,9 +452,7 @@ { const TDesC8& type( iNode->Type()->Type() ); - if ( iNode->IsAdaptive( ETrue ) || - type == _L8( "grid" ) || - type == _L8( "list" ) ) + if ( iNode->IsAdaptive( ETrue ) ) { iNode->SetDirtyL( XnDirtyLevel::ELayoutAndRender ); } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnodtparser.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -60,8 +60,6 @@ _LIT8( KBoxNodeName, "box" ); _LIT8( KButtonNodeName, "button" ); _LIT8( KStylusPopupNodeName, "styluspopup" ); -_LIT8( KListNodeName, "list" ); -_LIT8( KGridNodeName, "grid" ); _LIT8( KImageNodeName, "image" ); _LIT8( KTooltipNodeName, "tooltip" ); _LIT8( KMenuBarNodeName, "menubar" ); @@ -74,8 +72,6 @@ _LIT8( KTriggerNodeName, "trigger" ); _LIT8( KEventNodeName, "event" ); _LIT8( KTextNodeName, "text" ); -_LIT8( KGridCellTemplateNodeName, "gridcelltemplate" ); -_LIT8( KListRowTemplateNodeName, "listrowtemplate" ); _LIT8( KMarqueeNodeName, "marquee" ); _LIT8( KObjectNodeName, "object" ); _LIT8( KTracksterNodeName, "trackster" ); @@ -502,12 +498,8 @@ returnValue->SetViewNodeImpl( impl ); CleanupStack::Pop( impl ); } - else if ( name == KGridCellTemplateNodeName || - name == KListRowTemplateNodeName || - name == KBoxNodeName || + else if ( name == KBoxNodeName || name == KButtonNodeName || - name == KListNodeName || - name == KGridNodeName || name == KImageNodeName || name == KMenuBarNodeName || name == KTooltipNodeName || diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnplugindata.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnplugindata.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnplugindata.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -35,7 +35,10 @@ #include "xnoomsyshandler.h" #include "xnpanic.h" +#include "debug.h" + // Constants +_LIT8( KLockingStatusLocked, "locked" ); // ============================ LOCAL FUNCTIONS ================================ @@ -132,8 +135,7 @@ } iFlags.Clear( EIsEmpty ); - iFlags.Set( EIsRemovable ); - + TInt err( KErrNone ); TRAP( err, err = iManager.Composer().ComposeWidgetL( *this ) ); @@ -224,7 +226,9 @@ // ----------------------------------------------------------------------------- // TInt CXnPluginData::LoadPublishers( TInt aReason ) - { + { + __PRINTS( "*** CXnPluginData::LoadPublishers" ); + TInt err( KErrNone ); TRAP( err, @@ -250,6 +254,8 @@ return KErrNone; } + __PRINTS( "*** CXnPluginData::LoadPublishers - done" ); + return err; } @@ -259,7 +265,9 @@ // ----------------------------------------------------------------------------- // void CXnPluginData::DestroyPublishers() - { + { + __PRINTS( "*** CXnPluginData::DestroyPublishers" ); + if ( Occupied() ) { // If not all plugins loaded yet @@ -269,6 +277,8 @@ User::Heap().Compress(); } + + __PRINTS( "*** CXnPluginData::DestroyPublishers - done" ); } // ----------------------------------------------------------------------------- @@ -288,6 +298,8 @@ // void CXnPluginData::DoDestroyPublishersL() { + __TIME_MARK( time ); + for ( TInt i = 0; i < iContentSourceNodes.Count(); i++ ) { CXnNodeAppIf& plugin( iContentSourceNodes[i]->AppIfL() ); @@ -296,6 +308,8 @@ iManager.AppUiAdapter().DestroyPublisher( plugin, EAiFwPluginShutdown ); } + + __TIME_ENDMARK( "CXnPluginData::DoDestroyPublishersL, done", time ); } // ----------------------------------------------------------------------------- @@ -583,8 +597,7 @@ // Takes ownership iPluginId = id; - iFlags.Set( EIsEmpty ); - iFlags.Clear( EIsRemovable ); + iFlags.Set( EIsEmpty ); } // ----------------------------------------------------------------------------- @@ -619,6 +632,18 @@ return ( iPopupNodes.Count() > 0 ); } +// ----------------------------------------------------------------------------- +// CXnPluginData::PopupNodesL() +// ----------------------------------------------------------------------------- +// +void CXnPluginData::PopupNodesL( RPointerArray< CXnNode >& aList ) const + { + for ( TInt i = 0; i < iPopupNodes.Count(); i++ ) + { + aList.AppendL( iPopupNodes[i] ); + } + } + //------------------------------------------------------------------------------ // CXnPluginData::ShowContentRemovedError() // @@ -657,4 +682,21 @@ TRAP_IGNORE( ViewManager().OomSysHandler().HandlePotentialOomL() ); } +// ----------------------------------------------------------------------------- +// CXnViewData::SetLockingStatus +// +// ----------------------------------------------------------------------------- +// +void CXnPluginData::SetLockingStatus( const TDesC8& aStatus ) + { + if ( aStatus.CompareF( KLockingStatusLocked ) == 0 ) + { + iFlags.Clear( EIsRemovable ); + } + else + { + iFlags.Set( EIsRemovable ); + } + } + // End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnpopupcontroladapter.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnpopupcontroladapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnpopupcontroladapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -196,12 +196,13 @@ // void CXnPopupControlAdapter::TryDisplayingStylusPopupL( CXnNode& aPlugin ) { - CXnViewManager* manager( iUiEngine->ViewManager() ); - - CXnPluginData& plugin( manager->ActiveViewData().Plugin( &aPlugin ) ); - HideMenuL(); - + CXnViewManager* manager( iUiEngine->ViewManager() ); + CXnPluginData* plugin( manager->ActiveViewData().Plugin( &aPlugin ) ); + if ( !plugin ) + { + return; + } TPointerEvent event( iUiEngine->HitTest().PointerEvent() ); delete iStylusPopupMenu; @@ -214,10 +215,10 @@ for ( TInt i = 0; i < children.Count(); i++ ) { - PopulateMenuL( plugin, children[i] ); + PopulateMenuL( *plugin, children[i] ); } - ShowMenuL( plugin, event.iParentPosition ); + ShowMenuL( *plugin, event.iParentPosition ); } // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnrootdata.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -38,6 +38,8 @@ #include "xnplugindata.h" #include "xnrootdata.h" +#include "debug.h" + // Constants const TInt KScheduleInterval( 2000000 ); @@ -468,6 +470,8 @@ // /* static */ TInt CXnRootData::RunLoadL( TAny* aAny ) { + __PRINTS( "*** CXnRootData::RunLoadL" ); + CXnRootData* self = static_cast< CXnRootData* >( aAny ); if ( self->iFlags.IsSet( EIsDispose ) ) @@ -541,6 +545,8 @@ } } + __PRINTS( "*** CXnRootData::RunLoadL - done" ); + return KErrNone; } @@ -571,6 +577,8 @@ // /* static */ TInt CXnRootData::RunDestroyL( TAny* aAny ) { + __PRINTS( "*** CXnRootData::RunDestroyL" ); + CXnRootData* self = static_cast< CXnRootData* >( aAny ); if( self->iFlags.IsSet( EIsDispose ) ) @@ -628,6 +636,8 @@ } } + __PRINTS( "*** CXnRootData::RunDestroyL - done" ); + return KErrNone; } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss --- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss Fri Mar 12 15:41:49 2010 +0200 @@ -29,6 +29,7 @@ #include #include #include + // ========== RESOURCE DEFINITIONS ============================================ RESOURCE RSS_SIGNATURE { } @@ -102,11 +103,6 @@ buf = qtn_hs_delete_current_page; } -RESOURCE TITLE_PANE r_qtn_hs_title_editmode - { - txt = qtn_hs_title_editing; - } - RESOURCE DIALOG r_yes_no_hs_remove_view { flags = EGeneralQueryFlags; diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -21,7 +21,7 @@ #include #include #include -#include +#include // User includes #include "xnuiengine.h" @@ -56,6 +56,7 @@ #include "xneditor.h" #include "xnbackgroundmanager.h" #include "xntexteditor.h" +#include "xnbgcontrol.h" #ifdef _XN_PERFORMANCE_TEST_ #include "xntimemon.h" @@ -271,7 +272,6 @@ CXnUiEngine& aUiEngine ); static void FillFocusCandidatesL( CXnNode* aParent, RPointerArray< CXnNode >& aArray ); -static TInt DetermineStatusPaneLayout( CXnProperty* aProperty ); static TBool SetAdaptivesL( CXnNode& aNode ); static void FindNodeByClassL( CXnNode* aRootNode, const TDesC8& aClassId, @@ -7901,18 +7901,18 @@ if ( Layout_Meta_Data::IsLandscapeOrientation() ) { reasonString = &XnPropertyNames::action::trigger::name:: - uidefinitionmodification::reason::KLandscape; + orientation::reason::KLandscape; } else { reasonString = &XnPropertyNames::action::trigger::name:: - uidefinitionmodification::reason::KPortrait; + orientation::reason::KPortrait; } reasonValue->SetStringValueL( CXnDomPropertyValue::EString, *reasonString ); CXnProperty* reason = CXnProperty::NewL( XnPropertyNames::action::trigger:: - name::uidefinitionmodification::KReason, reasonValue, *sp ); + name::orientation::KReason, reasonValue, *sp ); CleanupStack::Pop( reasonValue ); @@ -7943,52 +7943,6 @@ } // ----------------------------------------------------------------------------- -// DetermineStatusPaneLayout -// ----------------------------------------------------------------------------- -// -static TInt DetermineStatusPaneLayout( CXnProperty* aProperty ) - { - TInt spane( KErrNotFound ); - - if ( aProperty ) - { - const TDesC8& value( aProperty->StringValue() ); - - // Currently supported status pane layout - if ( value == XnPropertyNames::view::statuspanelayout::KNone ) - { - spane = R_AVKON_STATUS_PANE_LAYOUT_EMPTY; - } - if ( value == XnPropertyNames::view::statuspanelayout::KBasic ) - { - spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE; - } - else if ( value == XnPropertyNames::view::statuspanelayout::KBasicFlat ) - { - spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT; - } - else if ( value == - XnPropertyNames::view::statuspanelayout::KWideScreen ) - { - spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE; - } - else if ( value == - XnPropertyNames::view::statuspanelayout::KWideScreenFlat ) - { - spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT; - } - else if ( value == - XnPropertyNames::view::statuspanelayout:: - KWideScreenFlat3Softkeys ) - { - spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS; - } - } - - return spane; - } - -// ----------------------------------------------------------------------------- // SetAdaptivesL // ----------------------------------------------------------------------------- // @@ -8542,7 +8496,10 @@ // void CXnUiEngineImpl::SetFocusedNodeL( CXnNode* aFocusedNode, TInt aSource ) { - iKeyEventDispatcher->SetNodeL( aFocusedNode, aSource ); + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->SetNodeL( aFocusedNode, aSource ); + } } // ----------------------------------------------------------------------------- @@ -8552,7 +8509,12 @@ // CXnNode* CXnUiEngineImpl::FocusedNode() { - return iKeyEventDispatcher->FocusedNode(); + if ( iKeyEventDispatcher ) + { + return iKeyEventDispatcher->FocusedNode(); + } + + return NULL; } // ----------------------------------------------------------------------------- @@ -8579,31 +8541,16 @@ iDirtyList.Reset(); iRedrawRegions.ResetAndDestroy(); - - // Set status pane layout - CXnProperty* prop( iCurrentView->GetPropertyL( - XnPropertyNames::view::KStatusPaneLayout ) ); - - // Is there status pane declaration available - TInt spane( DetermineStatusPaneLayout( prop ) ); - - if ( spane != KErrNotFound ) - { - CEikStatusPane* sp( iAppUiAdapter.StatusPane() ); - - if ( sp && sp->CurrentLayoutResId() != spane ) - { - sp->SwitchLayoutL( spane ); - sp->ApplyCurrentSettingsL(); - } - } // Remove previous menubar and stylus popup node iMenuNode = NULL; iStylusPopupNode = NULL; - iKeyEventDispatcher->ResetMenuNodeL(); - + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->ResetMenuNodeL(); + } + RPointerArray< CXnNode >& children( iCurrentView->Children() ); for ( TInt count = children.Count() - 1; count >= 0 ; --count ) @@ -8635,8 +8582,11 @@ // Set menu node even if its NULL, to allow keyevent dispatcher // to handle no softkeys - iKeyEventDispatcher->SetMenuNodeL( iMenuNode ); - + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->SetMenuNodeL( iMenuNode ); + } + ReportScreenDeviceChangeL(); SetClientRectL( iAppUiAdapter.ClientRect(), EFalse ); @@ -8697,9 +8647,9 @@ { if ( aPlugin && &aPlugin->Node() ) { - CXnPluginData& data( viewData.Plugin( &aPlugin->Node() ) ); + CXnPluginData* data( viewData.Plugin( &aPlugin->Node() ) ); - if ( !data.Occupied() ) + if ( data && !data->Occupied() ) { retval = ETrue; } @@ -8711,9 +8661,9 @@ if ( node ) { - CXnPluginData& data( viewData.Plugin( node ) ); + CXnPluginData* data( viewData.Plugin( node ) ); - if ( data.Removable() && data.Occupied() ) + if ( data && data->Removable() && data->Occupied() ) { retval = ETrue; } @@ -8842,7 +8792,11 @@ { if ( iLayoutControl & XnLayoutControl::ERefreshMenu ) { - iKeyEventDispatcher->RefreshMenuL(); + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->RefreshMenuL(); + } + iLayoutControl &= ~XnLayoutControl::ERefreshMenu; } } @@ -8937,6 +8891,7 @@ DisableRenderUiLC(); HandlePartialTouchInputL( aType ); RootNode()->SetDirtyL(); + ForceRenderUIL(); CleanupStack::PopAndDestroy(); } } @@ -8948,7 +8903,8 @@ DisableRenderUiLC(); HandlePartialTouchInputL( aType ); RootNode()->SetDirtyL(); - CleanupStack::PopAndDestroy(); + ForceRenderUIL(); + CleanupStack::PopAndDestroy(); } } @@ -9028,7 +8984,12 @@ // TBool CXnUiEngineImpl::IsMenuDisplaying() { - return iKeyEventDispatcher->IsMenuFocused(); + if ( iKeyEventDispatcher ) + { + return iKeyEventDispatcher->IsMenuFocused(); + } + + return EFalse; } // ----------------------------------------------------------------------------- @@ -9057,7 +9018,10 @@ // void CXnUiEngineImpl::AddPassiveFocusedNodeL( CXnNode* aNode ) { - iKeyEventDispatcher->AddPassiveFocusedNodeL( aNode ); + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->AddPassiveFocusedNodeL( aNode ); + } } // ----------------------------------------------------------------------------- @@ -9066,7 +9030,10 @@ // void CXnUiEngineImpl::RemovePassiveFocusedNodeL( CXnNode* aNode ) { - iKeyEventDispatcher->RemovePassiveFocusedNodeL( aNode ); + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->RemovePassiveFocusedNodeL( aNode ); + } } // ----------------------------------------------------------------------------- @@ -9075,7 +9042,10 @@ // void CXnUiEngineImpl::ClearPassiveFocusedNodesL() { - iKeyEventDispatcher->ClearPassiveFocusedNodesL(); + if ( iKeyEventDispatcher ) + { + iKeyEventDispatcher->ClearPassiveFocusedNodesL(); + } } // ----------------------------------------------------------------------------- @@ -9758,7 +9728,11 @@ return; } if ( aType == KAknSplitInputEnabled ) - { + { + // make sure that we always get up event + CCoeControl& bg( iAppUiAdapter.ViewAdapter().BgControl() ); + static_cast(&bg)->ResetGrabbingL(); + // don't remove input from stack if split input is enabled XnTextEditorInterface::MXnTextEditorInterface* editorControl = NULL; XnComponentInterface::MakeInterfaceL( editorControl, @@ -9912,7 +9886,7 @@ // ----------------------------------------------------------------------------- void CXnUiEngineImpl::NotifyStatusPaneSizeChanged() { - TRAP_IGNORE( iUiEngine->SetClientRectL( iAppUiAdapter.ClientRect() ) ); + TRAP_IGNORE( iUiEngine->SetClientRectL( iAppUiAdapter.ClientRect(), EFalse ) ); } // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnuienginepluginif.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnuienginepluginif.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnuienginepluginif.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -370,14 +370,17 @@ if ( manager ) { - CXnPluginData& pluginData( + CXnPluginData* pluginData( manager->ActiveViewData().Plugin( &aNode->Node() ) ); + + if ( pluginData ) + { + CXnDomNode* domNode( pluginData->Owner() ); - CXnDomNode* domNode( pluginData.Owner() ); - - if ( domNode ) - { - node = domNode->LayoutNode(); + if ( domNode ) + { + node = domNode->LayoutNode(); + } } } diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnuistatelistener.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnuistatelistener.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnuistatelistener.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -96,6 +96,17 @@ } // ----------------------------------------------------------------------------- +// CXnUiStateListener::PrepareToExit() +// Prepares for application exit +// ----------------------------------------------------------------------------- +// +void CXnUiStateListener::PrepareToExit() + { + iUiStateObservers.Reset(); + iResourceChangeObservers.Reset(); + } + +// ----------------------------------------------------------------------------- // CXnUiStateListener::AddObserver() // Adds MXnUiStateObserver // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -18,6 +18,7 @@ // System includes #include #include +#include // User includes #include "xnappuiadapter.h" @@ -44,14 +45,19 @@ #include "xnviewadapter.h" #include "xnmenu.h" #include "xneditmode.h" +#include "xnrootdata.h" + +#include "debug.h" // Constants const TUid KXmlViewUid = { 1 }; +_LIT8( KActivateDefaultView, "activatedefault" ); // Data types enum { EIsActivated, + EIsFirstActivation, EIsInCall, EIsLightsOn, EIsForeground, @@ -61,6 +67,52 @@ // ============================= LOCAL FUNCTIONS =============================== // ----------------------------------------------------------------------------- +// DetermineStatusPaneLayout +// ----------------------------------------------------------------------------- +// +static TInt DetermineStatusPaneLayout( CXnProperty* aProperty ) + { + TInt spane( KErrNotFound ); + + if ( aProperty ) + { + const TDesC8& value( aProperty->StringValue() ); + + // Currently supported status pane layout + if ( value == XnPropertyNames::view::statuspanelayout::KNone ) + { + spane = R_AVKON_STATUS_PANE_LAYOUT_EMPTY; + } + if ( value == XnPropertyNames::view::statuspanelayout::KBasic ) + { + spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE; + } + else if ( value == XnPropertyNames::view::statuspanelayout::KBasicFlat ) + { + spane = R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT; + } + else if ( value == + XnPropertyNames::view::statuspanelayout::KWideScreen ) + { + spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE; + } + else if ( value == + XnPropertyNames::view::statuspanelayout::KWideScreenFlat ) + { + spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT; + } + else if ( value == + XnPropertyNames::view::statuspanelayout:: + KWideScreenFlat3Softkeys ) + { + spane = R_AVKON_WIDESCREEN_PANE_LAYOUT_IDLE_FLAT_NO_SOFTKEYS; + } + } + + return spane; + } + +// ----------------------------------------------------------------------------- // BuildTriggerL // ----------------------------------------------------------------------------- // @@ -155,7 +207,8 @@ // ----------------------------------------------------------------------------- // CXnViewAdapter::~CXnViewAdapter() - { + { + delete iTimer; delete iActivate; delete iDeactivate; delete iEditState; @@ -187,6 +240,10 @@ { BaseConstructL(); + iTimer = CPeriodic::NewL( CActive::EPriorityIdle ); + + iFlags.Set( EIsFirstActivation ); + // Base class CAknViewAppUi takes ownership of iViewAdapter iAppUiAdapter.AddViewL( this ); iAppUiAdapter.SetDefaultViewL( *this ); @@ -241,21 +298,18 @@ } // ----------------------------------------------------------------------------- -// CXnViewAdapter::PrepareDestroy +// CXnViewAdapter::PrepareToExit // Sets view to be destroyed // ----------------------------------------------------------------------------- // -void CXnViewAdapter::PrepareDestroy() - { - iAppUiAdapter.UiStateListener().RemoveObserver( *this ); - iBgControl->PrepareDestroy(); - - TRAP_IGNORE( DeactivateContainerL() ); - +void CXnViewAdapter::PrepareToExit() + { iAppUiAdapter.RemoveFromStack( iEventDispatcher ); delete iEventDispatcher; iEventDispatcher = NULL; + iAppUiAdapter.UiEngine().SetEventDispatcher( NULL ); + iContainer = NULL; iFlags.Set( EIsDestructionRunning ); @@ -318,12 +372,15 @@ // void CXnViewAdapter::DoActivateL( const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) + const TDesC8& aCustomMessage ) { if ( iFlags.IsSet( EIsDestructionRunning ) ) { return; } + + __TICK( "CXnViewAdapter::DoActivateL" ); + __TIME_MARK( time ); iFlags.Set( EIsActivated ); @@ -342,9 +399,83 @@ iBgControl->MakeVisible( ETrue ); 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 ) + { + CEikStatusPane* sp( iAppUiAdapter.StatusPane() ); + + if ( sp && sp->CurrentLayoutResId() != spane ) + { + sp->SwitchLayoutL( spane ); + sp->ApplyCurrentSettingsL(); + } + } + + if ( iFlags.IsSet( EIsFirstActivation ) ) + { + // Set the active container + ActivateContainerL( iAppUiAdapter.ViewManager().ActiveViewData() ); + + __TICK( "CXnViewAdapter::DoActivateL - Calling UiActivated" ); + __TIME_MARK( time2 ); - // Set the active container - ActivateContainerL( iAppUiAdapter.ViewManager().ActiveViewData() ); + iFlags.Clear( EIsFirstActivation ); + + iAppUiAdapter.UiActivated(); + + __TIME_ENDMARK( "CXnViewAdapter::DoActivateL - Calling UiActivated", time ); + } + else + { + // Set the active container + if ( aCustomMessage == KActivateDefaultView ) + { + __PRINTS( "*** CXnViewAdapter::DoActivateL - activating default container" ); + + ActivateDefaultContainerL(); + + iTimer->Cancel(); + iTimer->Start( 1000, 1000, TCallBack( TimerCallback, this ) ); + } + else + { + __PRINTS( "*** CXnViewAdapter::DoActivateL - activating container" ); + + ActivateContainerL( viewData ); + } + } + + __TIME_ENDMARK( "CXnViewAdapter::DoActivateL, done", time ); + + __TICK( "CXnViewAdapter::DoActivateL - HS UI Ready" ); + } + +// ----------------------------------------------------------------------------- +// CXnViewAdapter::TimerCallback +// +// ----------------------------------------------------------------------------- +// +TInt CXnViewAdapter::TimerCallback( TAny *aPtr ) + { + __PRINTS( "*** CXnViewAdapter::TimerCallback" ); + + CXnViewAdapter* self = reinterpret_cast< CXnViewAdapter* >( aPtr ); + self->iTimer->Cancel(); + + self->iCoeEnv->WsSession().SetWindowGroupOrdinalPosition( + self->iCoeEnv->RootWin().Identifier(), 0 ); + + __PRINTS( "*** CXnViewAdapter::TimerCallback, done" ); + + return KErrNone; } // ----------------------------------------------------------------------------- @@ -359,6 +490,9 @@ return; } + __PRINTS( "*** CXnViewAdapter::DoDeactivate" ); + __TIME_MARK( time ); + iAppUiAdapter.RemoveFromStack( iEventDispatcher ); TRAP_IGNORE( DeactivateContainerL() ); @@ -369,6 +503,8 @@ iFocusControl->MakeVisible( EFalse ); iFlags.Clear( EIsActivated ); + + __TIME_ENDMARK( "CXnViewAdapter::DoDeactivate, done", time ); } // ----------------------------------------------------------------------------- @@ -379,7 +515,7 @@ void CXnViewAdapter::ActivateContainerL( CXnViewData& aContainer, TBool aEnterEditState ) { - if ( iContainer == &aContainer ) + if ( iContainer == &aContainer || iFlags.IsSet( EIsDestructionRunning ) ) { return; } @@ -422,31 +558,15 @@ iAppUiAdapter.ViewManager().NotifyContainerChangedL( aContainer ); - if ( !iEditState ) - { - iEditState = BuildEditStateTriggerL( iAppUiAdapter.UiEngine() ); - } - - CXnProperty* prop( iEditState->GetPropertyL( - XnPropertyNames::action::KValue ) ); - if ( aEnterEditState || iAppUiAdapter.UiEngine().IsEditMode() ) { - static_cast< CXnDomPropertyValue* >( - prop->Property()->PropertyValueList().Item( 0 ) ) - ->SetStringValueL( CXnDomPropertyValue::EString, - XnPropertyNames::action::trigger::name::editmode::KEnter() ); + EnterEditStateL( aContainer, ETrue ); } else { - static_cast< CXnDomPropertyValue* >( - prop->Property()->PropertyValueList().Item( 0 ) ) - ->SetStringValueL( CXnDomPropertyValue::EString, - XnPropertyNames::action::trigger::name::editmode::KExit() ); + EnterEditStateL( aContainer, EFalse ); } - node->ReportXuikonEventL( *iEditState ); - CXnControlAdapter* adapter( node->Control() ); iBgControl->SetCompoundControl( adapter ); @@ -457,17 +577,90 @@ } // ----------------------------------------------------------------------------- +// CXnViewAdapter::ActivateDefaultContainerL +// Activates default container +// ----------------------------------------------------------------------------- +// +void CXnViewAdapter::ActivateDefaultContainerL( TBool aEnterEditState ) + { + CXnRootData& rootData( iAppUiAdapter.ViewManager().ActiveAppData() ); + + RPointerArray< CXnPluginData >& views( rootData.PluginData() ); + + if ( !views.Count() ) + { + return; + } + + // Deactivate container even though it hasn't changed to close all popups + // and other windows + DeactivateContainerL(); + + // first view is default + CXnViewData* viewData = static_cast( views[0] ); + + if ( viewData ) + { + EnterEditStateL( *viewData, aEnterEditState ); + ActivateContainerL( *viewData, aEnterEditState ); + } + } + +// ----------------------------------------------------------------------------- +// CXnViewAdapter::EnterEditStateL +// Sets edit state property +// ----------------------------------------------------------------------------- +// +void CXnViewAdapter::EnterEditStateL( CXnViewData& aView, TBool aEnter ) + { + if ( !iEditState ) + { + iEditState = BuildEditStateTriggerL( iAppUiAdapter.UiEngine() ); + } + + CXnProperty* prop( iEditState->GetPropertyL( + XnPropertyNames::action::KValue ) ); + + if ( !prop ) + { + return; + } + + if ( aEnter ) + { + static_cast< CXnDomPropertyValue* >( + prop->Property()->PropertyValueList().Item( 0 ) ) + ->SetStringValueL( CXnDomPropertyValue::EString, + XnPropertyNames::action::trigger::name::editmode::KEnter() ); + } + else + { + static_cast< CXnDomPropertyValue* >( + prop->Property()->PropertyValueList().Item( 0 ) ) + ->SetStringValueL( CXnDomPropertyValue::EString, + XnPropertyNames::action::trigger::name::editmode::KExit() ); + } + + if ( aView.Node() && aView.Node()->LayoutNode() ) + { + aView.Node()->LayoutNode()->ReportXuikonEventL( *iEditState ); + } + } + +// ----------------------------------------------------------------------------- // CXnViewAdapter::DeactivateContainerL // Deactivates current container // ----------------------------------------------------------------------------- // void CXnViewAdapter::DeactivateContainerL() { - if ( !iContainer ) + if ( !iContainer || iFlags.IsSet( EIsDestructionRunning ) ) { return; } + CloseAllPopupsL(); + // Run controls to powersave mode ChangeControlsStateL( EFalse ); @@ -678,5 +871,38 @@ } } +// ----------------------------------------------------------------------------- +// CXnViewAdapter::CloseAllPopupsL() +// +// ----------------------------------------------------------------------------- +// +void CXnViewAdapter::CloseAllPopupsL() + { + if ( !iContainer ) + { + return; + } + + RPointerArray< CXnNode > popups; + CleanupClosePushL( popups ); + + iContainer->PopupNodesL( popups ); + + for ( TInt i = 0; i < popups.Count(); i++ ) + { + CXnProperty* display = CXnProperty::NewL( + XnPropertyNames::style::common::KDisplay, + XnPropertyNames::style::common::display::KNone, + CXnDomPropertyValue::EString, + *iAppUiAdapter.UiEngine().ODT()->DomDocument().StringPool() ); + + CleanupStack::PushL( display ); + popups[i]->SetPropertyL(display); + CleanupStack::Pop( display ); + } + + CleanupStack::PopAndDestroy( &popups ); + } + // End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -31,8 +31,10 @@ #include "xnoomsyshandler.h" #include "xnpanic.h" +#include "debug.h" + // Constants -_LIT8( KLockingStatusLocked, "locked" ); +const TInt KInterval( 10000 ); // ============================ LOCAL FUNCTIONS ================================ @@ -213,14 +215,16 @@ // Finds plugin or view data based on node // ----------------------------------------------------------------------------- // -CXnPluginData& CXnViewData::Plugin( CXnNode* aNode ) - { +CXnPluginData* CXnViewData::Plugin( CXnNode* aNode ) + { + if ( !aNode ) { return NULL; } + if ( aNode->ViewNodeImpl() ) { // Reached view, return self if ( Node()->LayoutNode() == aNode ) { - return *this; + return this; } } @@ -228,7 +232,7 @@ { if ( iPluginsData[i]->Owner()->LayoutNode() == aNode ) { - return *iPluginsData[i]; + return iPluginsData[i]; } } @@ -381,6 +385,23 @@ } // ----------------------------------------------------------------------------- +// CXnViewData::PopupNodesL() +// Gets this view data's popup nodes +// ----------------------------------------------------------------------------- +// +void CXnViewData::PopupNodesL( RPointerArray< CXnNode >& aList ) const + { + // Get my Popup nodes + CXnPluginData::PopupNodesL( aList ); + + for ( TInt i = 0; i < iPluginsData.Count(); i++ ) + { + // And Popup nodes which my plugin holds + iPluginsData[i]->PopupNodesL( aList ); + } + } + +// ----------------------------------------------------------------------------- // CXnViewData::InitialFocusNodesL() // Gets this view data's initial focus nodes // ----------------------------------------------------------------------------- @@ -444,9 +465,9 @@ iLoader->Cancel(); iLoadIndex = 0; - - iLoader->Start( TTimeIntervalMicroSeconds32( 50 ), - TTimeIntervalMicroSeconds32( 50 ), + + iLoader->Start( TTimeIntervalMicroSeconds32( KInterval ), + TTimeIntervalMicroSeconds32( KInterval ), TCallBack( DoLoadPublishersL, this ) ); } @@ -457,6 +478,8 @@ // /* static */ TInt CXnViewData::DoLoadPublishersL( TAny* aAny ) { + __PRINTS( "*** CXnViewData::DoLoadPublishersL" ); + CXnViewData* self = static_cast< CXnViewData* >( aAny ); RPointerArray< CXnPluginData >& plugins( self->PluginData() ); @@ -512,9 +535,11 @@ { self->ShowContentRemovedError(); self->iShowContentRemoved = EFalse; - } + } } + __PRINTS( "*** CXnViewData::DoLoadPublishersL - done" ); + return KErrNone; } @@ -525,6 +550,8 @@ // void CXnViewData::DestroyPublishers( TInt aReason ) { + __PRINTS( "*** CXnViewData::DestroyPublishers" ); + if ( Occupied() ) { // If not all plugins loaded yet @@ -534,6 +561,8 @@ User::Heap().Compress(); } + + __PRINTS( "*** CXnViewData::DestroyPublishers - done" ); } // ----------------------------------------------------------------------------- @@ -543,6 +572,8 @@ // void CXnViewData::DoDestroyPublishersL( TInt aReason ) { + __TIME_MARK( time ); + // Create list of data plugins to be removed RPointerArray< CXnNode > publishers; CleanupClosePushL( publishers ); @@ -556,25 +587,9 @@ publishers[i]->AppIfL(), aReason ); } - CleanupStack::PopAndDestroy( &publishers ); - } - -// ----------------------------------------------------------------------------- -// CXnViewData::SetLockingStatus -// Sets view's locking_status attribute ("locked"/"none") -// ----------------------------------------------------------------------------- -// -void CXnViewData::SetLockingStatus( const TDesC8& aLockingStatusString ) - { - if( ( aLockingStatusString != KNullDesC8 ) && - ( aLockingStatusString.Match( KLockingStatusLocked ) == 0 ) ) - { - iFlags.Clear( EIsRemovable ); - } - else - { - iFlags.Set( EIsRemovable ); - } + CleanupStack::PopAndDestroy( &publishers ); + + __TIME_ENDMARK( "CXnViewData::DoDestroyPublishersL, done", time ); } // End of file diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -16,6 +16,7 @@ */ // System includes +#include #include #include #include @@ -23,6 +24,7 @@ #include #include #include +#include // User includes #include "xnapplication.h" @@ -60,6 +62,7 @@ const TInt KPSCrashCountKey = 1; const TInt KStabilityInterval = 60000000; // 1 minute const TInt KCrashRestoreThreshold = 3; + // ============================ LOCAL FUNCTIONS =============================== // ----------------------------------------------------------------------------- // BuildTriggerL @@ -272,6 +275,8 @@ // CXnViewManager::~CXnViewManager() { + delete iUiStartupPhase; + if( iStabilityTimer ) { iStabilityTimer->Cancel(); @@ -301,12 +306,28 @@ } // ----------------------------------------------------------------------------- +// CXnViewManager::PropertyChangedL() +// +// ----------------------------------------------------------------------------- +// +void CXnViewManager::PropertyChangedL( const TUint32 aKey, const TInt aValue ) + { + if ( aKey == KPSStartupUiPhase && aValue == EStartupUiPhaseAllDone ) + { + if ( iRootData ) + { + iRootData->LoadRemainingViews(); + } + } + } + +// ----------------------------------------------------------------------------- // CXnViewManager::ConstructL() // 2nd phase constructor // ----------------------------------------------------------------------------- // void CXnViewManager::ConstructL() - { + { iOomSysHandler = CXnOomSysHandler::NewL(); // Create resource list @@ -364,6 +385,13 @@ iRootData->Load(); CleanupStack::PopAndDestroy(); // DisableRenderUiLC(); + + // Determine UI startup phase + delete iUiStartupPhase; + iUiStartupPhase = NULL; + + iUiStartupPhase = CXnPropertySubscriber::NewL( + KPSUidStartup, KPSStartupUiPhase, *this ); } // ----------------------------------------------------------------------------- @@ -404,7 +432,7 @@ // CXnViewManager::LoadWidgetToPluginL() // ----------------------------------------------------------------------------- // -TInt CXnViewManager::LoadWidgetToPluginL( CHsContentInfo& aContentInfo, +TInt CXnViewManager::LoadWidgetToPluginL( const CHsContentInfo& aContentInfo, CXnPluginData& aPluginData ) { // Plugin must not have widget when about to add @@ -494,10 +522,18 @@ TInt CXnViewManager::UnloadWidgetFromPluginL( CXnPluginData& aPluginData, TBool aForce ) { - if ( !aForce && !aPluginData.Occupied() ) + if ( !aForce ) { - // Plugin must have widget when about to remove - return KErrNotFound; + if( !aPluginData.Occupied() ) + { + // Plugin must have widget when about to remove + return KErrNotFound; + } + if ( !aPluginData.Removable() ) + { + // Not allowed to remove locked + return KErrArgument; + } } CXnViewData& viewData( @@ -566,18 +602,13 @@ // CXnViewManager::ReplaceWidgetToPluginL // ----------------------------------------------------------------------------- // -TInt CXnViewManager::ReplaceWidgetToPluginL( CHsContentInfo& aContentInfo, - CXnPluginData& aPluginData, TBool aUseHsps ) +TInt CXnViewManager::ReplaceWidgetToPluginL( const CHsContentInfo& aContentInfo, + CXnPluginData& aPluginData ) { TInt retval( KErrNone ); - // if aUseHsps is false, the plugin was already replaced by - // another process - if( aUseHsps ) - { - retval = iHspsWrapper->ReplacePluginL( aPluginData.PluginId(), + retval = iHspsWrapper->ReplacePluginL( aPluginData.PluginId(), aContentInfo.Uid() ); - } if ( retval == KErrNone ) { @@ -745,6 +776,41 @@ } // ----------------------------------------------------------------------------- +// CXnViewManager::PluginDataL() +// Returns list of plugins from all views or from the defined view +// ----------------------------------------------------------------------------- +// +TInt CXnViewManager::PluginDataL( const TDesC8& aViewId, + RPointerArray< CXnPluginData >& aList ) const + { + TInt err( KErrNone ); + TBool found( EFalse ); + + RPointerArray< CXnPluginData >& views( iRootData->PluginData() ); + + for ( TInt i = 0; i < views.Count(); i++ ) + { + if ( !aViewId.Length() || views[i]->PluginId().Compare( aViewId ) == 0 ) + { + found = ETrue; + RPointerArray< CXnPluginData >& plugins( views[i]->PluginData() ); + + for ( TInt j = 0; j < plugins.Count(); j++ ) + { + aList.AppendL( plugins[ j ] ); + } + } + } + if ( !found ) + { + // View not found + err = KErrArgument; + } + + return err; + } + +// ----------------------------------------------------------------------------- // CXnViewManager::Resources() // Finds the resources from the active view data // ----------------------------------------------------------------------------- @@ -894,7 +960,7 @@ // Adds a new view based on info // ----------------------------------------------------------------------------- // -TInt CXnViewManager::AddViewL( CHsContentInfo& aInfo ) +TInt CXnViewManager::AddViewL( const CHsContentInfo& aInfo ) { if ( iRootData->PluginData().Count() >= iRootData->MaxPages() ) { @@ -1080,11 +1146,14 @@ { if ( !view->Removable() ) { - return retval; + return KErrArgument; } if ( view->Active() ) { + // Destroy publishers here, must be plugin shutdown + view->DestroyPublishers( EAiFwPluginShutdown ); + // Activate the next view, or first if in the last view CXnViewData& next( NextViewData() ); iAppUiAdapter.ViewAdapter().ActivateContainerL( next ); @@ -1155,10 +1224,13 @@ next.Load(); } + CXnViewData* view( static_cast< CXnViewData* >( views[ index ] ) ); + + // Destroy publishers here, must be plugin shutdown + view->DestroyPublishers( EAiFwPluginShutdown ); + iAppUiAdapter.ViewAdapter().ActivateContainerL( next ); - - CXnViewData* view( static_cast< CXnViewData* >( views[ index ] ) ); - + // Remove wallpaper from cache iAppUiAdapter.ViewAdapter().BgManager().DeleteWallpaper( *view ); @@ -1214,7 +1286,7 @@ return KErrArgument; } - if ( iRootData->PluginUid().Compare( aPluginUid ) == 0 ) + if ( iRootData->PluginUid().CompareF( aPluginUid ) == 0 ) { // Nothing to do return KErrNone; @@ -1327,9 +1399,6 @@ // Cache update is needed after view activation UpdateCachesL(); - - // Schedule remainngs views load - iRootData->LoadRemainingViews(); } NotifyViewActivatedL( aViewToActivate ); diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp --- a/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -46,6 +46,9 @@ #include "xnviewdata.h" #include "xnplugindata.h" +#include +#include + // Constants _LIT8( KPopup, "popup" ); _LIT8( KPositionHint, "_s60-position-hint" ); @@ -81,8 +84,12 @@ { if ( iAppUiAdapter ) { - iAppUiAdapter->UiStateListener().RemoveObserver( *this ); + iAppUiAdapter->UiStateListener().RemoveObserver( + *( static_cast< MXnUiStateObserver* >( this ) ) ); + iAppUiAdapter->UiStateListener().RemoveObserver( + *( static_cast< MXnUiResourceChangeObserver* >( this ) ) ); } + GfxTransEffect::Deregister( this ); } // ----------------------------------------------------------------------------- @@ -112,10 +119,14 @@ // we have to decide which one of them is the recent one CXnType* typeInfo = iNode.Node().Type(); + User::LeaveIfNull( typeInfo ); const TDesC8& type = typeInfo->Type(); + + iPermanent = EFalse; if ( type == KPopup ) { + iPopup = ETrue; CXnProperty* prop( iNode.Node().GetPropertyL( XnPropertyNames::popup::KPopupType ) ); @@ -136,7 +147,9 @@ iUiEngine = iNode.Node().UiEngine(); CXnControlAdapter::ConstructL( iNode ); - EnableDragEvents(); + EnableDragEvents(); + + GfxTransEffect::Register( this, KGfxPreviewPopupControlUid ); } // ----------------------------------------------------------------------------- @@ -145,46 +158,48 @@ // ----------------------------------------------------------------------------- // void CXnWidgetExtensionAdapter::MakeVisible( TBool aVisible ) - { - TBool visible( IsVisible() ? ETrue : EFalse ); + { + if ( IsVisible() == aVisible ) + { + return; + } - if ( visible == aVisible ) + CXnPluginData* plugin( + iAppUiAdapter->ViewManager().ActiveViewData().Plugin( &iNode.Node() ) ); + + if ( !plugin ) { return; } SetPointerCapture( aVisible ); - - CXnPluginData& plugin( - iAppUiAdapter->ViewManager().ActiveViewData().Plugin( &iNode.Node() ) ); - plugin.SetIsDisplayingPopup( aVisible, &iNode.Node() ); + plugin->SetIsDisplayingPopup( aVisible, &iNode.Node() ); - CXnType* typeInfo = iNode.Node().Type(); - const TDesC8& type = typeInfo->Type(); - - TBool popup( type == KPopup ); - - if ( !popup ) + if ( !iPopup ) { DrawableWindow()->FadeBehind( aVisible ); } - else + + if ( !iPermanent ) { - if ( !iPermanent ) + if ( aVisible ) { - if ( aVisible ) - { - iAppUiAdapter->UiStateListener().AddObserver( *this ); - } - else - { - iAppUiAdapter->UiStateListener().RemoveObserver( *this ); - } + iAppUiAdapter->UiStateListener().AddObserver( + *( static_cast< MXnUiStateObserver* >( this ) ) ); + iAppUiAdapter->UiStateListener().AddObserver( + *( static_cast< MXnUiResourceChangeObserver* >( this ) ) ); + } + else + { + iAppUiAdapter->UiStateListener().RemoveObserver( + *( static_cast< MXnUiStateObserver* >( this ) ) ); + iAppUiAdapter->UiStateListener().RemoveObserver( + *( static_cast< MXnUiResourceChangeObserver* >( this ) ) ); } } - if ( aVisible && popup ) + if ( aVisible && iPopup ) { // read position-hint property and set-up its variable CXnProperty* positionHintProp = NULL; @@ -240,7 +255,27 @@ } } - CCoeControl::MakeVisible( aVisible ); + TBool effectStarted = EFalse; + if ( iAppUiAdapter->IsForeground() ) + { + if ( aVisible ) + { + GfxTransEffect::Begin( this, KGfxControlAppearAction ); + } + else + { + GfxTransEffect::Begin( this, KGfxControlDisappearAction ); + } + effectStarted = ETrue; + } + + CCoeControl::MakeVisible( aVisible ); + + if ( effectStarted ) + { + GfxTransEffect::SetDemarcation( this, iPosition ); + GfxTransEffect::End( this ); + } } // ----------------------------------------------------------------------------- @@ -250,14 +285,12 @@ // void CXnWidgetExtensionAdapter::HandlePointerEventL( const TPointerEvent& aPointerEvent ) - { - CXnType* typeInfo = iNode.Node().Type(); - const TDesC8& type = typeInfo->Type(); + { // in case of popup, we have to make sure that // it will be closed after tapping outside of the // area of itself and its parent - if ( type == KPopup ) + if ( iPopup ) { // check if the tap was inside of popup TRect popupRect = this->Rect(); @@ -555,10 +588,17 @@ void CXnWidgetExtensionAdapter::NotifyForegroundChanged( TForegroundStatus aStatus ) { - if ( aStatus != EForeground ) + if ( iPopup && aStatus != EForeground ) { TRAP_IGNORE( HidePopupL() ); - } + } + else if ( !iPopup && aStatus == EForeground ) + { + if ( !DrawableWindow()->IsFaded() ) + { + DrawableWindow()->FadeBehind( ETrue ); + } + } } // ----------------------------------------------------------------------------- @@ -605,4 +645,32 @@ } } +// ----------------------------------------------------------------------------- +// CXnWidgetExtensionAdapter::NotifyStatusPaneSizeChanged +// +// ----------------------------------------------------------------------------- +// +void CXnWidgetExtensionAdapter::NotifyStatusPaneSizeChanged() + { + } + +// ----------------------------------------------------------------------------- +// CXnWidgetExtensionAdapter::NotifyResourceChanged +// +// ----------------------------------------------------------------------------- +// +void CXnWidgetExtensionAdapter::NotifyResourceChanged( TInt aType ) + { + + // if type is widget extension and fade has changed + // we have to always fade main window + if ( !iPopup && aType == KEikMessageWindowsFadeChange ) + { + if ( !DrawableWindow()->IsFaded() ) + { + DrawableWindow()->FadeBehind( ETrue ); + } + } + } + // End of File diff -r f966699dea19 -r ff572dfe6d86 menufw/menufwui/matrixmenu/group/matrixmenu.mmp --- a/menufw/menufwui/matrixmenu/group/matrixmenu.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/menufw/menufwui/matrixmenu/group/matrixmenu.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -21,8 +21,6 @@ #include #include "../inc/mmguiuid.hrh" -epocheapsize 1800000 4500000 - TARGET matrixmenu.exe TARGETTYPE exe UID 0x100039CE _MATRIX_UID3 @@ -88,6 +86,7 @@ LIBRARY aknskins.lib LIBRARY aknskinsrv.lib LIBRARY aknswallpaperutils.lib +LIBRARY MemMan.lib #ifdef _MATRIX_MENU_TRACE_PERFORMANCE LIBRARY flogger.lib diff -r f966699dea19 -r ff572dfe6d86 menufw/menufwui/matrixmenu/src/mmgui.cpp --- a/menufw/menufwui/matrixmenu/src/mmgui.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/menufw/menufwui/matrixmenu/src/mmgui.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -17,6 +17,7 @@ // INCLUDE FILES +#include #include #include "mmapplication.h" @@ -37,5 +38,8 @@ // GLDEF_C TInt E32Main() { - return EikStart::RunApplication( NewApplication ); + RAllocator* iAllocator = MemoryManager::SwitchToFastAllocator(); + TInt err = EikStart::RunApplication( NewApplication ); + MemoryManager::CloseFastAllocator(iAllocator); + return err; } diff -r f966699dea19 -r ff572dfe6d86 menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp --- a/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -12,7 +12,7 @@ * Contributors: * * Description: -* Version : %version: MM_71.1.17.1.55 % << Don't touch! Updated by Synergy at check-out. +* Version : %version: MM_71.1.17.1.56 % << Don't touch! Updated by Synergy at check-out. * */ @@ -233,7 +233,12 @@ templateLibrary->CleanAndClearCache(); } + TBool highlightVisibleBefore = iWidget->IsVisible() && IsHighlightVisible(); CCoeControl::HandleResourceChange( aType ); + if ( highlightVisibleBefore ) + { + SetHighlightVisibilityL( ETrue ); + } if ( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() ) { @@ -1185,6 +1190,8 @@ numberOfItemsBefore = GetMmModel()->NumberOfItems(); GetMmModel()->SetSuiteModelL( aModel ); + + TBool highlightVisibleBefore = iWidget->IsVisible() && IsHighlightVisible(); // This needs to be in place (disabling redraw) // to udpate widget internal state, however to wait for @@ -1203,6 +1210,11 @@ SetupWidgetLayoutL(); } iWidget->MakeVisible(ETrue); + + if ( highlightVisibleBefore ) + { + SetHighlightVisibilityL( ETrue ); + } Widget()->View()->ItemDrawer()->ClearFlags( CListItemDrawer::EPressedDownState ); diff -r f966699dea19 -r ff572dfe6d86 menufw/menusuites/foldersuite/data/matrixmenudata.xml --- a/menufw/menusuites/foldersuite/data/matrixmenudata.xml Fri Feb 19 22:42:37 2010 +0200 +++ b/menufw/menusuites/foldersuite/data/matrixmenudata.xml Fri Mar 12 15:41:49 2010 +0200 @@ -18,7 +18,7 @@ - + - + @@ -141,15 +141,15 @@ icon_file="aimcsplugin.mif" icon_id="16388" mask_id="16389" - icon_skin_minor_id="" - icon_skin_major_id="" + icon_skin_minor_id="0x2058" + icon_skin_major_id="0x101F86E3" param="messaging:seltype"/> @@ -159,24 +159,24 @@ icon_file="aimcsplugin.mif" icon_id="16390" mask_id="16391" - icon_skin_minor_id="" - icon_skin_major_id="" + icon_skin_minor_id="0x205a" + icon_skin_major_id="0x101F86E3" param="messaging:syncmlmail"/> @@ -217,6 +217,8 @@ + + diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h --- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/inc/previewmsg.h Fri Mar 12 15:41:49 2010 +0200 @@ -38,7 +38,9 @@ // From PreviewProvider ECOM plugin to PreviewProviderClient. EPreviewReady, EAckPreviewReady, - EUnregisterReady + EUnregisterReady, + EBitmapRotationNeeded90, + EBitmapRotationNeeded270 }; } diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h --- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspreviewobserver.h Fri Mar 12 15:41:49 2010 +0200 @@ -51,7 +51,17 @@ * * @param aWgId Window group id of the application. */ - virtual void HandleFswPpApplicationUnregistered( TInt aWgId ) = 0; + virtual void HandleFswPpApplicationUnregistered( TInt aWgId ) = 0; + + /** + * Called when screenshot for the application needs rotation. Client should + * rotate bitmap for the given aWgId by 90 degrees, otherwise it will be + * displayed incorrectly. + * + * @param aWgId Window group id of the application + * @param aClockwise marks direction of the rotation (ETrue - clockwise, EFalse - counter clockwise) + */ + virtual void HandleFswPpApplicationBitmapRotation( TInt aWgId, TBool aClockwise ) = 0; }; #endif // TSPREVIEWOBSERVER_H diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h --- a/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/inc/tspropertylistener.h Fri Mar 12 15:41:49 2010 +0200 @@ -30,7 +30,9 @@ { EOperationNone, EOperationUnregister, - EOperationBitmapUpdated + EOperationBitmapUpdated, + EOperationBitmapRotation90, + EOperationBitmapRotation270 }; /** diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp --- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/src/tspreviewproviderclient.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -205,6 +205,20 @@ SetProperties( handle, id, EOperationUnregister ); } break; + case NPreviewMsg::EBitmapRotationNeeded90: + { + const TInt id = in.ReadInt32L(); + const TInt handle = in.ReadInt32L(); + SetProperties( handle, id, EOperationBitmapRotation90 ); + } + break; + case NPreviewMsg::EBitmapRotationNeeded270: + { + const TInt id = in.ReadInt32L(); + const TInt handle = in.ReadInt32L(); + SetProperties( handle, id, EOperationBitmapRotation270 ); + } + break; } TSLOG_OUT(); diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp --- a/taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/src/tspropertylistener.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -69,6 +69,16 @@ iObs.HandleFswPpApplicationChange( iWgId, iFbsBitmapId ); break; } + case EOperationBitmapRotation90: + { + iObs.HandleFswPpApplicationBitmapRotation( iWgId, ETrue ); + break; + } + case EOperationBitmapRotation270: + { + iObs.HandleFswPpApplicationBitmapRotation( iWgId, EFalse ); + break; + } default: break; } diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h --- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/inc/previewprovidercrp.h Fri Mar 12 15:41:49 2010 +0200 @@ -152,6 +152,11 @@ void UnregisterComplete( TInt aWgId ); /** + * Notifies the PreviewProviderClient that specific bitmap needs rotation. + */ + void BitmapRotationNeeded( TInt aWgId, TBool aClockwise ); + + /** * Uses window server front buffer to create a screenshot. * @param aFront preallocated destination bitmap * @param aFront Front buffer. @@ -171,6 +176,8 @@ TSize iScreenshotSize; TDisplayMode iScreenshotMode; RArray iWgIds; + TTime iScreenChangedTime; // fix for orientation changed/wg group changed problem + TBool iClockwiseRot; // for marking rotation direction }; #endif // PREVIEWPROVIDERCRP_H diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp --- a/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswpreviewprovider/wsplugin/src/previewprovidercrp.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -33,6 +33,7 @@ // CONSTANTS const TInt KImpId( 0x20016BEC ); +const TInt KMinTimeForOrientationSwitch = 1; // 1 second // -------------------------------------------------------------------------- // CPreviewProviderCRP::CreateL @@ -145,7 +146,9 @@ TSLOG_IN(); BaseConstructL( aEnv, aId, aOwner ); - aEnv.RegisterEventHandler( this, this, TWservCrEvent::EWindowGroupChanged ); + aEnv.RegisterEventHandler( this, this, TWservCrEvent::EWindowGroupChanged | + TWservCrEvent::EDeviceOrientationChanged ); + iScreenChangedTime = 0; TSLOG_OUT(); } @@ -165,11 +168,30 @@ if ( iWgIds.FindInOrder( iPrevId ) >= 0 || ( iPrevId == 0 && iPrevReg != 0 ) ) { - TRAP_IGNORE( ScreenshotL() ); + TTime currTime; + currTime.HomeTime(); + TTimeIntervalSeconds secondsFrom; + TInt err = currTime.SecondsFrom( iScreenChangedTime, secondsFrom ); + if ( err != KErrNone || secondsFrom.Int() > KMinTimeForOrientationSwitch ) + { + TRAP_IGNORE( ScreenshotL() ); + } + else + { + // Reset time to allow screenshot taking on next wg change + iScreenChangedTime = 0; + // Order screenshot rotation + BitmapRotationNeeded( iPrevId?iPrevId:iPrevReg, iClockwiseRot ); + } iPrevReg = 0; } iPrevId = wgId; } + else if ( aEvent.Type() == TWservCrEvent::EDeviceOrientationChanged ) + { + iScreenChangedTime.HomeTime(); + TRAP_IGNORE( ScreenshotL() ); + } TSLOG_OUT(); } @@ -217,6 +239,28 @@ TSLOG_OUT(); } + +// -------------------------------------------------------------------------- +// CPreviewProviderCRP::BitmapRotationNeeded +// -------------------------------------------------------------------------- +// +void CPreviewProviderCRP::BitmapRotationNeeded( TInt aWgId, TBool aClockwise ) + { + TSLOG_CONTEXT( BitmapRotationNeeded, TSLOG_LOCAL ); + TSLOG_IN(); + + const TInt msg[] = { + aClockwise ? NPreviewMsg::EBitmapRotationNeeded90 : NPreviewMsg::EBitmapRotationNeeded270, + aWgId, + 0 + }; + TPckgC buf(msg); + SendMessage(buf); + + TSLOG_OUT(); + } + + // -------------------------------------------------------------------------- // CPreviewProviderCRP::Register // -------------------------------------------------------------------------- @@ -300,6 +344,10 @@ { iScreenshotSize = sz; } + + // Mark direction for possible rotation + iClockwiseRot = iScreenshotSize.iWidth > iScreenshotSize.iHeight; + // Use the the same DisplayMode as for the source image // so override the display mode, ignoring any requests. iScreenshotMode = screenConfig->DisplayMode(); diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp --- a/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp Fri Mar 12 15:41:49 2010 +0200 @@ -50,6 +50,7 @@ LIBRARY egul.lib LIBRARY widgetregistryclient.lib LIBRARY featmgr.lib +LIBRARY bitmaptransforms.lib LIBRARY tspreviewprovider.lib LIBRARY tsfswutils.lib diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h --- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h Fri Mar 12 15:41:49 2010 +0200 @@ -39,6 +39,8 @@ class CTsFswIconCache; class CTsFastSwapPreviewProvider; class CApaWindowGroupName; +class CBitmapRotator; +class CTsRotationTask; // descriptor big enough to store hex repr of 32-bit integer plus 0x prefix typedef TBuf<10> TAppUidHexString; @@ -104,6 +106,15 @@ */ IMPORT_C TUid ForegroundAppUidL( TInt aType ); + /** + * Callback for rotation completion. Takes ownership of a given + * bitmap. + */ + void RotationComplete( TInt aWgId, + CFbsBitmap* aBitmap, + CTsRotationTask* aCompletedTask, + TInt aError ); + private: // from CActive void RunL(); @@ -122,6 +133,9 @@ // from MTsFastSwapPreviewObserver void HandleFswPpApplicationChange( TInt aWgId, TInt aFbsHandle ); void HandleFswPpApplicationUnregistered( TInt aWgId ); + void HandleFswPpApplicationBitmapRotation( TInt aWgId, TBool aClockwise ); + + void RotateL( CFbsBitmap& aBitmap, TInt aWgId, TBool aClockwise ); private: /** @@ -271,11 +285,10 @@ void PublishFgAppUidL(); /** - * Helper function to publish something to CFW. - * @param aType context type - * @param aValue value to publish + * Close running widget + * @param aOffset - widget info offset */ - //void PublishContextL( const TDesC& aType, const TDesC& aValue ); + void CloseWidgetL(TInt aOffset); private: // data MTsFswEngineObserver& iObserver; @@ -316,8 +329,6 @@ // true if web widgets are supported by the system TBool iWidgetsSupported; - // wgid of widget appui is saved here - TInt iWidgetAppUiWgId; // PS property to listen for swi status changes RProperty iSwiProp; @@ -338,6 +349,30 @@ TAppUidHexString iFgAppUidStr; TUid iFgAppUid; + // For rotating bitmaps + RPointerArray iRotaTasks; + }; + + +/** + * Listener for rotation complete event + */ +NONSHARABLE_CLASS( CTsRotationTask ) : public CActive + { +public: + CTsRotationTask( CTsFswEngine& aEngine ); + ~CTsRotationTask(); + void StartLD( TInt aWgId, + CFbsBitmap* aBitmapHandle, + TBool aClockwise ); +private: + void RunL(); + void DoCancel(); +private: // Data + CTsFswEngine& iEngine; + TInt iWgId; + CFbsBitmap* iBitmap; // owned for the duration of transformation + CBitmapRotator* iRotator; // owned }; #endif diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h --- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h Fri Mar 12 15:41:49 2010 +0200 @@ -22,8 +22,12 @@ #include #include +_LIT(KWidgetAppName, "widgetlauncher.exe"); + const TUint32 KWidgetAppUidValue = 0x10282822; +const TInt KCloseWidgetCmd(2); + /** * class handling the list of running wrt widgets */ diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp --- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -29,7 +29,8 @@ #include // for CleanupResetAndDestroyPushL #include #include - +#include +#include #include "enginelogging.h" // time to wait before refreshing content @@ -148,6 +149,12 @@ iAppArcSession.Close(); iWsSession.Close(); + for ( TInt i = 0; i < iRotaTasks.Count(); i++ ) + { + iRotaTasks[i]->Cancel(); + delete iRotaTasks[i]; + } + iRotaTasks.Close(); // delete iContextUtility; } @@ -206,36 +213,12 @@ TSLOG_CONTEXT( CloseAppL, TSLOG_LOCAL ); TSLOG1_IN( "aWgId = %d", aWgId ); - if ( iWidgetsSupported && aWgId < 0 && iWidgetAppUiWgId ) + if( iWidgetsSupported && 0 > aWgId ) { - // for widgets clients see a wgid that is -1*(index+1) - const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() ); - // convert aWgId to an index in the list of running widgets - TInt idx = -aWgId - 1; - // if index is valid then handle the widget specially - if ( idx >= 0 && idx < arr.Count() ) - { - TWsEvent event; - event.SetType( EEventUser ); - TUint8* eventData = event.EventData(); - // Fill bits 0-31 with widget application uid. - reinterpret_cast( *eventData ) = KWidgetAppUidValue; - eventData += sizeof( TUint32 ); - // Fill bits 32-63 with uid of the widget that should be closed. - reinterpret_cast( *eventData ) = arr[idx]->iUid.iUid; - // Send the event to Widget AppUi. - iEnv->WsSession().SendEventToWindowGroup( - iWidgetAppUiWgId, event ); - // closing a widget may not cause a window group change so trigger - // the update manually - UpdateTaskList(); - TSLOG0_OUT( "widget processing finished" ); - return; - } + // convert aWgId to an index in the list of running widgets and close widget + CloseWidgetL( -aWgId -1 ); } - - TUid appUid = AppUidForWgIdL( aWgId ); - if ( !iAlwaysShownAppList->IsAlwaysShownApp( appUid ) ) + else if( !iAlwaysShownAppList->IsAlwaysShownApp( AppUidForWgIdL( aWgId ) ) ) { // send window group event to kill the app TWsEvent event; @@ -244,7 +227,6 @@ iEnv->WsSession().SendEventToWindowGroup( aWgId, event ); TSLOG0( TSLOG_INFO, "event sent to wg" ); } - TSLOG_OUT(); } @@ -460,33 +442,24 @@ { continue; } - + // get window group name TInt wgId = allWgIds[i].iId; CApaWindowGroupName* windowName = CApaWindowGroupName::NewLC( iWsSession, wgId ); TUid appUid = windowName->AppUid(); - + // ignore entries with null uid if ( !appUid.iUid ) { CleanupStack::PopAndDestroy( windowName ); continue; } - + // will append the task to our own list only if it is not hidden TBool onHiddenList = iHiddenAppList->IsHiddenL( appUid, iWsSession, wgId ); - // if this is the widget app then save wgid for later use - // and ignore it, but include running widgets instead - if ( iWidgetsSupported && appUid.iUid == KWidgetAppUidValue ) - { - iWidgetAppUiWgId = wgId; - onHiddenList = ETrue; - CheckWidgetsL( newList ); - } - // get screen number (-1=console, 0=main screen, 1=cover ui) TInt appScreen = 0; TInt scrNumErr = iAppArcSession.GetDefaultScreenNumber( appScreen, appUid ); @@ -502,9 +475,15 @@ windowName->Hidden(), onHiddenList, mustShow, appScreen ); #endif + // if this is the widget app then save wgid for later use + // and ignore it, but include running widgets instead + if ( iWidgetsSupported && appUid.iUid == KWidgetAppUidValue ) + { + changed = ETrue; + } // add item to task list if it is always-shown OR it is not hidden // and it is not on cover ui - if ( mustShow + else if ( mustShow || ( !onHiddenList && !windowName->Hidden() && ( appScreen == 0 || appScreen == -1 ) @@ -517,8 +496,9 @@ } CleanupStack::PopAndDestroy( windowName ); } - CleanupStack::PopAndDestroy( &allWgIds ); - + CleanupStack::PopAndDestroy( &allWgIds ); + CheckWidgetsL(newList); + // if counts for old and new lists do not match then there is a change for sure, // probably an app has been closed if ( iData.Count() != newList.Count() ) @@ -628,15 +608,19 @@ // void CTsFswEngine::CheckWidgetsL( RTsFswArray& aNewList ) { - if ( iWidgetsSupported ) + if( iWidgetsSupported ) { iWidgetList->InitializeWidgetListL(); const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() ); for ( TInt i = 0, ie = arr.Count(); i != ie; ++i ) { - // wgid will be a special negative value - // windowgroupname is not needed here so pass NULL - AddEntryL( -(i+1), arr[i]->iUid, 0, aNewList, ETrue ); + //verify if widget is working in full screen mode + if( arr[i]->iFileSize ) + { + // wgid will be a special negative value + // windowgroupname is not needed here so pass NULL + AddEntryL( -(i+1), arr[i]->iUid, 0, aNewList, ETrue ); + } } } } @@ -697,16 +681,16 @@ // TInt CTsFswEngine::FindMostTopParentWgId( TInt aWgId ) { - TInt parent( KErrNotFound ); - parent = FindParentWgId( aWgId ); - if( parent != KErrNotFound) - { - TInt topParent = FindMostTopParentWgId(parent); - if( topParent != KErrNotFound ) - { - parent = topParent; - } - } + TInt parent( KErrNotFound ); + parent = FindParentWgId( aWgId ); + if( parent != KErrNotFound) + { + TInt topParent = FindMostTopParentWgId(parent); + if( topParent != KErrNotFound ) + { + parent = topParent; + } + } return parent; } @@ -918,6 +902,94 @@ } // -------------------------------------------------------------------------- +// CTsFswEngine::HandleFswPpApplicationBitmapRotation +// Callback from CTsFastSwapPreviewProvider +// -------------------------------------------------------------------------- +// +void CTsFswEngine::HandleFswPpApplicationBitmapRotation( TInt aWgId, TBool aClockwise ) + { + TSLOG_CONTEXT( HandleFswPpApplicationBitmapRotation, TSLOG_LOCAL ); + TSLOG1_IN( "aWgId = %d", aWgId ); + + CFbsBitmap** bmp = iScreenshots.Find( aWgId ); + if ( bmp ) + { + // Rotate bitmap + TRAP_IGNORE( RotateL( **bmp, aWgId, aClockwise ) ); + // Bitmap in a array is invalid, remove it + delete *bmp; + iScreenshots.Remove( aWgId ); + AssignScreenshotHandle( aWgId, 0 ); + } + + TSLOG_OUT(); + } + + +// -------------------------------------------------------------------------- +// CTsFswEngine::RotateL +// Callback from CTsFastSwapPreviewProvider +// -------------------------------------------------------------------------- +// +void CTsFswEngine::RotateL( CFbsBitmap& aBitmap, TInt aWgId, TBool aClockwise ) + { + CFbsBitmap* rotaBitmap = new (ELeave) CFbsBitmap; + CleanupStack::PushL( rotaBitmap ); + User::LeaveIfError( rotaBitmap->Duplicate( aBitmap.Handle() ) ); + CTsRotationTask* rotaTask = new (ELeave) CTsRotationTask( *this ); + CleanupStack::PushL( rotaTask ); + User::LeaveIfError( iRotaTasks.Append( rotaTask ) ); + rotaTask->StartLD( aWgId, rotaBitmap, aClockwise ); // ownership transferred + CleanupStack::Pop( rotaTask ); + CleanupStack::Pop( rotaBitmap ); + } + + +// -------------------------------------------------------------------------- +// CTsFswEngine::RotationComplete +// Callback from CTsFastSwapPreviewProvider +// -------------------------------------------------------------------------- +// +void CTsFswEngine::RotationComplete( TInt aWgId, + CFbsBitmap* aBitmap, + CTsRotationTask* aCompletedTask, + TInt aError ) + { + TSLOG_CONTEXT( RotationComplete, TSLOG_LOCAL ); + TSLOG_IN(); + + TSLOG1( TSLOG_INFO, "---> rotation completed with status: %d", aError ); + TInt idx = iRotaTasks.Find( aCompletedTask ); + if ( idx != KErrNotFound ) + { + // Update task list + iRotaTasks.Remove(idx); + } + + if ( aError == KErrNone ) + { + if ( iScreenshots.Insert( aWgId, aBitmap ) != KErrNone ) + { + delete aBitmap; + iScreenshots.Remove( aWgId ); + AssignScreenshotHandle( aWgId, 0 ); + } + else + { + AssignScreenshotHandle( aWgId, aBitmap->Handle() ); + } + } + else + { + // Rotation failed, cleanup bitmap + delete aBitmap; + } + + TSLOG_OUT(); + } + + +// -------------------------------------------------------------------------- // CTsFswEngine::AssignScreenshotHandle // Called when a screenshot arrives to check if there is a corresponding // application in the task list. Firstly try to match screenshot into parental @@ -1080,5 +1152,119 @@ EColor64K ); // displaymode is ignored } +// -------------------------------------------------------------------------- +// CTsFswEngine::CloseWidgetL +// -------------------------------------------------------------------------- +// +void CTsFswEngine::CloseWidgetL(TInt aOffset ) + { + TSLOG_CONTEXT( CloseWidgetL, TSLOG_LOCAL ); + TSLOG1_IN( "aOffset = %d", aOffset ); + if( iWidgetList->RunningWidgets().Count() <= aOffset ) + { + User::Leave(KErrArgument); + } + const CWidgetInfo* widgetInfo(iWidgetList->RunningWidgets()[aOffset]); + const TPtrC bundleName(*widgetInfo->iBundleName); + RApaLsSession ls; + User::LeaveIfError( ls.Connect() ); + CleanupClosePushL( ls ); + CApaCommandLine* const cmdLine = CApaCommandLine::NewLC(); + + HBufC8* const + opaque( HBufC8::NewLC( bundleName.Size() + 3 * sizeof( TUint32 ) ) ); + TPtr8 des ( opaque->Des() ); + RDesWriteStream stream; + stream.Open( des ); + CleanupClosePushL( stream ); + stream.WriteUint32L ( widgetInfo->iUid.iUid ); + stream.WriteUint32L ( bundleName.Length() ); + stream.WriteL ( reinterpret_cast< const TUint8* >( bundleName.Ptr() ), bundleName.Size()); + stream.WriteInt32L ( KCloseWidgetCmd ); + CleanupStack::PopAndDestroy( &stream ); + cmdLine->SetCommandL( EApaCommandBackgroundAndWithoutViews ); + cmdLine->SetOpaqueDataL( *opaque ); + CleanupStack::PopAndDestroy( opaque ); + cmdLine->SetExecutableNameL( KWidgetAppName ); + ls.StartApp( *cmdLine ); + CleanupStack::PopAndDestroy( cmdLine ); + CleanupStack::PopAndDestroy( &ls ); + TSLOG_OUT(); + } + + + +// -------------------------------------------------------------------------- +// CTsRotationListener::CTsRotationListener +// -------------------------------------------------------------------------- +// +CTsRotationTask::CTsRotationTask(CTsFswEngine& aEngine ) +: CActive(EPriorityStandard), + iEngine(aEngine) + { + CActiveScheduler::Add( this ); + } + + +// -------------------------------------------------------------------------- +// CTsRotationListener::~CTsRotationListener +// -------------------------------------------------------------------------- +// +CTsRotationTask::~CTsRotationTask() + { + Cancel(); + delete iRotator; + delete iBitmap; + } + + +// -------------------------------------------------------------------------- +// CTsRotationListener::Start +// -------------------------------------------------------------------------- +// +void CTsRotationTask::StartLD( TInt aWgId, + CFbsBitmap* aBitmap, + TBool aClockwise ) + { + TSLOG_CONTEXT( StartLD, TSLOG_LOCAL ); + TSLOG_IN(); + + iWgId = aWgId; + iBitmap = aBitmap; + iRotator = CBitmapRotator::NewL(); + if ( aClockwise ) + { + iRotator->Rotate(&iStatus, *iBitmap, CBitmapRotator::ERotation90DegreesClockwise); + } + else + { + iRotator->Rotate(&iStatus, *iBitmap, CBitmapRotator::ERotation270DegreesClockwise); + } + SetActive(); + + TSLOG_OUT(); + } + + +// -------------------------------------------------------------------------- +// CTsRotationListener::RunL +// -------------------------------------------------------------------------- +// +void CTsRotationTask::RunL() + { + iEngine.RotationComplete( iWgId, iBitmap, this, iStatus.Int() ); // bitmap ownership transferred + iBitmap = NULL; + delete this; + } + + +// -------------------------------------------------------------------------- +// CTsRotationListener::DoCancel +// -------------------------------------------------------------------------- +// +void CTsRotationTask::DoCancel() + { + iRotator->Cancel(); + } // end of file diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp --- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -67,6 +67,12 @@ User::LeaveIfError( iWidgetRegistryClientSession.Connect() ); CleanupStack::PushL( TCleanupItem( CleanupConnect, this) ); iWidgetRegistryClientSession.RunningWidgetsL(iRunningWidgets); + //modify useless file size information with mode flag + for ( TInt i(iRunningWidgets.Count() - 1); 0 <= i; --i ) + { + iRunningWidgets[i]->iFileSize = + iWidgetRegistryClientSession.IsWidgetInFullView(iRunningWidgets[i]->iUid); + } CleanupStack::Pop(); // clean WidgetRegistryClientSession item iWidgetRegistryClientSession.Disconnect(); } diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h --- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h Fri Mar 12 15:41:49 2010 +0200 @@ -152,6 +152,11 @@ TBool aLandscape); /** + * Returns ETrue if avkon physics is running, EFalse if not. + */ + TBool IsPhysicsRunning(); + + /** * Stops currently ongoing animation */ void StopAnimation(); diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h --- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h Fri Mar 12 15:41:49 2010 +0200 @@ -155,6 +155,12 @@ * Handling short/long app key. */ void HandleAppKey(TInt aType); + + /* + * Updates components visibility, used to switch off + * grid scrollbar visibility for transition effects + */ + void UpdateComponentVisibility(); private: diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h --- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsphysicsengine.h Fri Mar 12 15:41:49 2010 +0200 @@ -71,10 +71,17 @@ void HandleDragEvent(AknTouchGestureFw::MAknTouchGestureFwDragEvent& aEvent); /** + * Checks if the physics is running */ TBool IsRunning() const; /** + * Checks if the physics is running drag + */ + TBool IsDragging() const; + + /** + * Stops physics */ void Stop(); diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -247,7 +247,7 @@ TBool /*aLayers*/, TUint aSubCom ) { - this->RequestPopUpL(); + TRAP_IGNORE( RequestPopUpL() ); const TDesC8* ptr = reinterpret_cast(iAppView); GfxTransEffect::Abort(iAppView); GfxTransEffect::Begin( iAppView, aTranstionId ); @@ -268,11 +268,7 @@ void CTsAppUi::TransitionFinished(const CCoeControl* /*aControl*/, TUint /*aAction*/) { - DisablePopUpL(); - /*if( aControl == iAppView ) - { - @TODO IMPLEMENT - }*/ + TRAP_IGNORE( DisablePopUpL() ); } // ----------------------------------------------------------------------------- diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -484,6 +484,7 @@ MakeVisible( ETrue ); } + iFastSwapArea->UpdateComponentVisibility(); DrawDeferred(); TSLOG_OUT(); @@ -661,6 +662,7 @@ // void CTsAppView::MoveOffset(const TPoint& aOffset) { + DrawDeferred(); iFastSwapArea->MoveOffset(aOffset); } diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -112,9 +112,14 @@ } else if(EAknTouchGestureFwTap == aEvent.Type()) { - if( iPhysicsHelper->IsRunning()) + if( IsPhysicsRunning() ) { + TBool forwardTap = iPhysicsHelper->IsDragging(); iPhysicsHelper->Stop(); + if ( forwardTap ) + { + iObserver.TapL(aEvent.Position()); + } } else { @@ -183,6 +188,15 @@ } // ----------------------------------------------------------------------------- +// IsPhysicsRunning +// ----------------------------------------------------------------------------- +// +TBool CTsEventControler::IsPhysicsRunning() + { + return iPhysicsHelper->IsRunning(); + } + +// ----------------------------------------------------------------------------- // StopAnimation // ----------------------------------------------------------------------------- // diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -68,7 +68,7 @@ const TInt KRedrawTime = 250000; // 0.25 sec const TInt KRedrawTimeForLayoutSwitch = 700000; // 0.7 sec const TInt KHighlighActivationTime = 100000; // 100 ms -const TInt KUpdateGridTime = 1000000; // 1 s +const TInt KUpdateGridTime = 0; // imediately const TInt KMaxGranularity = 4; @@ -206,27 +206,16 @@ AknLayoutScalable_Apps::cell_tport_appsw_pane_ParamLimits( variety ); TPoint empty( ELayoutEmpty, ELayoutEmpty ); + // Setup bitmap layout AknListBoxLayouts::SetupFormGfxCell( *iGrid, iGrid->ItemDrawer(), 0, AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ).LayoutLine(), empty, empty ); // Setup text layout - TAknLayoutText textLayout; - textLayout.LayoutText( - Rect(), - AknLayoutScalable_Apps::cell_tport_appsw_pane_t1( variety ).LayoutLine() ); + AknListBoxLayouts::SetupFormTextCell(*iGrid, iGrid->ItemDrawer(), 1, + AknLayoutScalable_Apps::cell_tport_appsw_pane_t1( variety ).LayoutLine(), + empty, empty); - // Because textLayout.BaselineOffset() does not work (missing lib entry), - // we need to calculate offset ourselves - TInt baselineOffset = textLayout.TextRect().iBr.iY - textLayout.TextRect().iTl.iY; - AknListBoxLayouts::SetupFormTextCell( *iGrid, iGrid->ItemDrawer(), 1 /*Column index*/, - textLayout.Font() /*Font type*/, - NULL /*color*/, - textLayout.TextRect().iTl.iX /*Left margin*/, 0 /*unused*/, - baselineOffset /*Baseline*/, 0 /*Text width*/, - textLayout.Align() /*Text alignment*/, - TPoint(0,0) /*Start pos*/, - TPoint(0,0) /*End pos*/); // Text colors TRgb textColor; AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor, @@ -748,6 +737,9 @@ TSLOG_CONTEXT( CTsFastSwapArea::HandleSwitchToForegroundEvent, TSLOG_LOCAL ); TSLOG_IN(); + // Reset grid + TRAP_IGNORE( ReCreateGridL() ); + // get the current task list HandleFswContentChanged(); // and then start listening for changes @@ -1253,12 +1245,21 @@ if(visibleItem != SelectedIndex()) { iGrid->SetCurrentDataIndex( visibleItem ); - DrawNow(); + DrawDeferred(); } } - iUpdateGridTimer->Cancel(); - iUpdateGridTimer->After(aRedrawDelay); + // Check if view is outside of grid world + TPoint absViewPos = ViewPos(); + absViewPos.iX -= Rect().Width() / 2; + if( !iEvtHandler.IsPhysicsRunning() && + ( absViewPos.iX < 0 || absViewPos.iX + Rect().Width() > GridWorldSize().iWidth ) + ) + { + // View is outside of grid world - update view + iUpdateGridTimer->Cancel(); + iUpdateGridTimer->After(aRedrawDelay); + } } // -------------------------------------------------------------------------- @@ -1363,7 +1364,7 @@ // void CTsFastSwapArea::TapL(const TPoint& aPoint) { - if(iGrid->Rect().Contains(aPoint)) + if(Rect().Contains(aPoint)) { //provide tap pointer event to grid iGrid->HandlePointerEventL(iTapEvent); @@ -1623,4 +1624,20 @@ } } + +// ----------------------------------------------------------------------------- +// CTsFastSwapArea::UpdateComponentVisibility +// ----------------------------------------------------------------------------- +// +void CTsFastSwapArea::UpdateComponentVisibility() + { + // Switch off scrollbars + CEikScrollBarFrame* scrollBar = iGrid->ScrollBarFrame(); + if(scrollBar) + { + TRAP_IGNORE( scrollBar->SetScrollBarVisibilityL(CEikScrollBarFrame::EOff, + CEikScrollBarFrame::EOff)); + } + } + // End of file diff -r f966699dea19 -r ff572dfe6d86 taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp --- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp Fri Feb 19 22:42:37 2010 +0200 +++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsphysicsengine.cpp Fri Mar 12 15:41:49 2010 +0200 @@ -86,6 +86,16 @@ return iPhysics->OngoingPhysicsAction() != CAknPhysics::EAknPhysicsActionNone; } + +// ----------------------------------------------------------------------------- +// CTsPhysicsEngine::IsDragging +// ----------------------------------------------------------------------------- +// +TBool CTsPhysicsEngine::IsDragging() const + { + return iPhysics->OngoingPhysicsAction() == CAknPhysics::EAknPhysicsActionDragging; + } + // ----------------------------------------------------------------------------- // CTsPhysicsEngine::HandleDragEvent // -----------------------------------------------------------------------------