--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>qhd_tch</family>
--- a/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/widgetconfiguration.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/desktop_20026f4f/hsps/00/widgetconfiguration.xml Wed Mar 31 21:17:19 2010 +0300
@@ -8,12 +8,12 @@
<property name="view" value=""/>
<property name="param" value=""/>
</item>
- <!-- Shortcut #2, Messaging -->
+ <!-- Shortcut #2, New Message -->
<item id="second" name="Shortcut2" >
- <property name="type" value="application"/>
- <property name="uid" value="0x100058C5"/>
+ <property name="type" value="shortcut"/>
+ <property name="uid" value="0x99999999"/>
<property name="view" value=""/>
- <property name="param" value=""/>
+ <property name="param" value="messaging:msg"/>
</item>
<!-- Shortcut #3, Browser -->
<item id="third" name="Shortcut3" >
@@ -22,10 +22,10 @@
<property name="view" value=""/>
<property name="param" value=""/>
</item>
- <!-- Shortcut #4, Photos -->
+ <!-- Shortcut #4, Calendar -->
<item id="fourth" name="Shortcut4" >
<property name="type" value="application"/>
- <property name="uid" value="0x200009EE"/>
+ <property name="uid" value="0x10005901"/>
<property name="view" value=""/>
<property name="param" value=""/>
</item>
--- a/idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/empty_2001f47f/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
@@ -57,4 +57,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/group/bld.inf Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/group/bld.inf Wed Mar 31 21:17:19 2010 +0300
@@ -25,6 +25,8 @@
#include "../posterwideimage_2001fdbc/group/bld.inf"
#include "../profile_2001cb7c/group/bld.inf"
#include "../view_2001f48b/group/bld.inf"
+#include "../view_200286e4/group/bld.inf"
+#include "../view_200286e5/group/bld.inf"
#include "../templateview_20026f50/group/bld.inf"
#include "../root_2001f482/group/bld.inf"
--- a/idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/onerow_2001f480/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -60,4 +60,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/posterwideimage_2001fdbc/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -58,4 +58,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>qhd_tch</family>
<type>widget</type>
@@ -32,4 +32,4 @@
<fileresource tag="xuikon">profile.o0000</fileresource>
</localization>
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/profile_2001cb7c/xuikon/00/profile.xml Wed Mar 31 21:17:19 2010 +0300
@@ -106,20 +106,20 @@
</event>
</action>
</actions>
- <title id="title_vhz" titleindex="0">
+ <title id="title_sat" titleindex="0">
+ <property class="SAT/SatIdleModeText"/>
+ <property class="policy/emptyContent" name="title_sat" value="display: none;" />
+ <property class="policy/Content" name="title_sat" value="display: block;" />
+ <property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
+ <property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
+ </title>
+ <title id="title_vhz" titleindex="1">
<property class="DeviceStatus/VHZText"/>
<property class="policy/emptyContent" name="title_vhz" value="display: none;" />
<property class="policy/Content" name="title_vhz" value="display: block;" />
<property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
<property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
</title>
- <title id="title_sat" titleindex="1">
- <property class="SAT/SatIdleModeText"/>
- <property class="policy/emptyContent" name="title_sat" value="display: none;" />
- <property class="policy/Content" name="title_sat" value="display: block;" />
- <property class="policy/Visibility" name="NT_SATVHZ" value="if (title_vhz,title_sat,SatIdleModeIcon) display:block" />
- <property class="policy/Visibility" name="NT_SATVHZ" value="if !+(title_vhz,title_sat,SatIdleModeIcon) display:none" />
- </title>
</newsticker>
</box>
</box>
Binary file idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.confml has changed
--- a/idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.gcfml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/root_2001f482/conf/root2001f482.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
<file xmlns="http://www.s60.com/xml/genconfml/1" name="rootconfiguration.xml" target="\private\200159c0\install\root_2001f482\hsps\00\">
<setting ref="HSViews/MaxPages"/>
<setting ref="HSViews/Views"/>
--- a/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/root_2001f482/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,11 +1,11 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>application</type>
+ <type>application</type>
- <!-- application uid -->
+ <!-- application uid -->
<interfaceuid>0x102750F0</interfaceuid>
<!-- vendor uid -->
@@ -30,4 +30,4 @@
<!-- Locale specific resources -->
<localization/>
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,8 +1,8 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
- <type>view</type>
+ <family>qhd_tch</family>
+ <type>view</type>
<!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -28,4 +28,4 @@
<fileresource>templateview.o0000</fileresource>
</localization>
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/00/templateview.xml Wed Mar 31 21:17:19 2010 +0300
@@ -21,8 +21,7 @@
<property name="class" value="plugins"/>
</event>
<event name="system/seteditmode">
- <property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
+ <property name="id" value="hs_popup_open_hold"/>
</event>
</action>
<action>
@@ -34,8 +33,7 @@
<property name="class" value="plugins"/>
</event>
<event name="system/reseteditmode">
- <property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
+ <property name="id" value="hs_popup_open_hold"/>
</event>
</action>
<action>
@@ -80,24 +78,12 @@
<!-- Plugins in this view -->
<box id="plugins_container">
- <plugin id="plugin1" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin2" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin3" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin4" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin5" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin6" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
+ <plugin id="plugin1" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin2" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin3" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin4" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin5" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin6" class="plugins" actionshandler="plugin_actions"/>
</box>
<!-- plugins' actions handler -->
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/37/templateview.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/50/templateview.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/57/templateview.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/templateview_20026f50/xuikon/94/templateview.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/threerows_2001f486/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -60,4 +60,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/threetextrows_2001f487/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -62,4 +62,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/tworows_2001f488/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -60,4 +60,4 @@
-</package>
\ No newline at end of file
+</package>
Binary file idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48b.confml has changed
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48b.gcfml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48b.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -1,57 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
<file xmlns="http://www.s60.com/xml/genconfml/1" name="viewconfiguration.xml" target="\private\200159c0\install\view_2001f48b\hsps\00\">
- <setting ref="HomescreenPlugins/MaxWidgets"/>
- <setting ref="HomescreenPlugins/UseEmptyWidgets"/>
- <setting ref="HomescreenPlugins/ItemIdEmptyWidgets"/>
- <setting ref="HomescreenPlugins/PropertyEmptyWidgets"/>
- <setting ref="HomescreenPlugins/Background"/>
- <setting ref="HomescreenPlugins/BackGroundPath"/>
- <setting ref="HomescreenPlugins/ItemIdWallpaper"/>
- <setting ref="HomescreenPlugins/ItemIdSlideshow"/>
- <setting ref="HomescreenPlugins/WallpaperPropertyName"/>
- <setting ref="HomescreenPlugins/SlideshowPropertyName"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemName"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameType"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameUid"/>
- <setting ref="HomescreenPlugins/Plugins"/>
+ <setting ref="HomescreenPlugins_1/MaxWidgets"/>
+ <setting ref="HomescreenPlugins_1/UseEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_1/ItemIdEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_1/PropertyEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_1/Background"/>
+ <setting ref="HomescreenPlugins_1/BackGroundPath"/>
+ <setting ref="HomescreenPlugins_1/ItemIdWallpaper"/>
+ <setting ref="HomescreenPlugins_1/ItemIdSlideshow"/>
+ <setting ref="HomescreenPlugins_1/WallpaperPropertyName"/>
+ <setting ref="HomescreenPlugins_1/SlideshowPropertyName"/>
+ <setting ref="HomescreenPlugins_1/Shortcut1ItemId"/>
+ <setting ref="HomescreenPlugins_1/Shortcut1ItemName"/>
+ <setting ref="HomescreenPlugins_1/Shortcut2ItemId"/>
+ <setting ref="HomescreenPlugins_1/Shortcut2ItemName"/>
+ <setting ref="HomescreenPlugins_1/Shortcut3ItemId"/>
+ <setting ref="HomescreenPlugins_1/Shortcut3ItemName"/>
+ <setting ref="HomescreenPlugins_1/Shortcut4ItemId"/>
+ <setting ref="HomescreenPlugins_1/Shortcut4ItemName"/>
+ <setting ref="HomescreenPlugins_1/ShortcutPropertyNameType"/>
+ <setting ref="HomescreenPlugins_1/ShortcutPropertyNameUid"/>
+ <setting ref="HomescreenPlugins_1/Plugins"/>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xi="http://www.w3.org/2001/xinclude">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="configuration/data">
<configuration>
- <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins/MaxWidgets"/></xsl:attribute>
+ <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins_1/MaxWidgets"/></xsl:attribute>
<control>
<settings>
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_1/ItemIdEmptyWidgets"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/PropertyEmptyWidgets"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/UseEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_1/PropertyEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_1/UseEmptyWidgets"/></xsl:attribute>
</property>
</item>
<xsl:choose>
- <xsl:when test="HomescreenPlugins/Background = 1">
+ <xsl:when test="HomescreenPlugins_1/Background = 1">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdWallpaper"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_1/ItemIdWallpaper"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/WallpaperPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_1/WallpaperPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_1/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
- <xsl:when test="HomescreenPlugins/Background = 2">
+ <xsl:when test="HomescreenPlugins_1/Background = 2">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdSlideshow"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_1/ItemIdSlideshow"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/SlideshowPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_1/SlideshowPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_1/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
@@ -60,7 +61,7 @@
</xsl:choose>
</settings>
<plugins>
- <xsl:for-each select="HomescreenPlugins/Plugins">
+ <xsl:for-each select="HomescreenPlugins_1/Plugins">
<plugin>
<xsl:attribute name="uid"><xsl:value-of select="Uid"/></xsl:attribute>
<xsl:attribute name="bundle_id"><xsl:value-of select="BundleIdentifier"/></xsl:attribute>
Binary file idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48bmanifest.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48bmanifest.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="manifest.dat" target="\private\200159c0\install\view_2001f48b\hsps\00\">
+ <setting ref="Homescreen1manifest/PackageVersion"/>
+ <setting ref="Homescreen1manifest/DeviceFamily"/>
+ <setting ref="Homescreen1manifest/ConfigurationType"/>
+ <setting ref="Homescreen1manifest/InterfaceUid"/>
+ <setting ref="Homescreen1manifest/ProviderUid"/>
+ <setting ref="Homescreen1manifest/ConfigurationUid"/>
+ <setting ref="Homescreen1manifest/FullName"/>
+ <setting ref="Homescreen1manifest/ShortName"/>
+ <setting ref="Homescreen1manifest/ConfigurationVersion"/>
+ <setting ref="Homescreen1manifest/ConfigurationFile"/>
+ <setting ref="Homescreen1manifest/UiResourceFile"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <package>
+ <xsl:attribute name="version"><xsl:value-of select="Homescreen1manifest/PackageVersion"/></xsl:attribute>
+ <family>
+ <xsl:value-of select="Homescreen1manifest/DeviceFamily"/>
+ </family>
+ <type>
+ <xsl:value-of select="Homescreen1manifest/ConfigurationType"/>
+ </type>
+ <interfaceuid>
+ <xsl:value-of select="Homescreen1manifest/InterfaceUid"/>
+ </interfaceuid>
+ <provideruid>
+ <xsl:value-of select="Homescreen1manifest/ProviderUid"/>
+ </provideruid>
+ <configurationuid>
+ <xsl:value-of select="Homescreen1manifest/ConfigurationUid"/>
+ </configurationuid>
+ <fullname>
+ <xsl:text>&</xsl:text>
+ <xsl:value-of select="Homescreen1manifest/FullName"/>
+ <xsl:text>;</xsl:text>
+ </fullname>
+ <shortname>
+ <xsl:value-of select="Homescreen1manifest/ShortName"/>
+ </shortname>
+ <version>
+ <xsl:value-of select="Homescreen1manifest/ConfigurationVersion"/>
+ </version>
+ <filexml>
+ <xsl:value-of select="Homescreen1manifest/ConfigurationFile"/>
+ </filexml>
+ <localization>
+ <fileresource>
+ <xsl:value-of select="Homescreen1manifest/UiResourceFile"/>
+ </fileresource>
+ </localization>
+ </package>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
Binary file idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48bxuikon.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/conf/view2001f48bxuikon.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="empty.foo" target="\private\200159c0\install\view_2001f48b\xuikon\">
+ <setting ref="Homescreen1XuikonFolder/FolderCFG"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <whois>
+ <xsl:attribute name="dude"><xsl:value-of select="Homescreen1XuikonFolder/FolderCFG"/></xsl:attribute>
+ </whois>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/group/bld.inf Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/group/bld.inf Wed Mar 31 21:17:19 2010 +0300
@@ -24,7 +24,7 @@
PRJ_EXPORTS
// Support for productization and Carbide.Ui customization
//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/view_2001f48b/hsps/manifest.dat
+//../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/view_2001f48b/hsps/manifest.dat
//../hsps/00/viewconfiguration.xml /epoc32/data/Z/resource/homescreen/view_2001f48b/hsps/viewconfiguration.xml
../xuikon/00/View.dat /epoc32/data/Z/resource/homescreen/view_2001f48b/xuikon/view_2001f48b.dat
@@ -44,6 +44,10 @@
//***********************************
../conf/view2001f48b.confml APP_LAYER_CONFML(view2001f48b.confml)
../conf/view2001f48b.gcfml APP_LAYER_GCFML(view2001f48b.gcfml)
+../conf/view2001f48bmanifest.confml APP_LAYER_CONFML(view2001f48bmanifest.confml)
+../conf/view2001f48bmanifest.gcfml APP_LAYER_GCFML(view2001f48bmanifest.gcfml)
+../conf/view2001f48bxuikon.confml APP_LAYER_CONFML(view2001f48bxuikon.confml)
+../conf/view2001f48bxuikon.gcfml APP_LAYER_GCFML(view2001f48bxuikon.gcfml)
// Support for S60 localization
//*****************************
@@ -57,7 +61,7 @@
../rom/view_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_resources.iby)
../rom/view_customer.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_customer.iby)
//../rom/view_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b_variant.iby)
-../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b.iby)
+//../rom/view.iby CORE_APP_LAYER_IBY_EXPORT_PATH(view_2001f48b.iby)
// Dtd-localization
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
@@ -56,4 +56,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -29,28 +29,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/00/View.xml Wed Mar 31 21:17:19 2010 +0300
@@ -22,7 +22,6 @@
</event>
<event name="system/seteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -35,7 +34,6 @@
</event>
<event name="system/reseteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -80,24 +78,12 @@
<!-- Plugins in this view -->
<box id="plugins_container">
- <plugin id="plugin1" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin2" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin3" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin4" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin5" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin6" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
+ <plugin id="plugin1" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin2" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin3" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin4" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin5" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin6" class="plugins" actionshandler="plugin_actions"/>
</box>
<!-- plugins' actions handler -->
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/37/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -27,28 +27,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/50/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -27,28 +27,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/57/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -27,28 +27,6 @@
nav-index: appearance;
}
-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;
--- a/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_2001f48b/xuikon/94/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -27,28 +27,6 @@
nav-index: appearance;
}
-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;
Binary file idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.confml has changed
--- a/idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.gcfml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -1,57 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
<file xmlns="http://www.s60.com/xml/genconfml/1" name="viewconfiguration.xml" target="\private\200159c0\install\view_200286e4\hsps\00\">
- <setting ref="HomescreenPlugins/MaxWidgets"/>
- <setting ref="HomescreenPlugins/UseEmptyWidgets"/>
- <setting ref="HomescreenPlugins/ItemIdEmptyWidgets"/>
- <setting ref="HomescreenPlugins/PropertyEmptyWidgets"/>
- <setting ref="HomescreenPlugins/Background"/>
- <setting ref="HomescreenPlugins/BackGroundPath"/>
- <setting ref="HomescreenPlugins/ItemIdWallpaper"/>
- <setting ref="HomescreenPlugins/ItemIdSlideshow"/>
- <setting ref="HomescreenPlugins/WallpaperPropertyName"/>
- <setting ref="HomescreenPlugins/SlideshowPropertyName"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemName"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameType"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameUid"/>
- <setting ref="HomescreenPlugins/Plugins"/>
+ <setting ref="HomescreenPlugins_2/MaxWidgets"/>
+ <setting ref="HomescreenPlugins_2/UseEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_2/ItemIdEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_2/PropertyEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_2/Background"/>
+ <setting ref="HomescreenPlugins_2/BackGroundPath"/>
+ <setting ref="HomescreenPlugins_2/ItemIdWallpaper"/>
+ <setting ref="HomescreenPlugins_2/ItemIdSlideshow"/>
+ <setting ref="HomescreenPlugins_2/WallpaperPropertyName"/>
+ <setting ref="HomescreenPlugins_2/SlideshowPropertyName"/>
+ <setting ref="HomescreenPlugins_2/Shortcut1ItemId"/>
+ <setting ref="HomescreenPlugins_2/Shortcut1ItemName"/>
+ <setting ref="HomescreenPlugins_2/Shortcut2ItemId"/>
+ <setting ref="HomescreenPlugins_2/Shortcut2ItemName"/>
+ <setting ref="HomescreenPlugins_2/Shortcut3ItemId"/>
+ <setting ref="HomescreenPlugins_2/Shortcut3ItemName"/>
+ <setting ref="HomescreenPlugins_2/Shortcut4ItemId"/>
+ <setting ref="HomescreenPlugins_2/Shortcut4ItemName"/>
+ <setting ref="HomescreenPlugins_2/ShortcutPropertyNameType"/>
+ <setting ref="HomescreenPlugins_2/ShortcutPropertyNameUid"/>
+ <setting ref="HomescreenPlugins_2/Plugins"/>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xi="http://www.w3.org/2001/xinclude">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="configuration/data">
<configuration>
- <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins/MaxWidgets"/></xsl:attribute>
+ <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins_2/MaxWidgets"/></xsl:attribute>
<control>
<settings>
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_2/ItemIdEmptyWidgets"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/PropertyEmptyWidgets"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/UseEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_2/PropertyEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_2/UseEmptyWidgets"/></xsl:attribute>
</property>
</item>
<xsl:choose>
- <xsl:when test="HomescreenPlugins/Background = 1">
+ <xsl:when test="HomescreenPlugins_2/Background = 1">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdWallpaper"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_2/ItemIdWallpaper"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/WallpaperPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_2/WallpaperPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_2/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
- <xsl:when test="HomescreenPlugins/Background = 2">
+ <xsl:when test="HomescreenPlugins_2/Background = 2">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdSlideshow"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_2/ItemIdSlideshow"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/SlideshowPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_2/SlideshowPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_2/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
@@ -60,7 +61,7 @@
</xsl:choose>
</settings>
<plugins>
- <xsl:for-each select="HomescreenPlugins/Plugins">
+ <xsl:for-each select="HomescreenPlugins_2/Plugins">
<plugin>
<xsl:attribute name="uid"><xsl:value-of select="Uid"/></xsl:attribute>
<xsl:attribute name="bundle_id"><xsl:value-of select="BundleIdentifier"/></xsl:attribute>
Binary file idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4manifest.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4manifest.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="manifest.dat" target="\private\200159c0\install\view_200286e4\hsps\00\">
+ <setting ref="Homescreen2manifest/PackageVersion"/>
+ <setting ref="Homescreen2manifest/DeviceFamily"/>
+ <setting ref="Homescreen2manifest/ConfigurationType"/>
+ <setting ref="Homescreen2manifest/InterfaceUid"/>
+ <setting ref="Homescreen2manifest/ProviderUid"/>
+ <setting ref="Homescreen2manifest/ConfigurationUid"/>
+ <setting ref="Homescreen2manifest/FullName"/>
+ <setting ref="Homescreen2manifest/ShortName"/>
+ <setting ref="Homescreen2manifest/ConfigurationVersion"/>
+ <setting ref="Homescreen2manifest/ConfigurationFile"/>
+ <setting ref="Homescreen2manifest/UiResourceFile"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <package>
+ <xsl:attribute name="version"><xsl:value-of select="Homescreen2manifest/PackageVersion"/></xsl:attribute>
+ <family>
+ <xsl:value-of select="Homescreen2manifest/DeviceFamily"/>
+ </family>
+ <type>
+ <xsl:value-of select="Homescreen2manifest/ConfigurationType"/>
+ </type>
+ <interfaceuid>
+ <xsl:value-of select="Homescreen2manifest/InterfaceUid"/>
+ </interfaceuid>
+ <provideruid>
+ <xsl:value-of select="Homescreen2manifest/ProviderUid"/>
+ </provideruid>
+ <configurationuid>
+ <xsl:value-of select="Homescreen2manifest/ConfigurationUid"/>
+ </configurationuid>
+ <fullname>
+ <xsl:text>&</xsl:text>
+ <xsl:value-of select="Homescreen2manifest/FullName"/>
+ <xsl:text>;</xsl:text>
+ </fullname>
+ <shortname>
+ <xsl:value-of select="Homescreen2manifest/ShortName"/>
+ </shortname>
+ <version>
+ <xsl:value-of select="Homescreen2manifest/ConfigurationVersion"/>
+ </version>
+ <filexml>
+ <xsl:value-of select="Homescreen2manifest/ConfigurationFile"/>
+ </filexml>
+ <localization>
+ <fileresource>
+ <xsl:value-of select="Homescreen2manifest/UiResourceFile"/>
+ </fileresource>
+ </localization>
+ </package>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
Binary file idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4xuikon.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/conf/view200286e4xuikon.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="empty.foo" target="\private\200159c0\install\view_200286e4\xuikon\">
+ <setting ref="Homescreen2XuikonFolder/FolderCFG"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <whois>
+ <xsl:attribute name="dude"><xsl:value-of select="Homescreen2XuikonFolder/FolderCFG"/></xsl:attribute>
+ </whois>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
--- a/idlehomescreen/data/qhd_tch/view_200286e4/group/bld.inf Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/group/bld.inf Wed Mar 31 21:17:19 2010 +0300
@@ -24,8 +24,8 @@
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
+//../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
@@ -43,8 +43,12 @@
//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)
+../conf/view200286e4.confml APP_LAYER_CONFML(view200286e4.confml)
+../conf/view200286e4.gcfml APP_LAYER_GCFML(view200286e4.gcfml)
+../conf/view200286e4manifest.confml APP_LAYER_CONFML(view200286e4manifest.confml)
+../conf/view200286e4manifest.gcfml APP_LAYER_GCFML(view200286e4manifest.gcfml)
+../conf/view200286e4xuikon.confml APP_LAYER_CONFML(view200286e4xuikon.confml)
+../conf/view200286e4xuikon.gcfml APP_LAYER_GCFML(view200286e4xuikon.gcfml)
// Support for S60 localization
//*****************************
@@ -57,8 +61,8 @@
//***********************
../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)
+//../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
--- a/idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -34,28 +34,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/00/View.xml Wed Mar 31 21:17:19 2010 +0300
@@ -22,7 +22,6 @@
</event>
<event name="system/seteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -35,7 +34,6 @@
</event>
<event name="system/reseteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -80,24 +78,12 @@
<!-- Plugins in this view -->
<box id="plugins_container">
- <plugin id="plugin1" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin2" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin3" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin4" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin5" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin6" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
+ <plugin id="plugin1" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin2" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin3" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin4" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin5" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin6" class="plugins" actionshandler="plugin_actions"/>
</box>
<!-- plugins' actions handler -->
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/37/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/37/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/50/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/50/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/57/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/57/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/94/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e4/xuikon/94/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
Binary file idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.confml has changed
--- a/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -1,57 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
<file xmlns="http://www.s60.com/xml/genconfml/1" name="viewconfiguration.xml" target="\private\200159c0\install\view_200286e5\hsps\00\">
- <setting ref="HomescreenPlugins/MaxWidgets"/>
- <setting ref="HomescreenPlugins/UseEmptyWidgets"/>
- <setting ref="HomescreenPlugins/ItemIdEmptyWidgets"/>
- <setting ref="HomescreenPlugins/PropertyEmptyWidgets"/>
- <setting ref="HomescreenPlugins/Background"/>
- <setting ref="HomescreenPlugins/BackGroundPath"/>
- <setting ref="HomescreenPlugins/ItemIdWallpaper"/>
- <setting ref="HomescreenPlugins/ItemIdSlideshow"/>
- <setting ref="HomescreenPlugins/WallpaperPropertyName"/>
- <setting ref="HomescreenPlugins/SlideshowPropertyName"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut1ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut2ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut3ItemName"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemId"/>
- <setting ref="HomescreenPlugins/Shortcut4ItemName"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameType"/>
- <setting ref="HomescreenPlugins/ShortcutPropertyNameUid"/>
- <setting ref="HomescreenPlugins/Plugins"/>
+ <setting ref="HomescreenPlugins_3/MaxWidgets"/>
+ <setting ref="HomescreenPlugins_3/UseEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_3/ItemIdEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_3/PropertyEmptyWidgets"/>
+ <setting ref="HomescreenPlugins_3/Background"/>
+ <setting ref="HomescreenPlugins_3/BackGroundPath"/>
+ <setting ref="HomescreenPlugins_3/ItemIdWallpaper"/>
+ <setting ref="HomescreenPlugins_3/ItemIdSlideshow"/>
+ <setting ref="HomescreenPlugins_3/WallpaperPropertyName"/>
+ <setting ref="HomescreenPlugins_3/SlideshowPropertyName"/>
+ <setting ref="HomescreenPlugins_3/Shortcut1ItemId"/>
+ <setting ref="HomescreenPlugins_3/Shortcut1ItemName"/>
+ <setting ref="HomescreenPlugins_3/Shortcut2ItemId"/>
+ <setting ref="HomescreenPlugins_3/Shortcut2ItemName"/>
+ <setting ref="HomescreenPlugins_3/Shortcut3ItemId"/>
+ <setting ref="HomescreenPlugins_3/Shortcut3ItemName"/>
+ <setting ref="HomescreenPlugins_3/Shortcut4ItemId"/>
+ <setting ref="HomescreenPlugins_3/Shortcut4ItemName"/>
+ <setting ref="HomescreenPlugins_3/ShortcutPropertyNameType"/>
+ <setting ref="HomescreenPlugins_3/ShortcutPropertyNameUid"/>
+ <setting ref="HomescreenPlugins_3/Plugins"/>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xi="http://www.w3.org/2001/xinclude">
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="configuration/data">
<configuration>
- <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins/MaxWidgets"/></xsl:attribute>
+ <xsl:attribute name="max_child"><xsl:value-of select="HomescreenPlugins_3/MaxWidgets"/></xsl:attribute>
<control>
<settings>
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_3/ItemIdEmptyWidgets"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/PropertyEmptyWidgets"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/UseEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_3/PropertyEmptyWidgets"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_3/UseEmptyWidgets"/></xsl:attribute>
</property>
</item>
<xsl:choose>
- <xsl:when test="HomescreenPlugins/Background = 1">
+ <xsl:when test="HomescreenPlugins_3/Background = 1">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdWallpaper"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_3/ItemIdWallpaper"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/WallpaperPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_3/WallpaperPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_3/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
- <xsl:when test="HomescreenPlugins/Background = 2">
+ <xsl:when test="HomescreenPlugins_3/Background = 2">
<item>
- <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins/ItemIdSlideshow"/></xsl:attribute>
+ <xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_3/ItemIdSlideshow"/></xsl:attribute>
<property>
- <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins/SlideshowPropertyName"/></xsl:attribute>
- <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins/BackGroundPath"/></xsl:attribute>
+ <xsl:attribute name="name"><xsl:value-of select="HomescreenPlugins_3/SlideshowPropertyName"/></xsl:attribute>
+ <xsl:attribute name="value"><xsl:value-of select="HomescreenPlugins_3/BackGroundPath"/></xsl:attribute>
</property>
</item>
</xsl:when>
@@ -60,7 +61,7 @@
</xsl:choose>
</settings>
<plugins>
- <xsl:for-each select="HomescreenPlugins/Plugins">
+ <xsl:for-each select="HomescreenPlugins_3/Plugins">
<plugin>
<xsl:attribute name="uid"><xsl:value-of select="Uid"/></xsl:attribute>
<xsl:attribute name="bundle_id"><xsl:value-of select="BundleIdentifier"/></xsl:attribute>
Binary file idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5manifest.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5manifest.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="manifest.dat" target="\private\200159c0\install\view_200286e5\hsps\00\">
+ <setting ref="Homescreen3manifest/PackageVersion"/>
+ <setting ref="Homescreen3manifest/DeviceFamily"/>
+ <setting ref="Homescreen3manifest/ConfigurationType"/>
+ <setting ref="Homescreen3manifest/InterfaceUid"/>
+ <setting ref="Homescreen3manifest/ProviderUid"/>
+ <setting ref="Homescreen3manifest/ConfigurationUid"/>
+ <setting ref="Homescreen3manifest/FullName"/>
+ <setting ref="Homescreen3manifest/ShortName"/>
+ <setting ref="Homescreen3manifest/ConfigurationVersion"/>
+ <setting ref="Homescreen3manifest/ConfigurationFile"/>
+ <setting ref="Homescreen3manifest/UiResourceFile"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <package>
+ <xsl:attribute name="version"><xsl:value-of select="Homescreen3manifest/PackageVersion"/></xsl:attribute>
+ <family>
+ <xsl:value-of select="Homescreen3manifest/DeviceFamily"/>
+ </family>
+ <type>
+ <xsl:value-of select="Homescreen3manifest/ConfigurationType"/>
+ </type>
+ <interfaceuid>
+ <xsl:value-of select="Homescreen3manifest/InterfaceUid"/>
+ </interfaceuid>
+ <provideruid>
+ <xsl:value-of select="Homescreen3manifest/ProviderUid"/>
+ </provideruid>
+ <configurationuid>
+ <xsl:value-of select="Homescreen3manifest/ConfigurationUid"/>
+ </configurationuid>
+ <fullname>
+ <xsl:text>&</xsl:text>
+ <xsl:value-of select="Homescreen3manifest/FullName"/>
+ <xsl:text>;</xsl:text>
+ </fullname>
+ <shortname>
+ <xsl:value-of select="Homescreen3manifest/ShortName"/>
+ </shortname>
+ <version>
+ <xsl:value-of select="Homescreen3manifest/ConfigurationVersion"/>
+ </version>
+ <filexml>
+ <xsl:value-of select="Homescreen3manifest/ConfigurationFile"/>
+ </filexml>
+ <localization>
+ <fileresource>
+ <xsl:value-of select="Homescreen3manifest/UiResourceFile"/>
+ </fileresource>
+ </localization>
+ </package>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
Binary file idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5xuikon.confml has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5xuikon.gcfml Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<file xmlns="http://www.s60.com/xml/genconfml/1" name="empty.foo" target="\private\200159c0\install\view_200286e5\xuikon\">
+ <setting ref="Homescreen3XuikonFolder/FolderCFG"/>
+ <xsl:stylesheet version="1.0"
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xi="http://www.w3.org/2001/xinclude">
+ <xsl:output method="xml" indent="yes" encoding="UTF-8"/>
+ <xsl:template match="configuration/data">
+ <whois>
+ <xsl:attribute name="dude"><xsl:value-of select="Homescreen3XuikonFolder/FolderCFG"/></xsl:attribute>
+ </whois>
+ </xsl:template>
+ </xsl:stylesheet>
+</file>
--- a/idlehomescreen/data/qhd_tch/view_200286e5/group/bld.inf Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/group/bld.inf Wed Mar 31 21:17:19 2010 +0300
@@ -24,8 +24,8 @@
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
+//../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
@@ -43,8 +43,12 @@
//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)
+../conf/view200286e5.confml APP_LAYER_CONFML(view200286e5.confml)
+../conf/view200286e5.gcfml APP_LAYER_GCFML(view200286e5.gcfml)
+../conf/view200286e5manifest.confml APP_LAYER_CONFML(view200286e5manifest.confml)
+../conf/view200286e5manifest.gcfml APP_LAYER_GCFML(view200286e5manifest.gcfml)
+../conf/view200286e5xuikon.confml APP_LAYER_CONFML(view200286e5xuikon.confml)
+../conf/view200286e5xuikon.gcfml APP_LAYER_GCFML(view200286e5xuikon.gcfml)
// Support for S60 localization
//*****************************
@@ -57,8 +61,8 @@
//***********************
../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)
+//../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
--- a/idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -34,28 +34,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/00/View.xml Wed Mar 31 21:17:19 2010 +0300
@@ -22,7 +22,6 @@
</event>
<event name="system/seteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -35,7 +34,6 @@
</event>
<event name="system/reseteditmode">
<property name="id" value="hs_popup_open_hold"/>
- <property name="class" value="widget_indication"/>
</event>
</action>
<action>
@@ -80,24 +78,12 @@
<!-- Plugins in this view -->
<box id="plugins_container">
- <plugin id="plugin1" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin2" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin3" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin4" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin5" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
- <plugin id="plugin6" class="plugins" actionshandler="plugin_actions">
- <image class="widget_indication" />
- </plugin>
+ <plugin id="plugin1" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin2" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin3" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin4" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin5" class="plugins" actionshandler="plugin_actions"/>
+ <plugin id="plugin6" class="plugins" actionshandler="plugin_actions"/>
</box>
<!-- plugins' actions handler -->
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/37/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/37/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/50/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/50/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/57/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/57/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/94/View.css Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/xuikon/94/View.css Wed Mar 31 21:17:19 2010 +0300
@@ -32,28 +32,6 @@
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;
--- a/idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/qhd_tch/wideimage_2001f489/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,18 +1,18 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
- <family>qhd_tch</family>
+ <family>qhd_tch</family>
- <type>template</type>
+ <type>template</type>
- <!-- interface uid -->
+ <!-- interface uid -->
<interfaceuid>0x2001f48a</interfaceuid>
@@ -56,4 +56,4 @@
-</package>
\ No newline at end of file
+</package>
--- a/idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/desktop_20018eee/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/double_row_icon_widget_2001fdbd/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/double_row_widget_2001fdc2/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/root_2001f48f/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/single_row_icon_widget_2001fdc0/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/single_row_widget_2001fdc1/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/triple_row_icon_widget_2001fdbe/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/triple_row_widget_2001fdbf/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/view1_2001fdb9/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/manifest.dat Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/data/vga_tch/wideimage_10009dff/hsps/00/manifest.dat Wed Mar 31 21:17:19 2010 +0300
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<package version="1.0">
+<package version="2.0">
<family>vga_tch</family>
--- a/idlehomescreen/exths/group/backup_registration.xml Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration>
- <proxy_data_manager sid = "0x10202BE9" />
- <restore requires_reboot = "no"/>
-</backup_registration>
-
\ No newline at end of file
--- a/idlehomescreen/exths/group/bld.inf Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/exths/group/bld.inf Wed Mar 31 21:17:19 2010 +0300
@@ -27,11 +27,6 @@
../rom/aicontainer.iby CORE_APP_LAYER_IBY_EXPORT_PATH(aicontainer.iby)
-// Backup registration
-//backup_registration.xml /epoc32/data/z/private/101fd657/backup_registration.xml
-//backup_registration.xml /epoc32/release/winscw/udeb/z/private/101fd657/backup_registration.xml
-//backup_registration.xml /epoc32/release/winscw/urel/z/private/101fd657/backup_registration.xml
-
// Generic configuration interface for component cenrep settings
../conf/activeidle.confml APP_LAYER_CONFML(activeidle.confml)
../conf/activeidle_10207467.crml APP_LAYER_CRML(activeidle_10207467.crml)
--- a/idlehomescreen/exths/rom/aicontainer.iby Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/exths/rom/aicontainer.iby Wed Mar 31 21:17:19 2010 +0300
@@ -23,7 +23,6 @@
#ifdef RD_CUSTOMIZABLE_AI
ECOM_PLUGIN(aicontainer.dll,101FD657.rsc)
-data=ZPRIVATE\101FD657\backup_registration.xml private\101FD657\backup_registration.xml
#endif // RD_CUSTOMIZABLE_AI
#endif // AIPLUGINTEST_IBY
--- a/idlehomescreen/hscontentcontrol/group/hscontentcontrol.mmp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/hscontentcontrol/group/hscontentcontrol.mmp Wed Mar 31 21:17:19 2010 +0300
@@ -33,7 +33,7 @@
SOURCE hscontentcontrolfactory.cpp
SOURCE hscontentcontrolui.cpp
SOURCE hscontentcontrolecomlistener.cpp
-SOURCE hscontentcontroluninstallmonitor.cpp
+SOURCE hscontentcontrolswilistener.cpp
//By default, the build tools look for the WINSCW def file in a BWINS directory
//(at the same level as the directory containing the mmp file),
@@ -60,7 +60,8 @@
LIBRARY estor.lib
LIBRARY ecom.lib
LIBRARY charconv.lib
-LIBRARY xn3layoutengine.lib
+LIBRARY swiutils.lib
+LIBRARY xn3layoutengine.lib
#ifdef ENABLE_ABIV2_MODE
DEBUGGABLE
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/hscontentcontrol/inc/hscontentcontrolfactory.h Wed Mar 31 21:17:19 2010 +0300
@@ -24,11 +24,11 @@
// User includes
#include "hscontentcontrolecomobserver.h"
-#include "hscontentcontroluninstallobserver.h"
+#include "hscontentcontrolswiobserver.h"
// Forward declarations
class CHsContentControlEComListener;
-class CHsContentControlUninstallMonitor;
+class CHsContentControlSwiListener;
class CXnAppUiAdapter;
/**
@@ -44,7 +44,7 @@
*/
NONSHARABLE_CLASS( CHsContentControlFactory ) : public CBase,
public MHsContentControlEComObserver,
- public MHsContentControlUninstallObserver
+ public MHsContentControlSwiObserver
{
public: // Constructor and destructor
/**
@@ -64,14 +64,14 @@
*/
void HandleEComChangeEvent();
-private: // from MHsContentControlUninstallObserver
+private: // from MHsContentControlSwiObserver
/**
- * Notification of Uninstall event from SWI.
- * @param aPkgUid The package UID which is being uninstalled.
+ * Notification of Install/Uninstall event from SWI.
+ * @param aUidList The package UID list which is being processed.
*/
- void HandleUninstallEvent( const TUid& aPkgUid );
-
+ void HandleSwiEvent( const RArray<TUid>& aUidList );
+
private: // Constructors
/**
* Constructor
@@ -150,9 +150,9 @@
CHsContentControlEComListener* iHsContentControlEComListener;
/**
- * An object of type CHsContentControlUninstallMonitor ( Owned ).
+ * An object of type CHsContentControlSwiListener ( Owned ).
*/
- CHsContentControlUninstallMonitor* iHsContentControlUninstallMonitor;
+ CHsContentControlSwiListener* iHsContentControlSwiListener;
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/hscontentcontrol/inc/hscontentcontrolswilistener.h Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,61 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Utility class to listen SWI operations.
+*
+*/
+
+#ifndef HSCONTENTCONTROLSWILISTENER_H
+#define HSCONTENTCONTROLSWILISTENER_H
+
+// System includes
+#include <e32base.h>
+#include <e32property.h>
+
+// User includes
+#include "hscontentcontrolswiobserver.h"
+
+// Forward declarations
+
+// Class declaration
+/**
+* @class CHsContentControlSwiListener
+*
+* @brief An instance of class CHsContentControlSwiListener which listens for
+* SWI operations (installation, uninstallation , restore).
+*
+* @lib hscontentcontrol.lib
+*/
+NONSHARABLE_CLASS( CHsContentControlSwiListener ) : public CActive
+ {
+public: // constructors and destructor
+ static CHsContentControlSwiListener* NewL(
+ MHsContentControlSwiObserver& aObs );
+ ~CHsContentControlSwiListener();
+
+protected: // from CActive
+ void DoCancel();
+ void RunL();
+
+private: // new functions
+ CHsContentControlSwiListener(
+ MHsContentControlSwiObserver& aObs );
+ void ConstructL();
+
+private: // data
+ MHsContentControlSwiObserver& iObs;
+ RProperty iSwInstallKey;
+ };
+
+#endif // HSCONTENTCONTROLSWILISTENER_H
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/hscontentcontrol/inc/hscontentcontrolswiobserver.h Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface for getting notified for Swi events.
+*
+*/
+
+
+#ifndef HSCONTENTCONTROLSWIOBSERVER_H
+#define HSCONTENTCONTROLSWIOBSERVER_H
+
+/**
+* MHsContentControlSwiObserver
+*
+* @brief The observer of Swi operations. The derived class needs to implement
+* the functions below and will be notified by CHsContentControlSwiListener
+*
+* @see CHsContentControlSwiListener
+*/
+class MHsContentControlSwiObserver
+ {
+public:
+ /**
+ * Notification of Swi event ( install/uninstall/restore)
+ * @param aUidList list of package UID which is being processed.
+ */
+ virtual void HandleSwiEvent( const RArray<TUid>& aUidList ) = 0;
+ };
+
+#endif // HSCONTENTCONTROLSWIOBSERVER_H
+
+// End of file
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallmonitor.h Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class to listen SWI uninstall operation.
-*
-*/
-
-#ifndef HSCONTENTCONTROLUNINSTALLMONITOR_H
-#define HSCONTENTCONTROLUNINSTALLMONITOR_H
-
-// System includes
-#include <e32base.h>
-#include <e32property.h>
-
-// User includes
-#include "hscontentcontroluninstallobserver.h"
-
-// Forward declarations
-
-// Class declaration
-/**
-* @class CHsContentControlUninstallMonitor
-*
-* @brief An instance of class CHsContentControlUninstallMonitor which listens for
-* uninstall event from SWI.
-*
-* @lib hscontentcontrol.lib
-*/
-NONSHARABLE_CLASS( CHsContentControlUninstallMonitor ) : public CActive
- {
-public: // constructors and destructor
- static CHsContentControlUninstallMonitor* NewL(
- MHsContentControlUninstallObserver& aObs );
- ~CHsContentControlUninstallMonitor();
-
-protected: // from CActive
- void DoCancel();
- void RunL();
-
-private: // new functions
- CHsContentControlUninstallMonitor(
- MHsContentControlUninstallObserver& aObs );
- void ConstructL();
-
-private: // data
- MHsContentControlUninstallObserver& iObs;
- RProperty iSwUninstallKey;
- };
-
-#endif // HSCONTENTCONTROLUNINSTALLMONITOR_H
-
--- a/idlehomescreen/hscontentcontrol/inc/hscontentcontroluninstallobserver.h Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Interface for getting notified for SWI uninstall event.
-*
-*/
-
-
-#ifndef HSCONTENTCONTROLUNINSTALLOBSERVER_H
-#define HSCONTENTCONTROLUNINSTALLOBSERVER_H
-
-/**
-* MHsContentControlUninstallObserver
-*
-* @brief The observer of uninstall operations. The derived class needs to implement
-* the functions below and will be notified by CHsContentControlUninstallMonitor.
-*
-* @see CHsContentControlUninstallMonitor
-*/
-class MHsContentControlUninstallObserver
- {
-public:
- /**
- * Notification of Uninstall event from SWI.
- * @param aPkgUid The package UID which is being uninstalled.
- */
- virtual void HandleUninstallEvent( const TUid& aPkgUid ) = 0;
- };
-
-#endif // HSCONTENTCONTROLUNINSTALLOBSERVER_H
-
-// End of file
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/hscontentcontrol/src/hscontentcontrolfactory.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -24,7 +24,7 @@
#include "xnappuiadapter.h"
#include "hscontentcontrolfactory.h"
#include "hscontentcontrolecomlistener.h"
-#include "hscontentcontroluninstallmonitor.h"
+#include "hscontentcontrolswilistener.h"
// Local constants
@@ -81,11 +81,11 @@
{
iHsContentControlEComListener =
CHsContentControlEComListener::NewL( *this );
+ iHsContentControlSwiListener =
+ CHsContentControlSwiListener::NewL( *this );
+
REComSession::ListImplementationsL(
- KInterfaceUidContentController, iImplArray );
-
- iHsContentControlUninstallMonitor =
- CHsContentControlUninstallMonitor::NewL( *this );
+ KInterfaceUidContentController, iImplArray );
}
// ----------------------------------------------------------------------------
@@ -102,13 +102,13 @@
// ----------------------------------------------------------------------------
//
EXPORT_C CHsContentControlFactory::~CHsContentControlFactory()
- {
- delete iHsContentControlEComListener;
- delete iHsContentControlUninstallMonitor;
+ {
+ delete iHsContentControlEComListener;
+ delete iHsContentControlSwiListener;
iImplArray.ResetAndDestroy();
iImplArray.Close();
-
+
iHsContentControlUis.ResetAndDestroy();
}
@@ -208,25 +208,29 @@
}
// ----------------------------------------------------------------------------
-// CHsContentControlFactory::HandleUninstallEvent()
+// CHsContentControlFactory::HandleSwiEvent()
// ----------------------------------------------------------------------------
//
-void CHsContentControlFactory::HandleUninstallEvent( const TUid& aPkgUid )
+void CHsContentControlFactory::HandleSwiEvent( const RArray<TUid>& aUidList )
{
// ignore event if no plugin loaded.
- if ( iHsContentControlUis.Count() > 0 )
+ if ( iHsContentControlUis.Count() > 0 && aUidList.Count() > 0 )
{
for( TInt index( iHsContentControlUis.Count() - 1 ); index >= 0; --index )
{
CHsContentControlUi* cc( iHsContentControlUis[ index ] );
- // ImplUid of plugin must match Sis pkg uid
- if ( cc && cc->ImplUid() == aPkgUid )
+ for( TInt uidIndex( aUidList.Count() - 1 ); uidIndex >= 0 && cc; --uidIndex )
{
- ReleaseHsCcUi( cc );
- iHsContentControlUis.Remove( index );
- delete cc;
- cc = NULL;
- break;
+ // ImplUid of plugin must match Sis pkg uid
+ if ( cc->ImplUid() == aUidList[uidIndex] )
+ {
+ // release ui and keep checking, multiple package might be being
+ // processed by SWI, this events comes once for all packages.
+ ReleaseHsCcUi( cc );
+ iHsContentControlUis.Remove( index );
+ delete cc;
+ cc = NULL;
+ }
}
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/idlehomescreen/hscontentcontrol/src/hscontentcontrolswilistener.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Class to listen SWI operations (install/uninstall/restore).
+*
+*/
+#include <swi/swiutils.h>
+#include <sacls.h> // KSWIUidsCurrentlyBeingProcessed
+
+#include "hscontentcontrolswilistener.h"
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::NewL()
+// ---------------------------------------------------------------------------
+//
+CHsContentControlSwiListener* CHsContentControlSwiListener::NewL(
+ MHsContentControlSwiObserver& aObs )
+ {
+ CHsContentControlSwiListener* self =
+ new( ELeave ) CHsContentControlSwiListener( aObs );
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+ return self;
+ }
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::~CHsContentControlSwiListener()
+// ---------------------------------------------------------------------------
+//
+CHsContentControlSwiListener::~CHsContentControlSwiListener()
+ {
+ Cancel();
+ iSwInstallKey.Close();
+ }
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::DoCancel()
+// ---------------------------------------------------------------------------
+//
+void CHsContentControlSwiListener::DoCancel()
+ {
+ if ( IsActive() )
+ {
+ iSwInstallKey.Cancel();
+ }
+ }
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::RunL()
+// ---------------------------------------------------------------------------
+//
+void CHsContentControlSwiListener::RunL()
+ {
+ RArray<TUid> uidList;
+
+ // get list of uids being processed.
+ if ( Swi::GetAllUids( uidList ) == KErrNone )
+ {
+ iObs.HandleSwiEvent( uidList );
+ uidList.Reset();
+ }
+
+ // close array
+ uidList.Close();
+
+ // keep monitoring
+ iSwInstallKey.Subscribe( iStatus );
+ SetActive();
+ }
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::CHsContentControlSwiListener()
+// ---------------------------------------------------------------------------
+//
+CHsContentControlSwiListener::CHsContentControlSwiListener(
+ MHsContentControlSwiObserver& aObs )
+ : CActive( CActive::EPriorityStandard ),
+ iObs( aObs )
+ {
+ CActiveScheduler::Add( this );
+ }
+
+// ---------------------------------------------------------------------------
+// CHsContentControlSwiListener::ConstructL()
+// ---------------------------------------------------------------------------
+//
+void CHsContentControlSwiListener::ConstructL()
+ {
+ if ( KErrNone == iSwInstallKey.Attach(
+ KUidSystemCategory, KSWIUidsCurrentlyBeingProcessed ) )
+ {
+ iSwInstallKey.Subscribe( iStatus );
+ SetActive();
+ }
+ }
+
--- a/idlehomescreen/hscontentcontrol/src/hscontentcontroluninstallmonitor.cpp Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Class to listen SWI uninstall operation.
-*
-*/
-
-#include "hscontentcontroluninstallmonitor.h"
-#include <SWInstallerInternalPSKeys.h>
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::NewL()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor* CHsContentControlUninstallMonitor::NewL(
- MHsContentControlUninstallObserver& aObs )
- {
- CHsContentControlUninstallMonitor* self =
- new ( ELeave ) CHsContentControlUninstallMonitor( aObs );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::~CHsContentControlUninstallMonitor()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor::~CHsContentControlUninstallMonitor()
- {
- Cancel();
- iSwUninstallKey.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::DoCancel()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::DoCancel()
- {
- if ( IsActive() )
- {
- iSwUninstallKey.Cancel();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::RunL()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::RunL()
- {
- iSwUninstallKey.Subscribe( iStatus );
- SetActive();
-
- TInt value = 0;
- if( iSwUninstallKey.Get( value ) == KErrNone )
- {
- TUid uid( KNullUid );
- uid.iUid = value;
- iObs.HandleUninstallEvent( uid );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::CHsContentControlUninstallMonitor()
-// ---------------------------------------------------------------------------
-//
-CHsContentControlUninstallMonitor::CHsContentControlUninstallMonitor(
- MHsContentControlUninstallObserver& aObs )
- : CActive( CActive::EPriorityStandard ),
- iObs( aObs )
- {
- CActiveScheduler::Add( this );
- }
-
-// ---------------------------------------------------------------------------
-// CHsContentControlUninstallMonitor::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CHsContentControlUninstallMonitor::ConstructL()
- {
- if ( KErrNone == iSwUninstallKey.Attach(
- KPSUidSWInstallerUiNotification, KSWInstallerUninstallation ) )
- {
- iSwUninstallKey.Subscribe( iStatus );
- SetActive();
- }
- }
-
-// End of file
--- a/idlehomescreen/inc/xnappuiadapter.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/inc/xnappuiadapter.h Wed Mar 31 21:17:19 2010 +0300
@@ -160,12 +160,12 @@
CXnNodeAppIf& aDestination );
/**
- * This is called when initial view is activated
+ * This is called when (initial) view is ready
* To be overriden by subclass.
*
* @since S60 5.2
*/
- IMPORT_C virtual void UiActivated();
+ IMPORT_C virtual void HandleUiReadyEventL();
/**
* Second-phase constructor
--- a/idlehomescreen/inc/xnviewmanager.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/inc/xnviewmanager.h Wed Mar 31 21:17:19 2010 +0300
@@ -264,11 +264,11 @@
void ResetCrashCount();
/**
- * Show error note
- *
- * @param aResourceId Resource id for string to be displayed.
+ * Show error note from resource.
*/
- void ShowErrorNoteL( const TInt aResourceId );
+ void ShowErrorNoteL();
+
+ void DoRobustnessCheckL();
private:
// data
--- a/idlehomescreen/loc/activeidle3.loc Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/loc/activeidle3.loc Wed Mar 31 21:17:19 2010 +0300
@@ -297,3 +297,9 @@
// r: TB9.2
//
#define qtn_hs_corrupted_image_note "Unable to select. Image corrupted or format not supported."
+
+// d: Show when default configuration is loaded (critical error case)
+// l: list_single_pane_t1_cp2
+// w:
+// r: TB9.2
+#define qtn_hs_error_content_removed "Critical error occurred. Content removed."
--- a/idlehomescreen/sapiwrapper/hspswrapper/bwins/hspswrapper.def Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/sapiwrapper/hspswrapper/bwins/hspswrapper.def Wed Mar 31 21:17:19 2010 +0300
@@ -44,59 +44,59 @@
?NewLC@CHspsWrapper@hspswrapper@@SAPAV12@ABVTDesC8@@PAVMHspsWrapperObserver@2@@Z @ 43 NONAME ; class hspswrapper::CHspsWrapper * hspswrapper::CHspsWrapper::NewLC(class TDesC8 const &, class hspswrapper::MHspsWrapperObserver *)
?SetNameL@CPropertyMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 44 NONAME ; class hspswrapper::CPropertyMap & hspswrapper::CPropertyMap::SetNameL(class TDesC8 const &)
?SetConfStateL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@0H@Z @ 45 NONAME ; int hspswrapper::CHspsWrapper::SetConfStateL(class TDesC8 const &, class TDesC8 const &, int)
- ?MediaType@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 46 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::MediaType(void) const
- ?SetTypeL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 47 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetTypeL(class TDesC8 const &)
- ?AddPropertyMapL@CItemMap@hspswrapper@@QAEAAV12@PAVCPropertyMap@2@@Z @ 48 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::AddPropertyMapL(class hspswrapper::CPropertyMap *)
- ?NewLC@CObjectMap@hspswrapper@@SAPAV12@XZ @ 49 NONAME ; class hspswrapper::CObjectMap * hspswrapper::CObjectMap::NewLC(void)
- ?GetAppConfigurationsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@@Z @ 50 NONAME ; void hspswrapper::CHspsWrapper::GetAppConfigurationsL(class RPointerArray<class hspswrapper::CPluginInfo> &)
- ?NewL@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 51 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewL(void)
- ?SetItemNameL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 52 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemNameL(class TDesC8 const &)
- ?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0@Z @ 53 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &)
- ?NewL@CHspsConfiguration@hspswrapper@@SAPAV12@XZ @ 54 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsConfiguration::NewL(void)
- ?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 55 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC8 const &)
- ?SetPluginUidL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 56 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetPluginUidL(class TDesC8 const &)
- ?SetValueL@CPropertyMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 57 NONAME ; class hspswrapper::CPropertyMap & hspswrapper::CPropertyMap::SetValueL(class TDesC8 const &)
- ??1CObjectMap@hspswrapper@@UAE@XZ @ 58 NONAME ; hspswrapper::CObjectMap::~CObjectMap(void)
- ??1CItemMap@hspswrapper@@UAE@XZ @ 59 NONAME ; hspswrapper::CItemMap::~CItemMap(void)
- ?Name@CPropertyMap@hspswrapper@@QBEABVTDesC8@@XZ @ 60 NONAME ; class TDesC8 const & hspswrapper::CPropertyMap::Name(void) const
- ?SetPluginSettingsL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@ABV?$RPointerArray@VCItemMap@hspswrapper@@@@@Z @ 61 NONAME ; int hspswrapper::CHspsWrapper::SetPluginSettingsL(class TDesC8 const &, class RPointerArray<class hspswrapper::CItemMap> const &)
- ?ConfId@CHspsConfiguration@hspswrapper@@QBEABVTDesC8@@XZ @ 62 NONAME ; class TDesC8 const & hspswrapper::CHspsConfiguration::ConfId(void) const
- ?GetPluginsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@ABVTDesC8@@1@Z @ 63 NONAME ; void hspswrapper::CHspsWrapper::GetPluginsL(class RPointerArray<class hspswrapper::CPluginInfo> &, class TDesC8 const &, class TDesC8 const &)
- ?ItemId@CItemMap@hspswrapper@@QBEABVTDesC8@@XZ @ 64 NONAME ; class TDesC8 const & hspswrapper::CItemMap::ItemId(void) const
- ?GetAppConfigurationL@CHspsWrapper@hspswrapper@@QAEPAVCHspsConfiguration@2@XZ @ 65 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsWrapper::GetAppConfigurationL(void)
- ?NewL@CItemMap@hspswrapper@@SAPAV12@XZ @ 66 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewL(void)
- ?SetPathL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 67 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetPathL(class TDesC8 const &)
- ?PluginId@CAddPluginResult@hspswrapper@@QBEABVTDesC8@@XZ @ 68 NONAME ; class TDesC8 const & hspswrapper::CAddPluginResult::PluginId(void) const
- ??1CAddPluginResult@hspswrapper@@UAE@XZ @ 69 NONAME ; hspswrapper::CAddPluginResult::~CAddPluginResult(void)
- ?NewLC@CPluginMap@hspswrapper@@SAPAV12@XZ @ 70 NONAME ; class hspswrapper::CPluginMap * hspswrapper::CPluginMap::NewLC(void)
- ?ReplacePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@0@Z @ 71 NONAME ; int hspswrapper::CHspsWrapper::ReplacePluginL(class TDesC8 const &, class TDesC8 const &)
- ?Resources@CHspsConfiguration@hspswrapper@@QAEAAV?$RPointerArray@VCObjectMap@hspswrapper@@@@XZ @ 72 NONAME ; class RPointerArray<class hspswrapper::CObjectMap> & hspswrapper::CHspsConfiguration::Resources(void)
- ?MaxChild@CPluginInfo@hspswrapper@@QBEABJXZ @ 73 NONAME ; long const & hspswrapper::CPluginInfo::MaxChild(void) const
- ?SetLockingStatusL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 74 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetLockingStatusL(class TDesC8 const &)
- ?ServiceHandler@CHspsWrapper@hspswrapper@@QBEPAVCLiwServiceHandler@@XZ @ 75 NONAME ; class CLiwServiceHandler * hspswrapper::CHspsWrapper::ServiceHandler(void) const
- ?Interface@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 76 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Interface(void) const
- ?SetActivePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 77 NONAME ; int hspswrapper::CHspsWrapper::SetActivePluginL(class TDesC8 const &)
- ?SetDescriptionL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 78 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetDescriptionL(class TDesC8 const &)
- ?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0H@Z @ 79 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &, int)
- ?SetPluginIdL@CAddPluginResult@hspswrapper@@QAEXABVTDesC8@@@Z @ 80 NONAME ; void hspswrapper::CAddPluginResult::SetPluginIdL(class TDesC8 const &)
- ?SetUidL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 81 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetUidL(class TDesC8 const &)
- ?SetTagL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 82 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetTagL(class TDesC8 const &)
- ?NewLC@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 83 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewLC(void)
- ?SetNameL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 84 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetNameL(class TDesC8 const &)
- ?SetMediaTypeL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 85 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetMediaTypeL(class TDesC8 const &)
- ?Tag@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 86 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::Tag(void) const
- ?SetItemIdL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 87 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemIdL(class TDesC8 const &)
- ?NewLC@CItemMap@hspswrapper@@SAPAV12@XZ @ 88 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewLC(void)
- ?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC16@@@Z @ 89 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC16 const &)
- ?SetInterfaceL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 90 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetInterfaceL(class TDesC8 const &)
- ?AddPluginMapL@CHspsConfiguration@hspswrapper@@QAEAAV12@PAVCPluginMap@2@@Z @ 91 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::AddPluginMapL(class hspswrapper::CPluginMap *)
- ?RemovePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 92 NONAME ; int hspswrapper::CHspsWrapper::RemovePluginL(class TDesC8 const &)
- ?LockingStatus@CPluginMap@hspswrapper@@QBEABVTDesC8@@XZ @ 93 NONAME ; class TDesC8 const & hspswrapper::CPluginMap::LockingStatus(void) const
- ?SetActivationStateL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 94 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetActivationStateL(class TDesC8 const &)
- ?Type@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 95 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Type(void) const
- ?SetConfIdL@CHspsConfiguration@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 96 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::SetConfIdL(class TDesC8 const &)
- ?NewLC@CPropertyMap@hspswrapper@@SAPAV12@XZ @ 97 NONAME ; class hspswrapper::CPropertyMap * hspswrapper::CPropertyMap::NewLC(void)
- ??0CAddPluginResult@hspswrapper@@AAE@XZ @ 98 NONAME ; hspswrapper::CAddPluginResult::CAddPluginResult(void)
- ?RestoreActiveViewL@CHspsWrapper@hspswrapper@@QAEHXZ @ 99 NONAME ; int hspswrapper::CHspsWrapper::RestoreActiveViewL(void)
- ?RestoreRootL@CHspsWrapper@hspswrapper@@QAEHXZ @ 100 NONAME ; int hspswrapper::CHspsWrapper::RestoreRootL(void)
+ ?RestoreDefaultConfL@CHspsWrapper@hspswrapper@@QAEHXZ @ 46 NONAME ; int hspswrapper::CHspsWrapper::RestoreDefaultConfL(void)
+ ?MediaType@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 47 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::MediaType(void) const
+ ?SetTypeL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 48 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetTypeL(class TDesC8 const &)
+ ?AddPropertyMapL@CItemMap@hspswrapper@@QAEAAV12@PAVCPropertyMap@2@@Z @ 49 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::AddPropertyMapL(class hspswrapper::CPropertyMap *)
+ ?NewLC@CObjectMap@hspswrapper@@SAPAV12@XZ @ 50 NONAME ; class hspswrapper::CObjectMap * hspswrapper::CObjectMap::NewLC(void)
+ ?GetAppConfigurationsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@@Z @ 51 NONAME ; void hspswrapper::CHspsWrapper::GetAppConfigurationsL(class RPointerArray<class hspswrapper::CPluginInfo> &)
+ ?NewL@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 52 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewL(void)
+ ?SetItemNameL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 53 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemNameL(class TDesC8 const &)
+ ?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0@Z @ 54 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &)
+ ?NewL@CHspsConfiguration@hspswrapper@@SAPAV12@XZ @ 55 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsConfiguration::NewL(void)
+ ?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 56 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC8 const &)
+ ?SetPluginUidL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 57 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetPluginUidL(class TDesC8 const &)
+ ?SetValueL@CPropertyMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 58 NONAME ; class hspswrapper::CPropertyMap & hspswrapper::CPropertyMap::SetValueL(class TDesC8 const &)
+ ??1CObjectMap@hspswrapper@@UAE@XZ @ 59 NONAME ; hspswrapper::CObjectMap::~CObjectMap(void)
+ ??1CItemMap@hspswrapper@@UAE@XZ @ 60 NONAME ; hspswrapper::CItemMap::~CItemMap(void)
+ ?Name@CPropertyMap@hspswrapper@@QBEABVTDesC8@@XZ @ 61 NONAME ; class TDesC8 const & hspswrapper::CPropertyMap::Name(void) const
+ ?SetPluginSettingsL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@ABV?$RPointerArray@VCItemMap@hspswrapper@@@@@Z @ 62 NONAME ; int hspswrapper::CHspsWrapper::SetPluginSettingsL(class TDesC8 const &, class RPointerArray<class hspswrapper::CItemMap> const &)
+ ?ConfId@CHspsConfiguration@hspswrapper@@QBEABVTDesC8@@XZ @ 63 NONAME ; class TDesC8 const & hspswrapper::CHspsConfiguration::ConfId(void) const
+ ?GetPluginsL@CHspsWrapper@hspswrapper@@QAEXAAV?$RPointerArray@VCPluginInfo@hspswrapper@@@@ABVTDesC8@@1@Z @ 64 NONAME ; void hspswrapper::CHspsWrapper::GetPluginsL(class RPointerArray<class hspswrapper::CPluginInfo> &, class TDesC8 const &, class TDesC8 const &)
+ ?ItemId@CItemMap@hspswrapper@@QBEABVTDesC8@@XZ @ 65 NONAME ; class TDesC8 const & hspswrapper::CItemMap::ItemId(void) const
+ ?GetAppConfigurationL@CHspsWrapper@hspswrapper@@QAEPAVCHspsConfiguration@2@XZ @ 66 NONAME ; class hspswrapper::CHspsConfiguration * hspswrapper::CHspsWrapper::GetAppConfigurationL(void)
+ ?NewL@CItemMap@hspswrapper@@SAPAV12@XZ @ 67 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewL(void)
+ ?SetPathL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 68 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetPathL(class TDesC8 const &)
+ ?PluginId@CAddPluginResult@hspswrapper@@QBEABVTDesC8@@XZ @ 69 NONAME ; class TDesC8 const & hspswrapper::CAddPluginResult::PluginId(void) const
+ ?RestoreRootL@CHspsWrapper@hspswrapper@@QAEHXZ @ 70 NONAME ; int hspswrapper::CHspsWrapper::RestoreRootL(void)
+ ??1CAddPluginResult@hspswrapper@@UAE@XZ @ 71 NONAME ; hspswrapper::CAddPluginResult::~CAddPluginResult(void)
+ ?NewLC@CPluginMap@hspswrapper@@SAPAV12@XZ @ 72 NONAME ; class hspswrapper::CPluginMap * hspswrapper::CPluginMap::NewLC(void)
+ ?ReplacePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@0@Z @ 73 NONAME ; int hspswrapper::CHspsWrapper::ReplacePluginL(class TDesC8 const &, class TDesC8 const &)
+ ?Resources@CHspsConfiguration@hspswrapper@@QAEAAV?$RPointerArray@VCObjectMap@hspswrapper@@@@XZ @ 74 NONAME ; class RPointerArray<class hspswrapper::CObjectMap> & hspswrapper::CHspsConfiguration::Resources(void)
+ ?MaxChild@CPluginInfo@hspswrapper@@QBEABJXZ @ 75 NONAME ; long const & hspswrapper::CPluginInfo::MaxChild(void) const
+ ?SetLockingStatusL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 76 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetLockingStatusL(class TDesC8 const &)
+ ?ServiceHandler@CHspsWrapper@hspswrapper@@QBEPAVCLiwServiceHandler@@XZ @ 77 NONAME ; class CLiwServiceHandler * hspswrapper::CHspsWrapper::ServiceHandler(void) const
+ ?Interface@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 78 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Interface(void) const
+ ?SetActivePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 79 NONAME ; int hspswrapper::CHspsWrapper::SetActivePluginL(class TDesC8 const &)
+ ?SetDescriptionL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 80 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetDescriptionL(class TDesC8 const &)
+ ?AddPluginL@CHspsWrapper@hspswrapper@@QAEPAVCAddPluginResult@2@ABVTDesC8@@0H@Z @ 81 NONAME ; class hspswrapper::CAddPluginResult * hspswrapper::CHspsWrapper::AddPluginL(class TDesC8 const &, class TDesC8 const &, int)
+ ?SetPluginIdL@CAddPluginResult@hspswrapper@@QAEXABVTDesC8@@@Z @ 82 NONAME ; void hspswrapper::CAddPluginResult::SetPluginIdL(class TDesC8 const &)
+ ?SetUidL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 83 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetUidL(class TDesC8 const &)
+ ?SetTagL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 84 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetTagL(class TDesC8 const &)
+ ?NewLC@CPluginInfo@hspswrapper@@SAPAV12@XZ @ 85 NONAME ; class hspswrapper::CPluginInfo * hspswrapper::CPluginInfo::NewLC(void)
+ ?SetNameL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 86 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetNameL(class TDesC8 const &)
+ ?SetMediaTypeL@CObjectMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 87 NONAME ; class hspswrapper::CObjectMap & hspswrapper::CObjectMap::SetMediaTypeL(class TDesC8 const &)
+ ?Tag@CObjectMap@hspswrapper@@QBEABVTDesC8@@XZ @ 88 NONAME ; class TDesC8 const & hspswrapper::CObjectMap::Tag(void) const
+ ?SetItemIdL@CItemMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 89 NONAME ; class hspswrapper::CItemMap & hspswrapper::CItemMap::SetItemIdL(class TDesC8 const &)
+ ?NewLC@CItemMap@hspswrapper@@SAPAV12@XZ @ 90 NONAME ; class hspswrapper::CItemMap * hspswrapper::CItemMap::NewLC(void)
+ ?SetLogoIconL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC16@@@Z @ 91 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetLogoIconL(class TDesC16 const &)
+ ?SetInterfaceL@CPluginInfo@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 92 NONAME ; class hspswrapper::CPluginInfo & hspswrapper::CPluginInfo::SetInterfaceL(class TDesC8 const &)
+ ?AddPluginMapL@CHspsConfiguration@hspswrapper@@QAEAAV12@PAVCPluginMap@2@@Z @ 93 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::AddPluginMapL(class hspswrapper::CPluginMap *)
+ ?RemovePluginL@CHspsWrapper@hspswrapper@@QAEHABVTDesC8@@@Z @ 94 NONAME ; int hspswrapper::CHspsWrapper::RemovePluginL(class TDesC8 const &)
+ ?LockingStatus@CPluginMap@hspswrapper@@QBEABVTDesC8@@XZ @ 95 NONAME ; class TDesC8 const & hspswrapper::CPluginMap::LockingStatus(void) const
+ ?SetActivationStateL@CPluginMap@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 96 NONAME ; class hspswrapper::CPluginMap & hspswrapper::CPluginMap::SetActivationStateL(class TDesC8 const &)
+ ?Type@CPluginInfo@hspswrapper@@QBEABVTDesC8@@XZ @ 97 NONAME ; class TDesC8 const & hspswrapper::CPluginInfo::Type(void) const
+ ?SetConfIdL@CHspsConfiguration@hspswrapper@@QAEAAV12@ABVTDesC8@@@Z @ 98 NONAME ; class hspswrapper::CHspsConfiguration & hspswrapper::CHspsConfiguration::SetConfIdL(class TDesC8 const &)
+ ?NewLC@CPropertyMap@hspswrapper@@SAPAV12@XZ @ 99 NONAME ; class hspswrapper::CPropertyMap * hspswrapper::CPropertyMap::NewLC(void)
+ ??0CAddPluginResult@hspswrapper@@AAE@XZ @ 100 NONAME ; hspswrapper::CAddPluginResult::CAddPluginResult(void)
--- a/idlehomescreen/sapiwrapper/hspswrapper/eabi/hspswrapper.def Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/sapiwrapper/hspswrapper/eabi/hspswrapper.def Wed Mar 31 21:17:19 2010 +0300
@@ -36,100 +36,100 @@
_ZN11hspswrapper12CHspsWrapper10AddPluginLERK6TDesC8S3_i @ 35 NONAME
_ZN11hspswrapper12CHspsWrapper11GetPluginsLER13RPointerArrayINS_11CPluginInfoEERK6TDesC8S7_ @ 36 NONAME
_ZN11hspswrapper12CHspsWrapper12MovePluginsLERK6TDesC8RK11MDesC8Array @ 37 NONAME
- _ZN11hspswrapper12CHspsWrapper13RemovePluginLERK6TDesC8 @ 38 NONAME
- _ZN11hspswrapper12CHspsWrapper13SetConfStateLERK6TDesC8S3_i @ 39 NONAME
- _ZN11hspswrapper12CHspsWrapper14ReplacePluginLERK6TDesC8S3_ @ 40 NONAME
- _ZN11hspswrapper12CHspsWrapper16SetActivePluginLERK6TDesC8 @ 41 NONAME
- _ZN11hspswrapper12CHspsWrapper18SetPluginSettingsLERK6TDesC8RK13RPointerArrayINS_8CItemMapEE @ 42 NONAME
- _ZN11hspswrapper12CHspsWrapper20GetAppConfigurationLEv @ 43 NONAME
- _ZN11hspswrapper12CHspsWrapper20SetAppConfigurationLERK6TDesC8 @ 44 NONAME
- _ZN11hspswrapper12CHspsWrapper21GetAppConfigurationsLER13RPointerArrayINS_11CPluginInfoEE @ 45 NONAME
- _ZN11hspswrapper12CHspsWrapper23GetPluginConfigurationLERK6TDesC8 @ 46 NONAME
- _ZN11hspswrapper12CHspsWrapper4NewLERK6TDesC8PNS_20MHspsWrapperObserverE @ 47 NONAME
- _ZN11hspswrapper12CHspsWrapper5NewLCERK6TDesC8PNS_20MHspsWrapperObserverE @ 48 NONAME
- _ZN11hspswrapper12CHspsWrapperD0Ev @ 49 NONAME
- _ZN11hspswrapper12CHspsWrapperD1Ev @ 50 NONAME
- _ZN11hspswrapper12CHspsWrapperD2Ev @ 51 NONAME
- _ZN11hspswrapper12CPropertyMap4NewLEv @ 52 NONAME
- _ZN11hspswrapper12CPropertyMap5NewLCEv @ 53 NONAME
- _ZN11hspswrapper12CPropertyMap8SetNameLERK6TDesC8 @ 54 NONAME
- _ZN11hspswrapper12CPropertyMap9SetValueLERK6TDesC8 @ 55 NONAME
- _ZN11hspswrapper12CPropertyMapD0Ev @ 56 NONAME
- _ZN11hspswrapper12CPropertyMapD1Ev @ 57 NONAME
- _ZN11hspswrapper12CPropertyMapD2Ev @ 58 NONAME
- _ZN11hspswrapper16CAddPluginResult12SetPluginIdLERK6TDesC8 @ 59 NONAME
- _ZN11hspswrapper16CAddPluginResult4NewLEv @ 60 NONAME
- _ZN11hspswrapper16CAddPluginResult9SetStatusEi @ 61 NONAME
- _ZN11hspswrapper16CAddPluginResultC1Ev @ 62 NONAME
- _ZN11hspswrapper16CAddPluginResultC2Ev @ 63 NONAME
- _ZN11hspswrapper16CAddPluginResultD0Ev @ 64 NONAME
- _ZN11hspswrapper16CAddPluginResultD1Ev @ 65 NONAME
- _ZN11hspswrapper16CAddPluginResultD2Ev @ 66 NONAME
- _ZN11hspswrapper18CHspsConfiguration10PluginInfoEv @ 67 NONAME
- _ZN11hspswrapper18CHspsConfiguration10PluginMapsEv @ 68 NONAME
- _ZN11hspswrapper18CHspsConfiguration10SetConfIdLERK6TDesC8 @ 69 NONAME
- _ZN11hspswrapper18CHspsConfiguration11AddItemMapLEPNS_8CItemMapE @ 70 NONAME
- _ZN11hspswrapper18CHspsConfiguration13AddObjectMapLEPNS_10CObjectMapE @ 71 NONAME
- _ZN11hspswrapper18CHspsConfiguration13AddPluginMapLEPNS_10CPluginMapE @ 72 NONAME
- _ZN11hspswrapper18CHspsConfiguration4NewLEv @ 73 NONAME
- _ZN11hspswrapper18CHspsConfiguration5NewLCEv @ 74 NONAME
- _ZN11hspswrapper18CHspsConfiguration8SettingsEv @ 75 NONAME
- _ZN11hspswrapper18CHspsConfiguration9ResourcesEv @ 76 NONAME
- _ZN11hspswrapper18CHspsConfigurationD0Ev @ 77 NONAME
- _ZN11hspswrapper18CHspsConfigurationD1Ev @ 78 NONAME
- _ZN11hspswrapper18CHspsConfigurationD2Ev @ 79 NONAME
- _ZN11hspswrapper8CItemMap10SetItemIdLERK6TDesC8 @ 80 NONAME
- _ZN11hspswrapper8CItemMap12SetItemNameLERK6TDesC8 @ 81 NONAME
- _ZN11hspswrapper8CItemMap15AddPropertyMapLEPNS_12CPropertyMapE @ 82 NONAME
- _ZN11hspswrapper8CItemMap4NewLEv @ 83 NONAME
- _ZN11hspswrapper8CItemMap5NewLCEv @ 84 NONAME
- _ZN11hspswrapper8CItemMapD0Ev @ 85 NONAME
- _ZN11hspswrapper8CItemMapD1Ev @ 86 NONAME
- _ZN11hspswrapper8CItemMapD2Ev @ 87 NONAME
- _ZNK11hspswrapper10CObjectMap3TagEv @ 88 NONAME
- _ZNK11hspswrapper10CObjectMap4PathEv @ 89 NONAME
- _ZNK11hspswrapper10CObjectMap5NameLEv @ 90 NONAME
- _ZNK11hspswrapper10CObjectMap9MediaTypeEv @ 91 NONAME
- _ZNK11hspswrapper10CPluginMap13LockingStatusEv @ 92 NONAME
- _ZNK11hspswrapper10CPluginMap15ActivationStateEv @ 93 NONAME
- _ZNK11hspswrapper10CPluginMap8PluginIdEv @ 94 NONAME
- _ZNK11hspswrapper10CPluginMap9PluginUidEv @ 95 NONAME
- _ZNK11hspswrapper11CPluginInfo11DescriptionEv @ 96 NONAME
- _ZNK11hspswrapper11CPluginInfo13MultiInstanceEv @ 97 NONAME
- _ZNK11hspswrapper11CPluginInfo18ConfigurationStateEv @ 98 NONAME
- _ZNK11hspswrapper11CPluginInfo3UidEv @ 99 NONAME
- _ZNK11hspswrapper11CPluginInfo4NameEv @ 100 NONAME
- _ZNK11hspswrapper11CPluginInfo4TypeEv @ 101 NONAME
- _ZNK11hspswrapper11CPluginInfo8LogoIconEv @ 102 NONAME
- _ZNK11hspswrapper11CPluginInfo8MaxChildEv @ 103 NONAME
- _ZNK11hspswrapper11CPluginInfo9InterfaceEv @ 104 NONAME
- _ZNK11hspswrapper12CHspsWrapper11HspsServiceEv @ 105 NONAME
- _ZNK11hspswrapper12CHspsWrapper13HspsInterfaceEv @ 106 NONAME
- _ZNK11hspswrapper12CHspsWrapper14ServiceHandlerEv @ 107 NONAME
- _ZNK11hspswrapper12CPropertyMap4NameEv @ 108 NONAME
- _ZNK11hspswrapper12CPropertyMap5ValueEv @ 109 NONAME
- _ZNK11hspswrapper16CAddPluginResult6StatusEv @ 110 NONAME
- _ZNK11hspswrapper16CAddPluginResult8PluginIdEv @ 111 NONAME
- _ZNK11hspswrapper18CHspsConfiguration6ConfIdEv @ 112 NONAME
- _ZNK11hspswrapper8CItemMap10PropertiesEv @ 113 NONAME
- _ZNK11hspswrapper8CItemMap6ItemIdEv @ 114 NONAME
- _ZNK11hspswrapper8CItemMap8ItemNameEv @ 115 NONAME
- _ZTIN11hspswrapper10CObjectMapE @ 116 NONAME
- _ZTIN11hspswrapper10CPluginMapE @ 117 NONAME
- _ZTIN11hspswrapper11CPluginInfoE @ 118 NONAME
- _ZTIN11hspswrapper12CHspsWrapperE @ 119 NONAME
- _ZTIN11hspswrapper12CPropertyMapE @ 120 NONAME
- _ZTIN11hspswrapper16CAddPluginResultE @ 121 NONAME
- _ZTIN11hspswrapper18CHspsConfigurationE @ 122 NONAME
- _ZTIN11hspswrapper8CItemMapE @ 123 NONAME
- _ZTVN11hspswrapper10CObjectMapE @ 124 NONAME
- _ZTVN11hspswrapper10CPluginMapE @ 125 NONAME
- _ZTVN11hspswrapper11CPluginInfoE @ 126 NONAME
- _ZTVN11hspswrapper12CHspsWrapperE @ 127 NONAME
- _ZTVN11hspswrapper12CPropertyMapE @ 128 NONAME
- _ZTVN11hspswrapper16CAddPluginResultE @ 129 NONAME
- _ZTVN11hspswrapper18CHspsConfigurationE @ 130 NONAME
- _ZTVN11hspswrapper8CItemMapE @ 131 NONAME
- _ZN11hspswrapper12CHspsWrapper18RestoreActiveViewLEv @ 132 NONAME
- _ZN11hspswrapper12CHspsWrapper12RestoreRootLEv @ 133 NONAME
+ _ZN11hspswrapper12CHspsWrapper12RestoreRootLEv @ 38 NONAME
+ _ZN11hspswrapper12CHspsWrapper13RemovePluginLERK6TDesC8 @ 39 NONAME
+ _ZN11hspswrapper12CHspsWrapper13SetConfStateLERK6TDesC8S3_i @ 40 NONAME
+ _ZN11hspswrapper12CHspsWrapper14ReplacePluginLERK6TDesC8S3_ @ 41 NONAME
+ _ZN11hspswrapper12CHspsWrapper16SetActivePluginLERK6TDesC8 @ 42 NONAME
+ _ZN11hspswrapper12CHspsWrapper18SetPluginSettingsLERK6TDesC8RK13RPointerArrayINS_8CItemMapEE @ 43 NONAME
+ _ZN11hspswrapper12CHspsWrapper19RestoreDefaultConfLEv @ 44 NONAME
+ _ZN11hspswrapper12CHspsWrapper20GetAppConfigurationLEv @ 45 NONAME
+ _ZN11hspswrapper12CHspsWrapper20SetAppConfigurationLERK6TDesC8 @ 46 NONAME
+ _ZN11hspswrapper12CHspsWrapper21GetAppConfigurationsLER13RPointerArrayINS_11CPluginInfoEE @ 47 NONAME
+ _ZN11hspswrapper12CHspsWrapper23GetPluginConfigurationLERK6TDesC8 @ 48 NONAME
+ _ZN11hspswrapper12CHspsWrapper4NewLERK6TDesC8PNS_20MHspsWrapperObserverE @ 49 NONAME
+ _ZN11hspswrapper12CHspsWrapper5NewLCERK6TDesC8PNS_20MHspsWrapperObserverE @ 50 NONAME
+ _ZN11hspswrapper12CHspsWrapperD0Ev @ 51 NONAME
+ _ZN11hspswrapper12CHspsWrapperD1Ev @ 52 NONAME
+ _ZN11hspswrapper12CHspsWrapperD2Ev @ 53 NONAME
+ _ZN11hspswrapper12CPropertyMap4NewLEv @ 54 NONAME
+ _ZN11hspswrapper12CPropertyMap5NewLCEv @ 55 NONAME
+ _ZN11hspswrapper12CPropertyMap8SetNameLERK6TDesC8 @ 56 NONAME
+ _ZN11hspswrapper12CPropertyMap9SetValueLERK6TDesC8 @ 57 NONAME
+ _ZN11hspswrapper12CPropertyMapD0Ev @ 58 NONAME
+ _ZN11hspswrapper12CPropertyMapD1Ev @ 59 NONAME
+ _ZN11hspswrapper12CPropertyMapD2Ev @ 60 NONAME
+ _ZN11hspswrapper16CAddPluginResult12SetPluginIdLERK6TDesC8 @ 61 NONAME
+ _ZN11hspswrapper16CAddPluginResult4NewLEv @ 62 NONAME
+ _ZN11hspswrapper16CAddPluginResult9SetStatusEi @ 63 NONAME
+ _ZN11hspswrapper16CAddPluginResultC1Ev @ 64 NONAME
+ _ZN11hspswrapper16CAddPluginResultC2Ev @ 65 NONAME
+ _ZN11hspswrapper16CAddPluginResultD0Ev @ 66 NONAME
+ _ZN11hspswrapper16CAddPluginResultD1Ev @ 67 NONAME
+ _ZN11hspswrapper16CAddPluginResultD2Ev @ 68 NONAME
+ _ZN11hspswrapper18CHspsConfiguration10PluginInfoEv @ 69 NONAME
+ _ZN11hspswrapper18CHspsConfiguration10PluginMapsEv @ 70 NONAME
+ _ZN11hspswrapper18CHspsConfiguration10SetConfIdLERK6TDesC8 @ 71 NONAME
+ _ZN11hspswrapper18CHspsConfiguration11AddItemMapLEPNS_8CItemMapE @ 72 NONAME
+ _ZN11hspswrapper18CHspsConfiguration13AddObjectMapLEPNS_10CObjectMapE @ 73 NONAME
+ _ZN11hspswrapper18CHspsConfiguration13AddPluginMapLEPNS_10CPluginMapE @ 74 NONAME
+ _ZN11hspswrapper18CHspsConfiguration4NewLEv @ 75 NONAME
+ _ZN11hspswrapper18CHspsConfiguration5NewLCEv @ 76 NONAME
+ _ZN11hspswrapper18CHspsConfiguration8SettingsEv @ 77 NONAME
+ _ZN11hspswrapper18CHspsConfiguration9ResourcesEv @ 78 NONAME
+ _ZN11hspswrapper18CHspsConfigurationD0Ev @ 79 NONAME
+ _ZN11hspswrapper18CHspsConfigurationD1Ev @ 80 NONAME
+ _ZN11hspswrapper18CHspsConfigurationD2Ev @ 81 NONAME
+ _ZN11hspswrapper8CItemMap10SetItemIdLERK6TDesC8 @ 82 NONAME
+ _ZN11hspswrapper8CItemMap12SetItemNameLERK6TDesC8 @ 83 NONAME
+ _ZN11hspswrapper8CItemMap15AddPropertyMapLEPNS_12CPropertyMapE @ 84 NONAME
+ _ZN11hspswrapper8CItemMap4NewLEv @ 85 NONAME
+ _ZN11hspswrapper8CItemMap5NewLCEv @ 86 NONAME
+ _ZN11hspswrapper8CItemMapD0Ev @ 87 NONAME
+ _ZN11hspswrapper8CItemMapD1Ev @ 88 NONAME
+ _ZN11hspswrapper8CItemMapD2Ev @ 89 NONAME
+ _ZNK11hspswrapper10CObjectMap3TagEv @ 90 NONAME
+ _ZNK11hspswrapper10CObjectMap4PathEv @ 91 NONAME
+ _ZNK11hspswrapper10CObjectMap5NameLEv @ 92 NONAME
+ _ZNK11hspswrapper10CObjectMap9MediaTypeEv @ 93 NONAME
+ _ZNK11hspswrapper10CPluginMap13LockingStatusEv @ 94 NONAME
+ _ZNK11hspswrapper10CPluginMap15ActivationStateEv @ 95 NONAME
+ _ZNK11hspswrapper10CPluginMap8PluginIdEv @ 96 NONAME
+ _ZNK11hspswrapper10CPluginMap9PluginUidEv @ 97 NONAME
+ _ZNK11hspswrapper11CPluginInfo11DescriptionEv @ 98 NONAME
+ _ZNK11hspswrapper11CPluginInfo13MultiInstanceEv @ 99 NONAME
+ _ZNK11hspswrapper11CPluginInfo18ConfigurationStateEv @ 100 NONAME
+ _ZNK11hspswrapper11CPluginInfo3UidEv @ 101 NONAME
+ _ZNK11hspswrapper11CPluginInfo4NameEv @ 102 NONAME
+ _ZNK11hspswrapper11CPluginInfo4TypeEv @ 103 NONAME
+ _ZNK11hspswrapper11CPluginInfo8LogoIconEv @ 104 NONAME
+ _ZNK11hspswrapper11CPluginInfo8MaxChildEv @ 105 NONAME
+ _ZNK11hspswrapper11CPluginInfo9InterfaceEv @ 106 NONAME
+ _ZNK11hspswrapper12CHspsWrapper11HspsServiceEv @ 107 NONAME
+ _ZNK11hspswrapper12CHspsWrapper13HspsInterfaceEv @ 108 NONAME
+ _ZNK11hspswrapper12CHspsWrapper14ServiceHandlerEv @ 109 NONAME
+ _ZNK11hspswrapper12CPropertyMap4NameEv @ 110 NONAME
+ _ZNK11hspswrapper12CPropertyMap5ValueEv @ 111 NONAME
+ _ZNK11hspswrapper16CAddPluginResult6StatusEv @ 112 NONAME
+ _ZNK11hspswrapper16CAddPluginResult8PluginIdEv @ 113 NONAME
+ _ZNK11hspswrapper18CHspsConfiguration6ConfIdEv @ 114 NONAME
+ _ZNK11hspswrapper8CItemMap10PropertiesEv @ 115 NONAME
+ _ZNK11hspswrapper8CItemMap6ItemIdEv @ 116 NONAME
+ _ZNK11hspswrapper8CItemMap8ItemNameEv @ 117 NONAME
+ _ZTIN11hspswrapper10CObjectMapE @ 118 NONAME
+ _ZTIN11hspswrapper10CPluginMapE @ 119 NONAME
+ _ZTIN11hspswrapper11CPluginInfoE @ 120 NONAME
+ _ZTIN11hspswrapper12CHspsWrapperE @ 121 NONAME
+ _ZTIN11hspswrapper12CPropertyMapE @ 122 NONAME
+ _ZTIN11hspswrapper16CAddPluginResultE @ 123 NONAME
+ _ZTIN11hspswrapper18CHspsConfigurationE @ 124 NONAME
+ _ZTIN11hspswrapper8CItemMapE @ 125 NONAME
+ _ZTVN11hspswrapper10CObjectMapE @ 126 NONAME
+ _ZTVN11hspswrapper10CPluginMapE @ 127 NONAME
+ _ZTVN11hspswrapper11CPluginInfoE @ 128 NONAME
+ _ZTVN11hspswrapper12CHspsWrapperE @ 129 NONAME
+ _ZTVN11hspswrapper12CPropertyMapE @ 130 NONAME
+ _ZTVN11hspswrapper16CAddPluginResultE @ 131 NONAME
+ _ZTVN11hspswrapper18CHspsConfigurationE @ 132 NONAME
+ _ZTVN11hspswrapper8CItemMapE @ 133 NONAME
--- a/idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/sapiwrapper/hspswrapper/inc/hspswrapper.h Wed Mar 31 21:17:19 2010 +0300
@@ -237,19 +237,18 @@
IMPORT_C TInt SetActivePluginL(const TDesC8& aPluginId);
/**
- * Restore active view. Will remove all plugins in active view.
+ * Removes all but one view and removes all plugins from it.
*
* @return Operation status. KErrNone (success), KErrNotFound
*/
- IMPORT_C TInt RestoreActiveViewL();
+ IMPORT_C TInt RestoreRootL();
/**
- * Restore whole root configuration. Will remove
- * everything except one view.
+ * Restore (re-install) default configuration from ROM.
*
* @return Operation status. KErrNone (success), KErrNotFound
*/
- IMPORT_C TInt RestoreRootL();
+ IMPORT_C TInt RestoreDefaultConfL();
/**
* Replace plugin in the active configuration.
--- a/idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapper.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/sapiwrapper/hspswrapper/src/hspswrapper.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -56,6 +56,7 @@
_LIT8( KKeyConfUid, "confUid" );
_LIT8( KInterface, "interface" );
_LIT8( KType, "type" );
+_LIT8( KCopyLogos, "copylogos" );
_LIT8( KKeyPlugins, "plugins" );
_LIT8( KKeyItemId, "itemId" );
_LIT8( KKeyName, "name" );
@@ -369,6 +370,8 @@
CleanupStack::Pop(&confVar);
confVar.Reset();
+ plugin->SetTypeL( _L8("application") );
+
aPlugins.AppendL( plugin );
CleanupStack::Pop( plugin );
}
@@ -498,6 +501,13 @@
inParamList.AppendL( typeParam );
CleanupStack::Pop(&typeParam);
typeParam.Reset();
+
+ TLiwGenericParam logosParam;
+ logosParam.SetNameAndValueL( KCopyLogos, TLiwVariant( ETrue ) );
+ logosParam.PushL();
+ inParamList.AppendL( logosParam );
+ CleanupStack::Pop(&logosParam);
+ logosParam.Reset();
iHspsInterface->ExecuteCmdL( KHSPSCommandGetPlugins, inParamList, outParamList );
inParamList.Reset();
@@ -512,7 +522,17 @@
ProcessPluginsL(*list,aPlugins);
}
}
- outParamList.Reset();
+
+ // check success
+ TInt pos(0);
+ const TLiwGenericParam* outParam =
+ outParamList.FindFirst( pos, KOutKeyStatus );
+ if ( outParam )
+ {
+ User::LeaveIfError( outParam->Value().AsTInt32() );
+ }
+
+ outParamList.Reset();
}
// ---------------------------------------------------------------------------
@@ -765,14 +785,14 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
-EXPORT_C TInt CHspsWrapper::RestoreActiveViewL()
+EXPORT_C TInt CHspsWrapper::RestoreRootL()
{
CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
// Compose Liw message
TLiwGenericParam restoreTypeParam;
- restoreTypeParam.SetNameAndValueL( KRestore, TLiwVariant( KActive ) );
+ restoreTypeParam.SetNameAndValueL( KRestore, TLiwVariant( KAll ) );
restoreTypeParam.PushL();
inParamList.AppendL( restoreTypeParam );
CleanupStack::Pop( &restoreTypeParam );
@@ -801,14 +821,14 @@
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
//
-EXPORT_C TInt CHspsWrapper::RestoreRootL()
+EXPORT_C TInt CHspsWrapper::RestoreDefaultConfL()
{
CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
// Compose Liw message
TLiwGenericParam restoreTypeParam;
- restoreTypeParam.SetNameAndValueL( KRestore, TLiwVariant( KAll ) );
+ restoreTypeParam.SetNameAndValueL( KRestore, TLiwVariant( KActive ) );
restoreTypeParam.PushL();
inParamList.AppendL( restoreTypeParam );
CleanupStack::Pop( &restoreTypeParam );
--- a/idlehomescreen/widgetmanager/gfx/add_widget_button.svg Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Generator: Adobe Illustrator 13.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
-<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px"
- height="36px" viewBox="0 0 50 36" enable-background="new 0 0 50 36" xml:space="preserve">
-<g id="Layer_2">
-</g>
-<g id="Layer_1">
- <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="24.9995" y1="0" x2="24.9995" y2="36.0005">
- <stop offset="0" style="stop-color:#79CD19"/>
- <stop offset="1" style="stop-color:#4A9826"/>
- </linearGradient>
- <path fill="url(#SVGID_1_)" d="M50,31c0,2.762-2.239,5-5,5H5c-2.762,0-5-2.238-5-5V5c0-2.761,2.238-5,5-5h40c2.761,0,5,2.239,5,5
- V31z"/>
- <polygon fill="#E6E6E6" points="16.515,21.084 22.015,21.084 22.015,26.585 22.015,27.586 23.015,27.586 27.015,27.586
- 28.016,27.586 28.016,26.585 28.016,21.084 33.515,21.084 34.516,21.084 34.516,20.083 34.516,16.083 34.516,15.082 33.515,15.082
- 28.016,15.082 28.016,9.583 28.016,8.582 27.015,8.582 23.015,8.582 22.015,8.582 22.015,9.583 22.015,15.082 16.515,15.082
- 15.515,15.082 15.515,16.083 15.515,20.082 15.515,21.084 "/>
- <path opacity="0.5" fill="#FFFFFF" d="M2.033,33.656C1.398,32.947,1.001,32.023,1.001,31V5c0-2.205,1.795-4,4-4h40
- c1.15,0,2.182,0.496,2.912,1.276l0.708-0.708C47.711,0.606,46.43,0,45.001,0h-40c-2.762,0-5,2.238-5,5v26
- c0,1.301,0.509,2.475,1.323,3.365L2.033,33.656z"/>
- <path opacity="0.2" d="M50.001,31V5c0-1.333-0.529-2.536-1.379-3.433l-0.709,0.708c0.67,0.716,1.088,1.669,1.088,2.724v26
- c0,2.205-1.795,4-4,4h-40c-1.182,0-2.235-0.525-2.968-1.344l-0.709,0.709C2.238,35.363,3.541,36,5.001,36h40
- C47.763,36,50.001,33.762,50.001,31z"/>
- <polygon opacity="0.3" points="22.034,27.578 22.056,27.578 23.058,26.576 23.034,26.576 23.034,20.093 22.034,21.094
- 22.034,26.577 "/>
- <polygon fill="#FFFFFF" points="15.507,21.08 15.507,21.084 16.507,21.084 22.005,21.085 22.005,21.103 23.007,20.102
- 23.007,20.085 16.507,20.084 16.507,20.08 "/>
- <polygon opacity="0.3" points="16.495,20.08 16.495,16.086 22.995,16.086 22.995,9.586 26.994,9.586 26.994,9.613 27.995,8.612
- 27.995,8.584 26.993,8.584 22.995,8.584 21.993,8.584 21.993,9.585 21.993,15.084 16.495,15.084 15.495,15.084 15.495,16.085
- 15.495,20.084 15.495,21.08 "/>
- <polygon fill="#FFFFFF" points="28.016,8.596 27.015,9.597 27.015,16.069 27.028,16.069 28.029,15.068 28.016,15.068 28.016,9.568
- "/>
- <polygon fill="#FFFFFF" points="23.034,27.584 27.033,27.584 28.035,27.584 28.035,26.583 28.035,21.082 33.533,21.082
- 34.535,21.082 34.535,20.081 34.535,16.082 34.535,15.088 33.534,16.088 33.534,20.082 27.034,20.082 27.034,26.582 23.058,26.582
- 22.056,27.584 "/>
- <polygon opacity="0.3" points="33.524,16.091 34.525,15.09 34.525,15.084 33.523,15.084 28.039,15.084 27.038,16.085
- 33.524,16.085 "/>
-</g>
-</svg>
--- a/idlehomescreen/widgetmanager/inc/wminstaller.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/inc/wminstaller.h Wed Mar 31 21:17:19 2010 +0300
@@ -105,8 +105,10 @@
* wrt widget that is currently been uninstalled
*/
TUid iUid;
-
-
+
+ /**
+ * mime type of widget currently being uninstalled.
+ */
HBufC8* iMime;
/** reference to plugin root */
--- a/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/inc/wmmaincontainer.h Wed Mar 31 21:17:19 2010 +0300
@@ -153,7 +153,7 @@
/**
* executes findbox activation
*/
- void ActivateFindPaneL( TBool aActivateAdabtive = EFalse );
+ void ActivateFindPaneL( TBool aActivateAdaptive = EFalse );
/**
* executes findbox deactivation
@@ -302,6 +302,7 @@
void StartLoadingWidgetsL();
void RemoveCtrlsFromStack();
void UpdateFocusMode();
+ void ResetFocus( TDrawNow aDrawNow = ENoDrawNow );
CCoeControl* FindChildControlByPoint( const TPoint& aPoint );
void HandleFindSizeChanged();
TKeyResponse MoveFocusByKeys(
--- a/idlehomescreen/widgetmanager/inc/wmwidgetdata.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/inc/wmwidgetdata.h Wed Mar 31 21:17:19 2010 +0300
@@ -59,6 +59,14 @@
ECps // wrt widgets included in this category
};
+ /** wrt widget type */
+ enum TWrtType
+ {
+ EUnIdentified,
+ EWgz,
+ EWgt
+ };
+
public: // construction
/**
* static constructor
@@ -199,6 +207,9 @@
/** widget type */
inline TWidgetType WidgetType() const;
+ /** wrt widget type */
+ inline TWrtType WrtType() const;
+
/** running install animation index */
inline TInt InstallAnimationIndex() const;
@@ -265,8 +276,11 @@
/** The CHsContentInfo that corresponds to this list row */
CHsContentInfo* iHsContentInfo;
- /** type oif the widget */
+ /** type of the widget */
TWidgetType iWidgetType;
+
+ /** type of the wrt widget */
+ TWrtType iWrtType;
/** persistent order of widgets (used in sorting) */
const CWmPersistentWidgetOrder* iPersistentWidgetOrder;
--- a/idlehomescreen/widgetmanager/inc/wmwidgetdata.inl Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/inc/wmwidgetdata.inl Wed Mar 31 21:17:19 2010 +0300
@@ -43,6 +43,10 @@
inline CWmWidgetData::TWidgetType CWmWidgetData::WidgetType() const
{ return iWidgetType; }
+ /** wrt widget type */
+ inline CWmWidgetData::TWrtType CWmWidgetData::WrtType() const
+ { return iWrtType; }
+
/** the logo bitmap */
inline const CFbsBitmap* CWmWidgetData::LogoImage()
{ return iLogoImage; }
--- a/idlehomescreen/widgetmanager/src/wmeffectmanager.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmeffectmanager.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -126,6 +126,12 @@
RemoveEffect( &aEffect );
return;
}
+
+ // Must give some time before starting effect, because otherwise
+ // fullscreen effect may contain unwanted parts (dialog, note, etc.)
+ // which was shown when fullscreen effect is about to be started
+ iCoeEnv.WsSession().Finish();
+ User::After( 1000 );
const TInt flags( AknTransEffect::TParameter::EActivateExplicitCancel );
const TUid targetAppUid( iAvkonAppUi->Application()->AppDllUid() );
--- a/idlehomescreen/widgetmanager/src/wminstaller.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wminstaller.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -17,6 +17,7 @@
*/
#include <e32base.h>
+#include <eikenv.h>
#include "wminstaller.h"
#include "wmwidgetdata.h"
@@ -26,6 +27,14 @@
// CONSTANTS
_LIT8( KWrtMime, "application/x-nokia-widget");
+/*
+ Note:
+ same mime type as above is used for wgz & wgt in wk9.
+ \ext\mw\cwrt\app\platform\s60\WidgetRecognizer\
+ Uninstalltion will fail with KErrNotFound for now.
+*/
+_LIT8( KCWrtMime, "application/widget");
+
// ---------------------------------------------------------
// CWmInstaller::NewL
// ---------------------------------------------------------
@@ -68,7 +77,6 @@
//
void CWmInstaller::ConstructL()
{
- iMime = KWrtMime().AllocL();
iIdle = CIdle::NewL( CActive::EPriorityStandard );
}
@@ -110,14 +118,18 @@
//
void CWmInstaller::RunL()
{
- // error has occurred, stop uninstallation animation.
- if ( iStatus != KErrNone )
- {
- CWmWidgetData* widget = iWmPlugin.GetUninstalledWidgetByUid( iUid );
+ // if error has occurred, stop uninstallation animation.
+ if ( iStatus.Int() != KErrNone )
+ {
+ CWmWidgetData* widget =
+ iWmPlugin.GetUninstalledWidgetByUid( iUid );
if ( widget )
{
widget->StopUninstallAnimationL();
}
+
+ // display error note
+ CEikonEnv::Static()->HandleError( iStatus.Int() );
}
// close SWI session
@@ -172,9 +184,18 @@
{
User::Leave( KErrInUse );
}
+ else if ( !aData || aData->PublisherUid() == KNullUid ||
+ aData->WrtType() == CWmWidgetData::EUnIdentified )
+ {
+ User::Leave( KErrArgument );
+ }
else
{
+ delete iMime;
+ iMime = NULL;
User::LeaveIfError( iInstaller.Connect() );
+ iMime = ( ( aData->WrtType() == CWmWidgetData::EWgt ) ?
+ KCWrtMime().AllocL() : KWrtMime().AllocL() );
iUid = aData->PublisherUid();
SwiUI::TUninstallOptions optionsUninstall;
optionsUninstall.iBreakDependency = SwiUI::EPolicyAllowed;
--- a/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmmaincontainer.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -724,7 +724,9 @@
{
if ( !iClosingDown )
{
-
+ TBool eatEvent( EFalse );
+ TPointerEvent event( aPointerEvent );
+
if (aPointerEvent.iType == TPointerEvent::EButton1Down)
{
// Check if user clicked a child control
@@ -748,9 +750,37 @@
// repaint
DrawDeferred();
}
+
+ // stylus popup should not be opened when uninstalling.
+ // ou1cimx1#302973
+ if ( control == iWidgetsList && iWidgetsList->IsFocused() )
+ {
+ TInt itemIndex = iWidgetsList->CurrentListBoxItemIndex();
+ TBool itemPointed = iWidgetsList->View()->XYPosToItemIndex(
+ aPointerEvent.iPosition,
+ itemIndex );
+ if ( itemIndex >= 0 && itemPointed )
+ {
+ CWmWidgetData& data = iWidgetsList->WidgetData( itemIndex );
+ if ( &data && data.IsUninstalling() )
+ {
+ event.iType = TPointerEvent::EButton1Up;
+ eatEvent = ETrue;
+ }
+ }
+ }
+
}
-
- CCoeControl::HandlePointerEventL( aPointerEvent );
+
+ // set downkey event to base class
+ CCoeControl::HandlePointerEventL( aPointerEvent );
+
+ // send key up event if selected widget is being uninstalled.
+ // stylus popup shouldn't be displayed for this item.
+ if ( eatEvent )
+ {
+ CCoeControl::HandlePointerEventL( event );
+ }
}
}
@@ -950,7 +980,8 @@
if ( WidgetSelected() && data && !data->IsUninstalling() )
{
if ( data->WidgetType() == CWmWidgetData::ECps &&
- data->PublisherUid() != KNullUid )
+ data->PublisherUid() != KNullUid &&
+ data->WrtType() != CWmWidgetData::EUnIdentified )
{
retVal = ETrue;
}
@@ -1025,37 +1056,20 @@
void CWmMainContainer::AddWidgetToHomeScreenL()
{
CWmWidgetData* data = iWidgetsList->WidgetData();
- if ( !iClosingDown && data && !data->IsUninstalling() )
+ if ( !iClosingDown )
{
if ( iFindbox && iFindPaneIsVisible )
{
DeactivateFindPaneL();
}
-
- // set add to homescreen to be executed later
- iWmPlugin.SetPostponedCommandL(
- CWmPlugin::EAddToHomescreen,
- data->HsContentInfo() );
-
- // check if we can add any widgets to hs.
- TBool hsContentFull = ETrue;
- for ( TInt i=0; i<iWidgetsList->WidgetDataCount(); i++ )
+
+ if ( data && !data->IsUninstalling() )
{
- CHsContentInfo& info = iWidgetsList->WidgetData(i).HsContentInfo();
- if ( info.CanBeAdded() )
- {
- hsContentFull = EFalse;
- break;
- }
- }
-
- // deactivate wm if there's not enough space to add widget to hs.
- if ( !data->HsContentInfo().CanBeAdded() && !hsContentFull )
- {
- iWmPlugin.ExecuteCommandL();
- }
- else
- {
+ // set add to homescreen to be executed later
+ iWmPlugin.SetPostponedCommandL(
+ CWmPlugin::EAddToHomescreen,
+ data->HsContentInfo() );
+
iWmPlugin.CloseView();
}
}
@@ -1089,11 +1103,14 @@
// CWmMainContainer::ActivateFindPaneL
// ---------------------------------------------------------------------------
//
-void CWmMainContainer::ActivateFindPaneL( TBool aActivateAdabtive )
+void CWmMainContainer::ActivateFindPaneL( TBool aActivateAdaptive )
{
if ( iFindbox && !iFindPaneIsVisible &&
iWidgetsList->Model()->NumberOfItems() > KMinWidgets )
{
+ // reset focus
+ ResetFocus();
+
// set column filter flag
TBitFlags32 bitFlag;
bitFlag.ClearAll(); // clear all columns
@@ -1122,7 +1139,7 @@
// layout listbox and findbox
LayoutControls();
- if ( aActivateAdabtive )
+ if ( aActivateAdaptive )
{
iFindbox->ShowAdaptiveSearchGrid();
}
@@ -1162,11 +1179,12 @@
m->Filter()->ResetFilteringL();
m->RemoveFilter();
}
+
+ ResetFocus();
- iFindbox->MakeVisible( EFalse );
- iFindbox->SetFocus( EFalse );
- iFindPaneIsVisible = EFalse;
- iWidgetsList->SetFindPaneIsVisible( EFalse );
+ iFindbox->MakeVisible( EFalse );
+ iFindPaneIsVisible = EFalse;
+ iWidgetsList->SetFindPaneIsVisible( EFalse );
LayoutControls();
@@ -1407,22 +1425,36 @@
//
void CWmMainContainer::ProcessForegroundEvent( TBool aForeground )
{
- if ( aForeground )
+ if ( iFindbox && iFindPaneIsVisible &&
+ iFindbox->IsFocused() )
+ {
+ // keep focus & do nothing
+ }
+ else if ( aForeground )
{
// set init state when wm comes to foreground.
// remove focus from all controls when activating view.
- CCoeControl* control = NULL;
- CCoeControlArray::TCursor cursor = Components().Begin();
- while( ( control = cursor.Control<CCoeControl>() ) != NULL )
+ ResetFocus( EDrawNow );
+ }
+ }
+
+// ----------------------------------------------------
+// CWmMainContainer::ResetFocus
+// ----------------------------------------------------
+//
+void CWmMainContainer::ResetFocus( TDrawNow aDrawNow )
+ {
+ CCoeControl* control = NULL;
+ CCoeControlArray::TCursor cursor = Components().Begin();
+ while( ( control = cursor.Control<CCoeControl>() ) != NULL )
+ {
+ if( control->IsVisible() && control->IsFocused() )
{
- if( control->IsVisible() && control->IsFocused() )
- {
- control->SetFocus( EFalse, EDrawNow );
- }
- cursor.Next();
+ control->SetFocus( EFalse, aDrawNow );
}
- UpdateFocusMode();
+ cursor.Next();
}
+ UpdateFocusMode();
}
// ----------------------------------------------------
--- a/idlehomescreen/widgetmanager/src/wmplugin.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmplugin.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -86,7 +86,8 @@
void CWmPlugin::ConstructL()
{
iWmMainContainer = NULL;
-
+ iPostponedCommand = ENone;
+
// store static view app ui
CEikonEnv* eikonEnv = CEikonEnv::Static();
if ( !eikonEnv ) User::Leave( KErrUnknown );
@@ -164,11 +165,12 @@
if ( iViewAppUi->GetActiveViewId( activeViewId ) == KErrNone &&
activeViewId.iViewUid == TUid::Uid( EWmMainContainerViewId ) )
{
- if ( iPreviousViewUid.iViewUid == KNullUid )
+ if ( iPreviousViewUid.iViewUid == KNullUid &&
+ iViewAppUi->GetDefaultViewId( iPreviousViewUid ) != KErrNone )
{
iPreviousViewUid.iAppUid = iViewAppUi->Application()->AppDllUid();
iPreviousViewUid.iViewUid = TUid::Uid( 1 );
- }
+ }
return ETrue;
}
@@ -184,12 +186,16 @@
if ( IsActive() )
{
iWmMainContainer->SetClosingDown( ETrue );
- TRAP_IGNORE(
+ TRAPD( err,
iEffectManager->BeginFullscreenEffectL(
KAppExitEffectStyle );
iViewAppUi->ActivateLocalViewL(
iPreviousViewUid.iViewUid );
);
+ if ( KErrNone != err )
+ {
+ iWmMainContainer->SetClosingDown( EFalse );
+ }
}
}
@@ -198,12 +204,11 @@
// ---------------------------------------------------------
//
void CWmPlugin::MainViewActivated(
- const TVwsViewId& aViewId,
+ const TVwsViewId& /*aViewId*/,
CWmMainContainer* aWmMainContainer )
{
- iPreviousViewUid = aViewId;
- // verify if we have correct viewid to activate.
- if ( iPreviousViewUid.iViewUid == KNullUid )
+ // previous view for Wm is always default view.
+ if ( iViewAppUi->GetDefaultViewId( iPreviousViewUid ) != KErrNone )
{
// use default if we got wrong viewid as previous view
iPreviousViewUid.iAppUid = iViewAppUi->Application()->AppDllUid();
@@ -234,7 +239,13 @@
iEffectManager->UiRendered();
}
- TRAP_IGNORE( ExecuteCommandL(); );
+ TRAPD( err, ExecuteCommandL(); );
+ if ( KErrNone != err )
+ {
+ delete iPostponedContent;
+ iPostponedContent = NULL;
+ iPostponedCommand = ENone;
+ }
}
// ---------------------------------------------------------
--- a/idlehomescreen/widgetmanager/src/wmportalbutton.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmportalbutton.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -525,36 +525,15 @@
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- TRgb textColor( layoutText.Color() );
-
- if ( IsDimmed() )
- {
- const TInt KAlpha = 77;
- textColor = iEikonEnv->ControlColor( EColorButtonText, *this );
- // try over-writing color from theme, ignore error.
- AknsUtils::GetCachedColor(
- skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
- textColor.SetAlpha( KAlpha );
- }
- else if ( IsFocused() || iButtonPressed )
+ TRgb textColor;
+ TInt err = AknsUtils::GetCachedColor(
+ skin,
+ textColor,
+ KAknsIIDQsnTextColors,
+ EAknsCIQsnTextColorsCG63 );
+ if ( err != KErrNone )
{
- textColor = iEikonEnv->ControlColor( EColorButtonTextPressed, *this );
- // try over-writing color from theme, ignore error.
- AknsUtils::GetCachedColor(
- skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG10 );
- }
- else if ( textColor.Internal() <= 0 )
- {
- textColor = iEikonEnv->ControlColor( EColorButtonText, *this );
- // try over-writing color from theme, ignore error.
- AknsUtils::GetCachedColor(
- skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
- }
- else
- {
- // default for button
- AknsUtils::GetCachedColor(
- skin, textColor, KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG80 );
+ textColor = layoutText.Color();
}
aGc.SetPenColor( textColor);
--- a/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/widgetmanager/src/wmwidgetdata.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -83,6 +83,7 @@
iLogoImageMask = NULL;
iHsContentInfo = NULL;
iWidgetType = CWmWidgetData::EUnknown;
+ iWrtType = CWmWidgetData::EUnIdentified;
iPublisherUid = KNullUid;
iLogoSize = aLogoSize;
iAnimationTimer = NULL;
@@ -385,7 +386,28 @@
if ( widgetUid != 0 )
{
// WRT widget
- iPublisherUid = TUid::Uid( widgetUid );
+ iPublisherUid = TUid::Uid( widgetUid );
+
+ // wrt widget type
+ CWidgetPropertyValue* value( NULL );
+ value = aRegistryClientSession->GetWidgetPropertyValueL(
+ iPublisherUid, ENokiaWidget );
+ if ( value && *value == 1 )
+ {
+ iWrtType = CWmWidgetData::EWgz;
+ }
+ else if ( value && *value == 2 )
+ {
+ iWrtType = CWmWidgetData::EWgt;
+ }
+ else
+ {
+ iWrtType = CWmWidgetData::EUnIdentified;
+ }
+
+ delete value;
+ value = NULL;
+
}
else
{
@@ -670,6 +692,7 @@
//
void CWmWidgetData::StopUninstallAnimationL()
{
+ iAsyncUninstalling = EFalse;
DestroyAnimData();
// restore widget name
if ( iWidgetName )
@@ -680,7 +703,6 @@
}
FireDataChanged(); //redraw
- iAsyncUninstalling = EFalse;
}
// End of file
--- a/idlehomescreen/xmluicontroller/inc/appui.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluicontroller/inc/appui.h Wed Mar 31 21:17:19 2010 +0300
@@ -80,6 +80,8 @@
void HandleEnterEditModeL( TBool aEnter );
+ void HandleUiReadyEventL();
+
private:
// new functions
--- a/idlehomescreen/xmluicontroller/inc/onlineofflinehelper.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluicontroller/inc/onlineofflinehelper.h Wed Mar 31 21:17:19 2010 +0300
@@ -193,9 +193,12 @@
enum
{
+ // if defined Home Screen is in online mode.
EOnline,
- EUtilizeOnline,
+ // if defined there is no need to show automatic offline note
+ // and automatic offline setting is disabled.
ERoamingShown,
+ // if defined phone profile is offline.
EOfflineProfile
};
private:
--- a/idlehomescreen/xmluicontroller/src/appui.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluicontroller/src/appui.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -85,14 +85,14 @@
// 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: CXnAppUiAdapter::ConstructL",
- CXnAppUiAdapter::ConstructL();
- )
+ CXnAppUiAdapter::ConstructL() );
CAknAppUiBase::SetKeyEventFlags( CAknAppUiBase::EDisableSendKeyShort |
CAknAppUiBase::EDisableSendKeyLong );
@@ -167,20 +167,8 @@
//
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 ) );
- }
-
+ __PRINTS( "*** CAppUi::ActivateUi" );
+
if ( iDeviceStatusInfo.Uid() == TUid::Null() )
{
__PRINTS( "*** CAppUi::ActivateUI - Loading DeviceStatus plugin" );
@@ -192,15 +180,26 @@
KDeviceStatusPluginName, KNs );
iUiCtl.FwStateHandler()->LoadPlugin(
- iDeviceStatusInfo, EAiFwSystemStartup );
- }
-
- TRAP_IGNORE( iUiCtl.FwEventHandler()->HandleUiReadyEventL( iUiCtl ) );
+ iDeviceStatusInfo, EAiFwSystemStartup );
+ }
__PRINTS( "*** CAppUi::ActivateUi - done" );
}
// ----------------------------------------------------------------------------
+// CAppUi::HandleUiReadyEventL()
+// ----------------------------------------------------------------------------
+//
+void CAppUi::HandleUiReadyEventL()
+ {
+ __PRINTS( "*** CAppUi::HandleUiReadyEventL" );
+
+ iUiCtl.FwEventHandler()->HandleUiReadyEventL( iUiCtl );
+
+ __PRINTS( "*** CAppUi::HandleUiReadyEventL - done" );
+ }
+
+// ----------------------------------------------------------------------------
// CAppUi::PrepareToExit()
// ----------------------------------------------------------------------------
//
--- a/idlehomescreen/xmluicontroller/src/contentrenderer.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluicontroller/src/contentrenderer.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -268,11 +268,10 @@
{
HBufC* id2( PropertyValueL( aArray[j].Target(),
AiUiDef::xml::property::KId ) );
+ CleanupStack::PushL( id2 );
if ( id2 )
{
- CleanupStack::PushL( id2 );
-
// Same id and same policy
if ( i != j && id->Compare( *id2 ) == 0 &&
( aArray[i].Policy().Compare( aArray[j].Policy()) == 0 ) )
@@ -571,15 +570,22 @@
{
TInt error( KErrNone );
TInt retval( KErrNone );
+
+ __PRINTS("*** XML UI: CContentRenderer::CanPublish ***");
- __PRINTS("*** UC: Init - Content Validation ***");
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Validation",
- TRAP( error, retval = CanPublishL( aPlugin, aContent, aIndex ) );
- );
- __HEAP("UC: Content Validation");
- __PRINTS("*** UC: Done - Content Validation ***");
-
- return ( error == KErrNone && retval == KErrNone );
+ TRAP( error, retval = CanPublishL( aPlugin, aContent, aIndex ) ) );
+
+ __HEAP("UC: Content Validation");
+
+ TBool ret( error == KErrNone && retval == KErrNone );
+
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::CanPublish - done, CanPublish: %d ***"), ret );
+
+ return ret;
}
// ----------------------------------------------------------------------------
@@ -593,18 +599,23 @@
TInt error( KErrNone );
TInt retval( KErrNone );
- __PRINTS("*** UC: Init - Content Publishing (Resource) ***");
+ __PRINTS("*** XML UI: CContentRenderer::Publish (Resource) ***");
+
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Publishing (Resource)",
- TRAP( error, retval = DoPublishL( aPlugin, aContent, aResource, aIndex ) );
- );
+ TRAP( error, retval = DoPublishL( aPlugin, aContent, aResource, aIndex ) ) );
+
__HEAP("UC: Content Publishing (Resource)");
- __PRINTS("*** UC: Done - Content Publishing (Resource) ***");
-
+
if( !error && retval )
{
error = retval;
}
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::Publish (Resource) - done, error: %d ***"), error );
+
return error;
}
@@ -619,18 +630,23 @@
TInt error( KErrNone );
TInt retval( KErrNone );
- __PRINTS("*** UC: Init - Content Publishing (Value-Text) ***");
+ __PRINTS("*** XML UI: CContentRenderer::Publish (Value-Text) ***");
+
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Publishing (Value-Text)",
- TRAP( error, retval = DoPublishL( aPlugin, aContent, aText, aIndex ) );
- );
+ TRAP( error, retval = DoPublishL( aPlugin, aContent, aText, aIndex ) ) );
+
__HEAP("UC: Content Publishing (Value-Text)");
- __PRINTS("*** UC: Done - Content Publishing (Value-Text) ***");
-
+
if( !error && retval )
{
error = retval;
}
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::Publish (Value-Text) - done, error: %d ***"), error );
+
return error;
}
@@ -645,18 +661,23 @@
TInt error( KErrNone );
TInt retval( KErrNone );
- __PRINTS("*** UC: Init - Content Publishing (Value-Buf) ***");
+ __PRINTS("*** XML UI: CContentRenderer::Publish (Value-Buf) ***");
+
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Publishing (Value-Buf)",
- TRAP( error, retval = DoPublishL( aPlugin, aContent, aBuf, aIndex ) );
- )
+ TRAP( error, retval = DoPublishL( aPlugin, aContent, aBuf, aIndex ) ) );
+
__HEAP("UC: Content Publishing (Value-Buf)");
- __PRINTS("*** UC: Done - Content Publishing (Value-Buf) ***");
-
+
if( !error && retval )
{
error = retval;
}
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::Publish (Value-Buf) - done, error: %d ***"), error );
+
return error;
}
@@ -671,18 +692,23 @@
TInt error( KErrNone );
TInt retval( KErrNone );
- __PRINTS("*** UC: Init - Content Publishing (Value-RFile) ***");
+ __PRINTS("*** XML UI: CContentRenderer::Publish (Value-RFile) ***");
+
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Publishing (Value-RFile)",
- TRAP( error, retval = DoPublishL( aPlugin, aContent, aFile, aIndex ) );
- );
+ TRAP( error, retval = DoPublishL( aPlugin, aContent, aFile, aIndex ) ) );
+
__HEAP("UC: Content Publishing (Value-RFile)");
- __PRINTS("*** UC: Done - Content Publishing (Value-RFile) ***");
-
+
if( !error && retval )
{
error = retval;
}
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::Publish (Value-RFile) - done, error: %d ***"), error );
+
return error;
}
@@ -697,18 +723,23 @@
TInt error( KErrNone );
TInt retval( KErrNone );
- __PRINTS("*** UC: Init - Content Publishing (Clean) ***");
+ __PRINTS("*** XML UI: CContentRenderer::Clean (Clean) ***");
+
+ __PRINT( __DBG_FORMAT( "* Publisher name: %S, uid: 0x%x" ),
+ &aPlugin.PublisherInfo().Name(), aPlugin.PublisherInfo().Uid().iUid );
+
__TIME("UC: Content Publishing (Clean)",
- TRAP( error, retval = DoCleanL( aPlugin, aContent, aIndex ) );
- );
+ TRAP( error, retval = DoCleanL( aPlugin, aContent, aIndex ) ) );
+
__HEAP("UC: Content Publishing (Clean)");
- __PRINTS("*** UC: Done - Content Publishing (Clean) ***");
-
+
if( !error && retval )
{
error = retval;
}
+ __PRINT( __DBG_FORMAT("*** XML UI: CContentRenderer::Clean (Clean) - done, error: %d ***"), error );
+
return error;
}
@@ -1275,8 +1306,12 @@
{
LeaveIfNull( aElement, KErrArgument );
+ __PRINTS("*** XML UI: CContentRenderer::ProcessTransactionElementL ***");
+
if ( IsImmediateMode() || iStack->IsEmpty() )
- {
+ {
+ __PRINTS("* Immediate transaction mode, or transaction stack is empty" );
+
// No transaction. Commit element immediately
TBool layoutChanged( EFalse );
@@ -1297,9 +1332,13 @@
else
{
// Append transaction element to transaction
+ __PRINTS("* Adding transaction element to stack");
+
MTransaction* tr( iStack->Top() );
tr->Append( *aElement );
}
+
+ __PRINTS("*** XML UI: CContentRenderer::ProcessTransactionElementL - done ***");
}
// ----------------------------------------------------------------------------
--- a/idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluicontroller/src/onlineofflinehelper.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -166,14 +166,11 @@
//
TBool COnlineOfflineHelper::ShowOnlineItem() const
{
- if ( iUiCtl.FwStateHandler()->OnlineStateInUse() )
- {
- TInt value ( KErrNotFound );
- if ( iUiCtl.SettingsRepository().Get( KAIWebStatus, value ) == KErrNone )
- {
- return ( !value );
- }
- }
+ TInt value ( KErrNotFound );
+ if ( iUiCtl.SettingsRepository().Get( KAIWebStatus, value ) == KErrNone )
+ {
+ return ( !value );
+ }
return EFalse;
}
@@ -183,14 +180,11 @@
//
TBool COnlineOfflineHelper::ShowOfflineItem() const
{
- if ( iUiCtl.FwStateHandler()->OnlineStateInUse() )
- {
- TInt value ( KErrNotFound );
- if ( iUiCtl.SettingsRepository().Get( KAIWebStatus, value ) == KErrNone )
- {
- return ( value );
- }
- }
+ TInt value ( KErrNotFound );
+ if ( iUiCtl.SettingsRepository().Get( KAIWebStatus, value ) == KErrNone )
+ {
+ return ( value );
+ }
return EFalse;
}
@@ -201,20 +195,24 @@
void COnlineOfflineHelper::ProcessOnlineStateL( TBool aOnline )
{
// User has selected online/offline item from menu
- if( iUiCtl.FwStateHandler()->OnlineStateInUse() )
- {
- // Don't show R_YES_NO_HS_ONLINE query as user selected online
- if ( aOnline )
- {
- iFlags.Set( EOnline );
- }
- else
- {
- iFlags.Clear( EOnline );
- }
-
- SetOnline( aOnline );
- }
+ // Don't show R_YES_NO_HS_ONLINE query as user selected online
+ if ( aOnline )
+ {
+ iFlags.Set( EOnline );
+ if ( iCurrentNwStatus == ENWRegisteredRoaming )
+ {
+ // When user allready is in foreing network and sets
+ // HS online we want to disable automatic offline setting and not
+ // show note QTN_HS_AUTOMATIC_OFFLINE
+ iFlags.Set( ERoamingShown );
+ }
+ }
+ else
+ {
+ iFlags.Clear( EOnline );
+ }
+
+ SetOnline( aOnline );
}
// ----------------------------------------------------------------------------
@@ -264,22 +262,38 @@
CurrentNetworkSetting();
if( ( iRoamingNetwork == ECmCellularDataUsageConfirm
|| iRoamingNetwork == ECmCellularDataUsageDisabled )
- && iFlags.IsSet( EOnline ) )
+ && iFlags.IsSet( EOnline )
+ && iFlags.IsClear( ERoamingShown ) )
{
// Process to offline state.
// Don't change the user selection.
SetOnline( EFalse );
// Show roaming notification
CAknGlobalNote* note = CAknGlobalNote::NewLC();
- HBufC* msg( StringLoader::LoadLC( R_QTN_HS_AUTOMATIC_OFFLINE ) );
+ HBufC* msg( StringLoader::LoadLC(
+ R_QTN_HS_AUTOMATIC_OFFLINE ) );
note->SetSoftkeys(R_AVKON_SOFTKEYS_OK_EMPTY);
note->ShowNoteL( EAknGlobalInformationNote, *msg );
- CleanupStack::PopAndDestroy( 2, note ); // msg
+ CleanupStack::PopAndDestroy( 2, note ); // msg
+
+ // set roming shown flag. We want to show
+ // romign note only once while user stays in foreign
+ // network. If user sets the HS to online this note is
+ // not showed again and HS will stay online in foreign
+ // network.
+ iFlags.Set( ERoamingShown );
}
break;
case ENWRegisteredOnHomeNetwork:
_LOG1( _L(" Home Network Activated "));
+ if ( iFlags.IsSet( ERoamingShown ) )
+ {
+ // Clear ERoamingShown when user returns to home
+ // network.
+ iFlags.Clear( ERoamingShown );
+ }
+
iCurrentNwStatus = aNWInfo.iRegistrationStatus;
CurrentNetworkSetting();
if( iHomeNetwork == ECmCellularDataUsageAutomatic )
--- a/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockface.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/renderingplugins/xnclockfactory/src/xnclockface.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -113,16 +113,6 @@
CXnNodePluginIf* date( aAdapter.Date() );
- TInt ampmWidth( 0 );
-
- if( TLocale().TimeFormat() == ETime12 )
- {
- // Measure the full width of the ampm string
- ampmWidth = AknBidiTextUtils::MeasureTextBoundsWidth( *ampmFont, ampm,
- CFont::TMeasureTextInput::EFVisualOrder );
- }
-
-
const TInt deltaHeight( aRect.Height() - clockFont->TextPaneHeight() );
TInt offset( clockFont->TextPaneTopToBaseline() + deltaHeight / 2 );
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickercontrol.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/inc/xnnewstickercontrol.h Wed Mar 31 21:17:19 2010 +0300
@@ -90,7 +90,13 @@
* @return The title of the given index.
*/
const TDesC& Title(TInt aIndex) const;
-
+
+ /**
+ * Returns last index from iTitleTexts
+ * Which is not empty string
+ */
+ TInt LastIndexWithContent();
+
/**
* Delete all titles.
*/
--- a/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickercontrol.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/renderingplugins/xnnewstickerfactory/src/xnnewstickercontrol.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -174,6 +174,22 @@
}
// -----------------------------------------------------------------------------
+// CXnNewstickerControl::LastIndexWithContent
+// -----------------------------------------------------------------------------
+//
+TInt CXnNewstickerControl::LastIndexWithContent()
+ {
+ for( TInt i(iTitleTexts.Count()-1); i>=0; --i )
+ {
+ if ( iTitleTexts[ i ]->Des().Length() > 0 )
+ {
+ return i;
+ }
+ }
+ return KErrNotFound;
+ }
+
+// -----------------------------------------------------------------------------
// CXnNewstickerControl::ClearTitles
// -----------------------------------------------------------------------------
//
@@ -252,22 +268,38 @@
{
TBool ret( EFalse );
TInt lastIndex( iTitleTexts.Count() - 1 );
+ TInt lastIndexWithContent = LastIndexWithContent();
if( aSetDefault )
{
+ // set last index as default
iCurrentTitleIndex = GetNextTitleWithContent( lastIndex, ETrue );
}
else if( iCurrentTitleIndex >= lastIndex )
{
+ // if iCurrentTitleIndex is in last position start from beginning
iCurrentTitleIndex = GetNextTitleWithContent( 0 );
}
else
{
- iCurrentTitleIndex = GetNextTitleWithContent( iCurrentTitleIndex + 1 );
+ if ( iCurrentTitleIndex + 1 > lastIndexWithContent )
+ {
+ // if lastIndexWithContent is creater than next item
+ // it means all next items are empty strings
+ iCurrentTitleIndex = lastIndexWithContent;
+ }
+ else
+ {
+ // find next index with content
+ iCurrentTitleIndex
+ = GetNextTitleWithContent( iCurrentTitleIndex + 1 );
+ }
}
- if( iCurrentTitleIndex == lastIndex)
+ if( iCurrentTitleIndex == lastIndexWithContent ||
+ lastIndexWithContent == KErrNotFound )
{
+ // loop done stop periodic timer.
ret = ETrue;
}
--- a/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/renderingplugins/xntexteditorfactory/src/xntexteditoradapter.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -226,7 +226,13 @@
iEditor->SetAknEditorFlags( EAknEditorFlagEnablePartialScreen );
SetFlag( iSplitInputFlags, ESplitInputEnabled );
}
-
+
+ // for RTL languages
+ iEditor->SetAknEditorLocalLanguage( User::Language() );
+ ( AknLayoutUtils::LayoutMirrored() ?
+ iEditor->SetAlignment( EHRightVCenter ) :
+ iEditor->SetAlignment( EHLeftVCenter ) );
+
iEditor->SetObserver( this );
// Default not focused
--- a/idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/bwins/xn3layoutengineu.def Wed Mar 31 21:17:19 2010 +0300
@@ -40,198 +40,198 @@
?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<class CXnNodeAppIf> 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 CXnResource> &, class TDesC16 const &, int &)
- ?UnsetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 67 NONAME ; void CXnNodeAppIf::UnsetStateL(class TDesC8 const &)
- ?Uid@CXnDocument@@QAE?AVTUid@@XZ @ 68 NONAME ; class TUid CXnDocument::Uid(void)
- ?FocusChanged@CXnControlAdapter@@UAEXW4TDrawNow@@@Z @ 69 NONAME ; void CXnControlAdapter::FocusChanged(enum TDrawNow)
- ?SetBlank@CXnControlAdapter@@QAEXH@Z @ 70 NONAME ; void CXnControlAdapter::SetBlank(int)
- ?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<class CXnNodeAppIf> 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<class CXnProperty> *)
- ?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<class CXnResource> & 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<class CXnNodePluginIf> 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<class CXnNodeAppIf> CXnNodeAppIf::ChildrenL(void)
- ?ConvertHslToRgb@CXnUtils@@SA?AVTRgb@@HHH@Z @ 201 NONAME ; class TRgb CXnUtils::ConvertHslToRgb(int, int, int)
+ ?IsTextEditorActive@TXnUiEnginePluginIf@@QAEHXZ @ 42 NONAME ; int TXnUiEnginePluginIf::IsTextEditorActive(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<class CXnNodeAppIf> 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)
+ ?UiEngineL@CXnNodeAppIf@@QAEPAVTXnUiEngineAppIf@@XZ @ 54 NONAME ; class TXnUiEngineAppIf * CXnNodeAppIf::UiEngineL(void)
+ ?LongTapDetector@CXnControlAdapter@@QBEPAVCAknLongTapDetector@@XZ @ 55 NONAME ; class CAknLongTapDetector * CXnControlAdapter::LongTapDetector(void) const
+ ??0CXnAppUiAdapter@@QAE@VTUid@@@Z @ 56 NONAME ; CXnAppUiAdapter::CXnAppUiAdapter(class TUid)
+ ?Rect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 57 NONAME ; class TRect CXnNodePluginIf::Rect(void)
+ ?AddChildL@CXnNodePluginIf@@QAEXPAV1@@Z @ 58 NONAME ; void CXnNodePluginIf::AddChildL(class CXnNodePluginIf *)
+ ?SetNode@CXnComponent@@QAEXAAVCXnNodePluginIf@@@Z @ 59 NONAME ; void CXnComponent::SetNode(class CXnNodePluginIf &)
+ ?ResetStylusCounter@CXnControlAdapter@@QAEXXZ @ 60 NONAME ; void CXnControlAdapter::ResetStylusCounter(void)
+ ?SetComponent@CXnComponentNodeImpl@@QAEXPAVCXnComponent@@@Z @ 61 NONAME ; void CXnComponentNodeImpl::SetComponent(class CXnComponent *)
+ ?LayoutUIL@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 62 NONAME ; void TXnUiEnginePluginIf::LayoutUIL(class CXnNodePluginIf *)
+ ?FocusVisible@TXnUiEnginePluginIf@@QAEHXZ @ 63 NONAME ; int TXnUiEnginePluginIf::FocusVisible(void)
+ ?ExitPowerSaveModeL@CXnControlAdapter@@QAEXW4TModeEvent@1@@Z @ 64 NONAME ; void CXnControlAdapter::ExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
+ ?GetThemeResource@TXnUiEngineAppIf@@QAEHABVTDesC16@@AAVRFile@@@Z @ 65 NONAME ; int TXnUiEngineAppIf::GetThemeResource(class TDesC16 const &, class RFile &)
+ ?ConstructL@CXnComponent@@IAEXXZ @ 66 NONAME ; void CXnComponent::ConstructL(void)
+ ?FindResource@CXnUtils@@SAPAVCXnResource@@AAV?$CArrayPtrSeg@VCXnResource@@@@ABVTDesC16@@AAH@Z @ 67 NONAME ; class CXnResource * CXnUtils::FindResource(class CArrayPtrSeg<class CXnResource> &, class TDesC16 const &, int &)
+ ?UnsetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 68 NONAME ; void CXnNodeAppIf::UnsetStateL(class TDesC8 const &)
+ ?Uid@CXnDocument@@QAE?AVTUid@@XZ @ 69 NONAME ; class TUid CXnDocument::Uid(void)
+ ?FocusChanged@CXnControlAdapter@@UAEXW4TDrawNow@@@Z @ 70 NONAME ; void CXnControlAdapter::FocusChanged(enum TDrawNow)
+ ?SetBlank@CXnControlAdapter@@QAEXH@Z @ 71 NONAME ; void CXnControlAdapter::SetBlank(int)
+ ?ProcessMessageL@CXnAppUiAdapter@@UAEXVTUid@@ABVTDesC8@@@Z @ 72 NONAME ; void CXnAppUiAdapter::ProcessMessageL(class TUid, class TDesC8 const &)
+ ?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)
+ ?HandleXuikonEventL@CXnAppUiAdapter@@UAEXAAVCXnNodeAppIf@@0AAVCXnDomNode@@1@Z @ 80 NONAME ; void CXnAppUiAdapter::HandleXuikonEventL(class CXnNodeAppIf &, class CXnNodeAppIf &, class CXnDomNode &, class CXnDomNode &)
+ ?RenderUIL@TXnUiEngineAppIf@@QAEXPAVCXnNodeAppIf@@@Z @ 81 NONAME ; void TXnUiEngineAppIf::RenderUIL(class CXnNodeAppIf *)
+ ?PrepareToExit@CXnAppUiAdapter@@MAEXXZ @ 82 NONAME ; void CXnAppUiAdapter::PrepareToExit(void)
+ ?DoHandlePropertyChangeL@CXnControlAdapter@@UAEXPAVCXnProperty@@@Z @ 83 NONAME ; void CXnControlAdapter::DoHandlePropertyChangeL(class CXnProperty *)
+ ?ConstructL@CXnControlAdapter@@IAEXAAVCXnNodePluginIf@@@Z @ 84 NONAME ; void CXnControlAdapter::ConstructL(class CXnNodePluginIf &)
+ ?FocusedNode@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@XZ @ 85 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FocusedNode(void)
+ ?SetDataL@CXnComponent@@QAEXABVTDesC8@@ABVTDesC16@@H@Z @ 86 NONAME ; void CXnComponent::SetDataL(class TDesC8 const &, class TDesC16 const &, int)
+ ?OfferKeyEventL@CXnControlAdapter@@UAE?AW4TKeyResponse@@ABUTKeyEvent@@W4TEventCode@@@Z @ 87 NONAME ; enum TKeyResponse CXnControlAdapter::OfferKeyEventL(struct TKeyEvent const &, enum TEventCode)
+ ?IsDrawingAllowed@CXnControlAdapter@@QBEHXZ @ 88 NONAME ; int CXnControlAdapter::IsDrawingAllowed(void) const
+ ?DisplayL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 89 NONAME ; class CXnProperty * CXnNodePluginIf::DisplayL(void)
+ ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@PAVCXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 90 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class CXnDomPropertyValue *, class CXnDomStringPool &)
+ ?Rect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 91 NONAME ; class TRect CXnNodeAppIf::Rect(void)
+ ?NewL@CXnComponentNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 92 NONAME ; class CXnComponentNodeImpl * CXnComponentNodeImpl::NewL(class CXnType *)
+ ?WidgetsVisible@TXnUiEngineAppIf@@QBEHXZ @ 93 NONAME ; int TXnUiEngineAppIf::WidgetsVisible(void) const
+ ?Type@CXnNodePluginIf@@QAEPAVCXnType@@XZ @ 94 NONAME ; class CXnType * CXnNodePluginIf::Type(void)
+ ?MakeXnComponentL@MXnComponentFactory@@EAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 95 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::MakeXnComponentL(class CXnNodePluginIf &, class CXnComponent * &)
+ ?ActivateViewL@TXnUiEngineAppIf@@QAEXAAVCXnNodeAppIf@@@Z @ 96 NONAME ; void TXnUiEngineAppIf::ActivateViewL(class CXnNodeAppIf &)
+ ?UnsetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 97 NONAME ; void CXnNodePluginIf::UnsetStateL(class TDesC8 const &)
+ ?StringValueL@CXnProperty@@QAEPAVHBufC16@@XZ @ 98 NONAME ; class HBufC16 * CXnProperty::StringValueL(void)
+ ?DisableRenderUiLC@TXnUiEnginePluginIf@@QAEXXZ @ 99 NONAME ; void TXnUiEnginePluginIf::DisableRenderUiLC(void)
+ ?SetPropertyL@CXnNodeAppIf@@QAEXPAVCXnProperty@@@Z @ 100 NONAME ; void CXnNodeAppIf::SetPropertyL(class CXnProperty *)
+ ?View@CXnAppUiAdapter@@QBEAAVCAknView@@XZ @ 101 NONAME ; class CAknView & CXnAppUiAdapter::View(void) const
+ ?ViewNodeImpl@CXnNodePluginIf@@QAEPAVCXnViewNodeImpl@@XZ @ 102 NONAME ; class CXnViewNodeImpl * CXnNodePluginIf::ViewNodeImpl(void)
+ ?StripQuotes@CXnUtils@@SAXAAPAVHBufC16@@@Z @ 103 NONAME ; void CXnUtils::StripQuotes(class HBufC16 * &)
+ ?SetPCDataL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 104 NONAME ; void CXnNodePluginIf::SetPCDataL(class TDesC8 const &)
+ ?VisibilityL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 105 NONAME ; class CXnProperty * CXnNodePluginIf::VisibilityL(void)
+ ?Draw@CXnControlAdapter@@MBEXABVTRect@@@Z @ 106 NONAME ; void CXnControlAdapter::Draw(class TRect const &) const
+ ??1CXnApplication@@UAE@XZ @ 107 NONAME ; CXnApplication::~CXnApplication(void)
+ ?DoesNodeNeedComponentImplL@MXnComponentFactory@@QAEHABVTDesC8@@@Z @ 108 NONAME ; int MXnComponentFactory::DoesNodeNeedComponentImplL(class TDesC8 const &)
+ ?ConstructL@CXnViewsNodeImpl@@IAEXPAVCXnType@@@Z @ 109 NONAME ; void CXnViewsNodeImpl::ConstructL(class CXnType *)
+ ?StringPool@TXnUiEngineAppIf@@QAEAAVCXnDomStringPool@@XZ @ 110 NONAME ; class CXnDomStringPool & TXnUiEngineAppIf::StringPool(void)
+ ?UiEngineL@CXnNodePluginIf@@QAEPAVTXnUiEnginePluginIf@@XZ @ 111 NONAME ; class TXnUiEnginePluginIf * CXnNodePluginIf::UiEngineL(void)
+ ?ShowFocus@TXnUiEnginePluginIf@@QAEHXZ @ 112 NONAME ; int TXnUiEnginePluginIf::ShowFocus(void)
+ ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@@Z @ 113 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &)
+ ?PluginNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@PAV2@@Z @ 114 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::PluginNodeL(class CXnNodePluginIf *)
+ ?VerticalPixelValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 115 NONAME ; int TXnUiEnginePluginIf::VerticalPixelValueL(class CXnProperty *, int)
+ ?SetComponent@CXnControlAdapter@@QAEXPAVCXnComponent@@@Z @ 116 NONAME ; void CXnControlAdapter::SetComponent(class CXnComponent *)
+ ??0MXnNodePredicate@@QAE@XZ @ 117 NONAME ; MXnNodePredicate::MXnNodePredicate(void)
+ ??1CXnViewsNodeImpl@@UAE@XZ @ 118 NONAME ; CXnViewsNodeImpl::~CXnViewsNodeImpl(void)
+ ?HandleControlEventL@CXnControlAdapter@@UAEXPAVCCoeControl@@W4TCoeEvent@MCoeControlObserver@@@Z @ 119 NONAME ; void CXnControlAdapter::HandleControlEventL(class CCoeControl *, enum MCoeControlObserver::TCoeEvent)
+ ?ActivateViewL@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@@Z @ 120 NONAME ; void TXnUiEnginePluginIf::ActivateViewL(class CXnNodePluginIf &)
+ ?HandleScreenDeviceChangedL@CXnControlAdapter@@UAEXXZ @ 121 NONAME ; void CXnControlAdapter::HandleScreenDeviceChangedL(void)
+ ?SizeChanged@CXnControlAdapter@@MAEXXZ @ 122 NONAME ; void CXnControlAdapter::SizeChanged(void)
+ ?CountComponentControls@CXnControlAdapter@@MBEHXZ @ 123 NONAME ; int CXnControlAdapter::CountComponentControls(void) const
+ ?HideTooltipsL@CXnNodeAppIf@@QAEXXZ @ 124 NONAME ; void CXnNodeAppIf::HideTooltipsL(void)
+ ?GetPropertyL@CXnNodeAppIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 125 NONAME ; class CXnProperty * CXnNodeAppIf::GetPropertyL(class TDesC8 const &) const
+ ?DeactivateFocusedNodeL@TXnUiEnginePluginIf@@QAEXXZ @ 126 NONAME ; void TXnUiEnginePluginIf::DeactivateFocusedNodeL(void)
+ ?FindNodeByClassL@TXnUiEngineAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@ABVTDesC8@@0@Z @ 127 NONAME ; class RPointerArray<class CXnNodeAppIf> TXnUiEngineAppIf::FindNodeByClassL(class TDesC8 const &, class TDesC8 const &)
+ ?Match@MXnNodePredicate@@UAEHAAVCXnNode@@@Z @ 128 NONAME ; int MXnNodePredicate::Match(class CXnNode &)
+ ?GetBitmapAndMask@CXnControlAdapter@@QAEXABVTDesC16@@0AAPAVCFbsBitmap@@1@Z @ 129 NONAME ; void CXnControlAdapter::GetBitmapAndMask(class TDesC16 const &, class TDesC16 const &, class CFbsBitmap * &, class CFbsBitmap * &)
+ ?NewL@CXnViewsNodeImpl@@SAPAV1@PAVCXnType@@@Z @ 130 NONAME ; class CXnViewsNodeImpl * CXnViewsNodeImpl::NewL(class CXnType *)
+ ?PaddingRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 131 NONAME ; class TRect CXnNodeAppIf::PaddingRect(void)
+ ?SetMarginRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 132 NONAME ; void CXnNodePluginIf::SetMarginRect(class TRect const &)
+ ?IsDialogDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 133 NONAME ; int TXnUiEnginePluginIf::IsDialogDisplaying(void)
+ ?HandleEventL@CXnAppUiAdapter@@UAEXABVTDesC16@@AAVCXnNodeAppIf@@@Z @ 134 NONAME ; void CXnAppUiAdapter::HandleEventL(class TDesC16 const &, class CXnNodeAppIf &)
+ ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@ABVTDesC8@@@Z @ 135 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class TDesC8 const &) const
+ ?SetPropertyArrayL@CXnNodeAppIf@@QAEXPAV?$RPointerArray@VCXnProperty@@@@@Z @ 136 NONAME ; void CXnNodeAppIf::SetPropertyArrayL(class RPointerArray<class CXnProperty> *)
+ ?RestorePreviousFocusedNode@TXnUiEnginePluginIf@@QAEXXZ @ 137 NONAME ; void TXnUiEnginePluginIf::RestorePreviousFocusedNode(void)
+ ?RemoveViewL@CXnAppUiAdapter@@QAEXAAVCAknView@@@Z @ 138 NONAME ; void CXnAppUiAdapter::RemoveViewL(class CAknView &)
+ ?EnterPowerSaveModeL@CXnComponent@@UAEXXZ @ 139 NONAME ; void CXnComponent::EnterPowerSaveModeL(void)
+ ?SetRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 140 NONAME ; void CXnNodePluginIf::SetRect(class TRect const &)
+ ??0CXnComponent@@IAE@XZ @ 141 NONAME ; CXnComponent::CXnComponent(void)
+ ?CollapseWhiteSpace@CXnUtils@@SAXAAVCXnNodePluginIf@@AAVTDes16@@@Z @ 142 NONAME ; void CXnUtils::CollapseWhiteSpace(class CXnNodePluginIf &, class TDes16 &)
+ ?SetHandleTooltip@CXnNodePluginIf@@QAEXH@Z @ 143 NONAME ; void CXnNodePluginIf::SetHandleTooltip(int)
+ ??1CXnAppUiAdapter@@UAE@XZ @ 144 NONAME ; CXnAppUiAdapter::~CXnAppUiAdapter(void)
+ ?NewL@CXnControlAdapter@@SAPAV1@AAVCXnNodePluginIf@@@Z @ 145 NONAME ; class CXnControlAdapter * CXnControlAdapter::NewL(class CXnNodePluginIf &)
+ ?EnableLongTapAnimation@CXnControlAdapter@@QAEXH@Z @ 146 NONAME ; void CXnControlAdapter::EnableLongTapAnimation(int)
+ ?SetPaddingRect@CXnNodePluginIf@@QAEXABVTRect@@@Z @ 147 NONAME ; void CXnNodePluginIf::SetPaddingRect(class TRect const &)
+ ?SetFocusedNode@TXnUiEnginePluginIf@@QAEXPAVCXnNodePluginIf@@@Z @ 148 NONAME ; void TXnUiEnginePluginIf::SetFocusedNode(class CXnNodePluginIf *)
+ ?ExitPowerSaveModeL@CXnComponent@@UAEXXZ @ 149 NONAME ; void CXnComponent::ExitPowerSaveModeL(void)
+ ?EnableSwipeL@TXnUiEnginePluginIf@@QAEXH@Z @ 150 NONAME ; void TXnUiEnginePluginIf::EnableSwipeL(int)
+ ?GetPCData@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 151 NONAME ; class TDesC8 const & CXnNodeAppIf::GetPCData(void) const
+ ?Namespace@CXnNodeAppIf@@QAEABVTDesC8@@XZ @ 152 NONAME ; class TDesC8 const & CXnNodeAppIf::Namespace(void)
+ ??1CXnComponentNodeImpl@@UAE@XZ @ 153 NONAME ; CXnComponentNodeImpl::~CXnComponentNodeImpl(void)
+ ?SetPropertyWithoutNotificationL@CXnNodePluginIf@@QAEXPAVCXnProperty@@@Z @ 154 NONAME ; void CXnNodePluginIf::SetPropertyWithoutNotificationL(class CXnProperty *)
+ ?GetPCData@CXnNodePluginIf@@QBEABVTDesC8@@XZ @ 155 NONAME ; class TDesC8 const & CXnNodePluginIf::GetPCData(void) const
+ ?SetPCDataL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 156 NONAME ; void CXnNodeAppIf::SetPCDataL(class TDesC8 const &)
+ ?Resources@TXnUiEnginePluginIf@@QAEAAV?$CArrayPtrSeg@VCXnResource@@@@XZ @ 157 NONAME ; class CArrayPtrSeg<class CXnResource> & TXnUiEnginePluginIf::Resources(void)
+ ?SetContentBitmaps@CXnControlAdapter@@QAEXABVTDesC16@@0@Z @ 158 NONAME ; void CXnControlAdapter::SetContentBitmaps(class TDesC16 const &, class TDesC16 const &)
+ ??1CXnControlAdapter@@UAE@XZ @ 159 NONAME ; CXnControlAdapter::~CXnControlAdapter(void)
+ ??1MXnNodePredicate@@UAE@XZ @ 160 NONAME ; MXnNodePredicate::~MXnNodePredicate(void)
+ ?HorizontalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 161 NONAME ; int TXnUiEnginePluginIf::HorizontalTwipValueL(class CXnProperty *, int)
+ ?ConstructL@CXnAppUiAdapter@@UAEXXZ @ 162 NONAME ; void CXnAppUiAdapter::ConstructL(void)
+ ?CreateFontL@CXnUtils@@SAXAAVCXnNodePluginIf@@AAPAVCFont@@AAH@Z @ 163 NONAME ; void CXnUtils::CreateFontL(class CXnNodePluginIf &, class CFont * &, int &)
+ ??0CXnApplication@@QAE@VTUid@@@Z @ 164 NONAME ; CXnApplication::CXnApplication(class TUid)
+ ?ComponentControl@CXnControlAdapter@@MBEPAVCCoeControl@@H@Z @ 165 NONAME ; class CCoeControl * CXnControlAdapter::ComponentControl(int) const
+ ?HandleLongTapEventL@CXnControlAdapter@@UAEXABVTPoint@@0@Z @ 166 NONAME ; void CXnControlAdapter::HandleLongTapEventL(class TPoint const &, class TPoint const &)
+ ?ParentL@CXnNodeAppIf@@QBEPAV1@XZ @ 167 NONAME ; class CXnNodeAppIf * CXnNodeAppIf::ParentL(void) const
+ ??1CXnComponent@@UAE@XZ @ 168 NONAME ; CXnComponent::~CXnComponent(void)
+ ?ControlAdapter@CXnComponent@@QAEPAVCXnControlAdapter@@XZ @ 169 NONAME ; class CXnControlAdapter * CXnComponent::ControlAdapter(void)
+ ?DrawContentImage@CXnControlAdapter@@IBEXXZ @ 170 NONAME ; void CXnControlAdapter::DrawContentImage(void) const
+ ?Component@CXnComponentNodeImpl@@QAEPAVCXnComponent@@XZ @ 171 NONAME ; class CXnComponent * CXnComponentNodeImpl::Component(void)
+ ?WidgetsVisible@TXnUiEnginePluginIf@@QBEHXZ @ 172 NONAME ; int TXnUiEnginePluginIf::WidgetsVisible(void) const
+ ?SetControlAdapter@CXnComponent@@QAEXPAVCXnControlAdapter@@@Z @ 173 NONAME ; void CXnComponent::SetControlAdapter(class CXnControlAdapter *)
+ ?SetStateL@CXnNodePluginIf@@QAEXABVTDesC8@@@Z @ 174 NONAME ; void CXnNodePluginIf::SetStateL(class TDesC8 const &)
+ ?DoesComponentNeedCreation@CXnComponentNodeImpl@@QBEHXZ @ 175 NONAME ; int CXnComponentNodeImpl::DoesComponentNeedCreation(void) const
+ ??0CXnDocument@@QAE@AAVCEikApplication@@VTUid@@@Z @ 176 NONAME ; CXnDocument::CXnDocument(class CEikApplication &, class TUid)
+ ?FindNodeByClassL@TXnUiEnginePluginIf@@QAE?AV?$RPointerArray@VCXnNodePluginIf@@@@ABVTDesC16@@@Z @ 177 NONAME ; class RPointerArray<class CXnNodePluginIf> TXnUiEnginePluginIf::FindNodeByClassL(class TDesC16 const &)
+ ?InternalDomNodeType@CXnNodeAppIf@@QBEABVTDesC8@@XZ @ 178 NONAME ; class TDesC8 const & CXnNodeAppIf::InternalDomNodeType(void) const
+ ?StringPool@TXnUiEnginePluginIf@@QAEAAVCXnDomStringPool@@XZ @ 179 NONAME ; class CXnDomStringPool & TXnUiEnginePluginIf::StringPool(void)
+ ?SetStateL@CXnNodeAppIf@@QAEXABVTDesC8@@@Z @ 180 NONAME ; void CXnNodeAppIf::SetStateL(class TDesC8 const &)
+ ?Type@CXnNodeAppIf@@QAEPAVCXnType@@XZ @ 181 NONAME ; class CXnType * CXnNodeAppIf::Type(void)
+ ?BorderRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 182 NONAME ; class TRect CXnNodeAppIf::BorderRect(void)
+ ?IdL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 183 NONAME ; class CXnProperty * CXnNodePluginIf::IdL(void)
+ ?RootNodeL@TXnUiEngineAppIf@@QAEAAVCXnNodeAppIf@@XZ @ 184 NONAME ; class CXnNodeAppIf & TXnUiEngineAppIf::RootNodeL(void)
+ ?CreateXnComponentL@MXnComponentFactory@@QAE?AW4TXnComponentFactoryResponse@1@AAVCXnNodePluginIf@@AAPAVCXnComponent@@@Z @ 185 NONAME ; enum MXnComponentFactory::TXnComponentFactoryResponse MXnComponentFactory::CreateXnComponentL(class CXnNodePluginIf &, class CXnComponent * &)
+ ?RefreshMenuL@TXnUiEngineAppIf@@QAEXXZ @ 186 NONAME ; void TXnUiEngineAppIf::RefreshMenuL(void)
+ ?PaddingRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 187 NONAME ; class TRect CXnNodePluginIf::PaddingRect(void)
+ ?MeasureAdaptiveContentL@CXnControlAdapter@@UAE?AVTSize@@ABV2@@Z @ 188 NONAME ; class TSize CXnControlAdapter::MeasureAdaptiveContentL(class TSize const &)
+ ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@0W4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 189 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, class TDesC8 const &, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &)
+ ?GetPropertyL@CXnNodePluginIf@@QBEPAVCXnProperty@@AAV2@@Z @ 190 NONAME ; class CXnProperty * CXnNodePluginIf::GetPropertyL(class CXnProperty &) const
+ ?HitRegion@TXnUiEnginePluginIf@@QBEPAVCXnControlAdapter@@XZ @ 191 NONAME ; class CXnControlAdapter * TXnUiEnginePluginIf::HitRegion(void) const
+ ?MarginRect@CXnNodeAppIf@@QAE?AVTRect@@XZ @ 192 NONAME ; class TRect CXnNodeAppIf::MarginRect(void)
+ ?MakeInterfaceL@CXnComponent@@UAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 193 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnComponent::MakeInterfaceL(class TDesC8 const &)
+ ?EditMode@TXnUiEnginePluginIf@@QAEHXZ @ 194 NONAME ; int TXnUiEnginePluginIf::EditMode(void)
+ ?FindNodeByIdL@TXnUiEnginePluginIf@@QAEPAVCXnNodePluginIf@@ABVTDesC8@@0@Z @ 195 NONAME ; class CXnNodePluginIf * TXnUiEnginePluginIf::FindNodeByIdL(class TDesC8 const &, class TDesC8 const &)
+ ?EnableRenderUi@CXnUiEngineImpl@@CAXPAX@Z @ 196 NONAME ; void CXnUiEngineImpl::EnableRenderUi(void *)
+ ?IsMenuDisplaying@TXnUiEnginePluginIf@@QAEHXZ @ 197 NONAME ; int TXnUiEnginePluginIf::IsMenuDisplaying(void)
+ ?IsMenuDisplaying@TXnUiEngineAppIf@@QAEHXZ @ 198 NONAME ; int TXnUiEngineAppIf::IsMenuDisplaying(void)
+ ?NewL@CXnProperty@@SAPAV1@PAVCXnDomProperty@@@Z @ 199 NONAME ; class CXnProperty * CXnProperty::NewL(class CXnDomProperty *)
+ ?ConstructL@CXnComponentNodeImpl@@IAEXPAVCXnType@@@Z @ 200 NONAME ; void CXnComponentNodeImpl::ConstructL(class CXnType *)
+ ?ChildrenL@CXnNodeAppIf@@QAE?AV?$RPointerArray@VCXnNodeAppIf@@@@XZ @ 201 NONAME ; class RPointerArray<class CXnNodeAppIf> CXnNodeAppIf::ChildrenL(void)
?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<class CXnNodeAppIf> &)
- ?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 &)
- ?IsTextEditorActive@TXnUiEnginePluginIf@@QAEHXZ @ 235 NONAME ; int TXnUiEnginePluginIf::IsTextEditorActive(void)
+ ?ConvertHslToRgb@CXnUtils@@SA?AVTRgb@@HHH@Z @ 203 NONAME ; class TRgb CXnUtils::ConvertHslToRgb(int, int, int)
+ ?LoadBitmap@CXnControlAdapter@@QAEPAVCFbsBitmap@@ABVTDesC16@@@Z @ 204 NONAME ; class CFbsBitmap * CXnControlAdapter::LoadBitmap(class TDesC16 const &)
+ ??0MXnComponentFactory@@IAE@XZ @ 205 NONAME ; MXnComponentFactory::MXnComponentFactory(void)
+ ?SetComponent@CXnViewsNodeImpl@@QAEXPAVCXnComponent@@@Z @ 206 NONAME ; void CXnViewsNodeImpl::SetComponent(class CXnComponent *)
+ ?BorderRect@CXnNodePluginIf@@QAE?AVTRect@@XZ @ 207 NONAME ; class TRect CXnNodePluginIf::BorderRect(void)
+ ?CreateDocumentL@CXnApplication@@MAEPAVCApaDocument@@XZ @ 208 NONAME ; class CApaDocument * CXnApplication::CreateDocumentL(void)
+ ?HandleUiReadyEventL@CXnAppUiAdapter@@UAEXXZ @ 209 NONAME ; void CXnAppUiAdapter::HandleUiReadyEventL(void)
+ ?CreateFontL@CXnUtils@@SAXABVTDesC16@@HVTFontStyle@@AAPAVCFont@@AAH@Z @ 210 NONAME ; void CXnUtils::CreateFontL(class TDesC16 const &, int, class TFontStyle, class CFont * &, int &)
+ ?GetPluginNodeArrayL@TXnUiEngineAppIf@@QAEHAAV?$RPointerArray@VCXnNodeAppIf@@@@@Z @ 211 NONAME ; int TXnUiEngineAppIf::GetPluginNodeArrayL(class RPointerArray<class CXnNodeAppIf> &)
+ ?MakeXnControlAdapterL@MXnComponentFactory@@EAEPAVCXnControlAdapter@@AAVCXnNodePluginIf@@PAV2@@Z @ 212 NONAME ; class CXnControlAdapter * MXnComponentFactory::MakeXnControlAdapterL(class CXnNodePluginIf &, class CXnControlAdapter *)
+ ?IsDrawingAllowed@CXnNodePluginIf@@QBEHXZ @ 213 NONAME ; int CXnNodePluginIf::IsDrawingAllowed(void) const
+ ?MakeInterfaceL@CXnNodeAppIf@@QAEPAVMXnComponentInterface@XnComponentInterface@@ABVTDesC8@@@Z @ 214 NONAME ; class XnComponentInterface::MXnComponentInterface * CXnNodeAppIf::MakeInterfaceL(class TDesC8 const &)
+ ?VerticalTwipValueL@TXnUiEnginePluginIf@@QAEHPAVCXnProperty@@H@Z @ 215 NONAME ; int TXnUiEnginePluginIf::VerticalTwipValueL(class CXnProperty *, int)
+ ?Component@CXnControlAdapter@@QAEPAVCXnComponent@@XZ @ 216 NONAME ; class CXnComponent * CXnControlAdapter::Component(void)
+ ?FloatValueL@CXnProperty@@QAENXZ @ 217 NONAME ; double CXnProperty::FloatValueL(void)
+ ?SetUiEngine@TXnUiEngineAppIf@@QAEXPAVCXnUiEngine@@@Z @ 218 NONAME ; void TXnUiEngineAppIf::SetUiEngine(class CXnUiEngine *)
+ ?FindNodeByIdL@TXnUiEngineAppIf@@QAEPAVCXnNodeAppIf@@ABVTDesC16@@0@Z @ 219 NONAME ; class CXnNodeAppIf * TXnUiEngineAppIf::FindNodeByIdL(class TDesC16 const &, class TDesC16 const &)
+ ?IsEditMode@TXnUiEngineAppIf@@QAEHXZ @ 220 NONAME ; int TXnUiEngineAppIf::IsEditMode(void)
+ ?ResolveSkinItemIDL@CXnUtils@@SAHABVTDesC16@@AAVTAknsItemID@@AAH@Z @ 221 NONAME ; int CXnUtils::ResolveSkinItemIDL(class TDesC16 const &, class TAknsItemID &, int &)
+ ?EnablePartialTouchInput@TXnUiEnginePluginIf@@QAEXAAVCXnNodePluginIf@@H@Z @ 222 NONAME ; void TXnUiEnginePluginIf::EnablePartialTouchInput(class CXnNodePluginIf &, int)
+ ?RootNodeL@TXnUiEnginePluginIf@@QAEAAVCXnNodePluginIf@@XZ @ 223 NONAME ; class CXnNodePluginIf & TXnUiEnginePluginIf::RootNodeL(void)
+ ?CreateAppUiL@CXnDocument@@UAEPAVCEikAppUi@@XZ @ 224 NONAME ; class CEikAppUi * CXnDocument::CreateAppUiL(void)
+ ?PathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 225 NONAME ; class CXnProperty * CXnNodePluginIf::PathL(void)
+ ?NewL@CXnProperty@@SAPAV1@ABVTDesC8@@NW4TPrimitiveValueType@CXnDomPropertyValue@@AAVCXnDomStringPool@@@Z @ 226 NONAME ; class CXnProperty * CXnProperty::NewL(class TDesC8 const &, double, enum CXnDomPropertyValue::TPrimitiveValueType, class CXnDomStringPool &)
+ ?MaskPathL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 227 NONAME ; class CXnProperty * CXnNodePluginIf::MaskPathL(void)
+ ?AppDllUid@CXnApplication@@MBE?AVTUid@@XZ @ 228 NONAME ; class TUid CXnApplication::AppDllUid(void) const
+ ?DoExitPowerSaveModeL@CXnControlAdapter@@UAEXW4TModeEvent@1@@Z @ 229 NONAME ; void CXnControlAdapter::DoExitPowerSaveModeL(enum CXnControlAdapter::TModeEvent)
+ ?LabelL@CXnNodePluginIf@@QAEPAVCXnProperty@@XZ @ 230 NONAME ; class CXnProperty * CXnNodePluginIf::LabelL(void)
+ ?Component@CXnViewsNodeImpl@@QAEPAVCXnComponent@@XZ @ 231 NONAME ; class CXnComponent * CXnViewsNodeImpl::Component(void)
+ ?GetRgbValue@CXnUtils@@SAHAAVTRgb@@ABVTDesC8@@@Z @ 232 NONAME ; int CXnUtils::GetRgbValue(class TRgb &, class TDesC8 const &)
+ ?StringValue@CXnProperty@@QAEABVTDesC8@@XZ @ 233 NONAME ; class TDesC8 const & CXnProperty::StringValue(void)
+ ?SetVisible@CXnControlAdapter@@QAEXH@Z @ 234 NONAME ; void CXnControlAdapter::SetVisible(int)
+ ?Node@CXnComponent@@QAEPAVCXnNodePluginIf@@XZ @ 235 NONAME ; class CXnNodePluginIf * CXnComponent::Node(void)
--- a/idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/eabi/xn3layoutengineu.def Wed Mar 31 21:17:19 2010 +0300
@@ -56,234 +56,234 @@
_ZN14CXnApplicationD2Ev @ 55 NONAME
_ZN15CXnAppUiAdapter10ConstructLEv @ 56 NONAME
_ZN15CXnAppUiAdapter11RemoveViewLER8CAknView @ 57 NONAME
- _ZN15CXnAppUiAdapter11UiActivatedEv @ 58 NONAME
- _ZN15CXnAppUiAdapter12HandleEventLERK7TDesC16R12CXnNodeAppIf @ 59 NONAME
- _ZN15CXnAppUiAdapter13LoadPublisherER12CXnNodeAppIfi @ 60 NONAME
- _ZN15CXnAppUiAdapter13PrepareToExitEv @ 61 NONAME
+ _ZN15CXnAppUiAdapter12HandleEventLERK7TDesC16R12CXnNodeAppIf @ 58 NONAME
+ _ZN15CXnAppUiAdapter13LoadPublisherER12CXnNodeAppIfi @ 59 NONAME
+ _ZN15CXnAppUiAdapter13PrepareToExitEv @ 60 NONAME
+ _ZN15CXnAppUiAdapter15ProcessMessageLE4TUidRK6TDesC8 @ 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
- _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
- _ZN19TXnUiEnginePluginIf18IsTextEditorActiveEv @ 287 NONAME
+ _ZN15CXnAppUiAdapter19HandleUiReadyEventLEv @ 65 NONAME
+ _ZN15CXnAppUiAdapter20HandleEnterEditModeLEi @ 66 NONAME
+ _ZN15CXnAppUiAdapter21HandleResourceChangeLEi @ 67 NONAME
+ _ZN15CXnAppUiAdapter9UiEngineLEv @ 68 NONAME
+ _ZN15CXnAppUiAdapterC1E4TUid @ 69 NONAME
+ _ZN15CXnAppUiAdapterC2E4TUid @ 70 NONAME
+ _ZN15CXnAppUiAdapterD0Ev @ 71 NONAME
+ _ZN15CXnAppUiAdapterD1Ev @ 72 NONAME
+ _ZN15CXnAppUiAdapterD2Ev @ 73 NONAME
+ _ZN15CXnNodePluginIf10BorderRectEv @ 74 NONAME
+ _ZN15CXnNodePluginIf10MarginRectEv @ 75 NONAME
+ _ZN15CXnNodePluginIf10SetPCDataLERK6TDesC8 @ 76 NONAME
+ _ZN15CXnNodePluginIf11PaddingRectEv @ 77 NONAME
+ _ZN15CXnNodePluginIf11UnsetStateLERK6TDesC8 @ 78 NONAME
+ _ZN15CXnNodePluginIf11VisibilityLEv @ 79 NONAME
+ _ZN15CXnNodePluginIf12SetPropertyLEP11CXnProperty @ 80 NONAME
+ _ZN15CXnNodePluginIf12ViewNodeImplEv @ 81 NONAME
+ _ZN15CXnNodePluginIf13SetBorderRectERK5TRect @ 82 NONAME
+ _ZN15CXnNodePluginIf13SetMarginRectERK5TRect @ 83 NONAME
+ _ZN15CXnNodePluginIf14IsFocusedStateEv @ 84 NONAME
+ _ZN15CXnNodePluginIf14MakeInterfaceLERK6TDesC8 @ 85 NONAME
+ _ZN15CXnNodePluginIf14SetPaddingRectERK5TRect @ 86 NONAME
+ _ZN15CXnNodePluginIf16SetHandleTooltipEi @ 87 NONAME
+ _ZN15CXnNodePluginIf16SetLayoutCapableEi @ 88 NONAME
+ _ZN15CXnNodePluginIf17ComponentNodeImplEv @ 89 NONAME
+ _ZN15CXnNodePluginIf19ReportTriggerEventLERK6TDesC8S2_S2_ @ 90 NONAME
+ _ZN15CXnNodePluginIf31SetPropertyWithoutNotificationLEP11CXnProperty @ 91 NONAME
+ _ZN15CXnNodePluginIf3IdLEv @ 92 NONAME
+ _ZN15CXnNodePluginIf4RectEv @ 93 NONAME
+ _ZN15CXnNodePluginIf4TypeEv @ 94 NONAME
+ _ZN15CXnNodePluginIf5PathLEv @ 95 NONAME
+ _ZN15CXnNodePluginIf6AppIfLEv @ 96 NONAME
+ _ZN15CXnNodePluginIf6LabelLEv @ 97 NONAME
+ _ZN15CXnNodePluginIf7SetRectERK5TRect @ 98 NONAME
+ _ZN15CXnNodePluginIf8DisplayLEv @ 99 NONAME
+ _ZN15CXnNodePluginIf9AddChildLEPS_ @ 100 NONAME
+ _ZN15CXnNodePluginIf9ChildrenLEv @ 101 NONAME
+ _ZN15CXnNodePluginIf9MaskPathLEv @ 102 NONAME
+ _ZN15CXnNodePluginIf9NamespaceEv @ 103 NONAME
+ _ZN15CXnNodePluginIf9SetDirtyLEv @ 104 NONAME
+ _ZN15CXnNodePluginIf9SetStateLERK6TDesC8 @ 105 NONAME
+ _ZN15CXnNodePluginIf9UiEngineLEv @ 106 NONAME
+ _ZN15CXnUiEngineImpl14EnableRenderUiEPv @ 107 NONAME
+ _ZN16CXnViewsNodeImpl10ConstructLEP7CXnType @ 108 NONAME
+ _ZN16CXnViewsNodeImpl12SetComponentEP12CXnComponent @ 109 NONAME
+ _ZN16CXnViewsNodeImpl4NewLEP7CXnType @ 110 NONAME
+ _ZN16CXnViewsNodeImpl9ComponentEv @ 111 NONAME
+ _ZN16CXnViewsNodeImplC1Ev @ 112 NONAME
+ _ZN16CXnViewsNodeImplC2Ev @ 113 NONAME
+ _ZN16CXnViewsNodeImplD0Ev @ 114 NONAME
+ _ZN16CXnViewsNodeImplD1Ev @ 115 NONAME
+ _ZN16CXnViewsNodeImplD2Ev @ 116 NONAME
+ _ZN16MXnNodePredicate5MatchER7CXnNode @ 117 NONAME
+ _ZN16MXnNodePredicateC1Ev @ 118 NONAME
+ _ZN16MXnNodePredicateC2Ev @ 119 NONAME
+ _ZN16MXnNodePredicateD0Ev @ 120 NONAME
+ _ZN16MXnNodePredicateD1Ev @ 121 NONAME
+ _ZN16MXnNodePredicateD2Ev @ 122 NONAME
+ _ZN16TXnUiEngineAppIf10ActiveViewEv @ 123 NONAME
+ _ZN16TXnUiEngineAppIf10IsEditModeEv @ 124 NONAME
+ _ZN16TXnUiEngineAppIf10StringPoolEv @ 125 NONAME
+ _ZN16TXnUiEngineAppIf11FocusedNodeEv @ 126 NONAME
+ _ZN16TXnUiEngineAppIf11SetUiEngineEP11CXnUiEngine @ 127 NONAME
+ _ZN16TXnUiEngineAppIf12RefreshMenuLEv @ 128 NONAME
+ _ZN16TXnUiEngineAppIf13ActivateViewLER12CXnNodeAppIf @ 129 NONAME
+ _ZN16TXnUiEngineAppIf13FindNodeByIdLERK6TDesC8S2_ @ 130 NONAME
+ _ZN16TXnUiEngineAppIf13FindNodeByIdLERK7TDesC16S2_ @ 131 NONAME
+ _ZN16TXnUiEngineAppIf16FindNodeByClassLERK6TDesC8S2_ @ 132 NONAME
+ _ZN16TXnUiEngineAppIf16FindNodeByClassLERK7TDesC16S2_ @ 133 NONAME
+ _ZN16TXnUiEngineAppIf16GetThemeResourceERK7TDesC16R5RFile @ 134 NONAME
+ _ZN16TXnUiEngineAppIf16IsMenuDisplayingEv @ 135 NONAME
+ _ZN16TXnUiEngineAppIf19GetPluginNodeArrayLER13RPointerArrayI12CXnNodeAppIfE @ 136 NONAME
+ _ZN16TXnUiEngineAppIf23FindContentSourceNodesLERK6TDesC8 @ 137 NONAME
+ _ZN16TXnUiEngineAppIf9RenderUILEP12CXnNodeAppIf @ 138 NONAME
+ _ZN16TXnUiEngineAppIf9RootNodeLEv @ 139 NONAME
+ _ZN17CXnControlAdapter10ConstructLER15CXnNodePluginIf @ 140 NONAME
+ _ZN17CXnControlAdapter10LoadBitmapERK7TDesC16 @ 141 NONAME
+ _ZN17CXnControlAdapter10SetVisibleEi @ 142 NONAME
+ _ZN17CXnControlAdapter11SizeChangedEv @ 143 NONAME
+ _ZN17CXnControlAdapter11SkinChangedEv @ 144 NONAME
+ _ZN17CXnControlAdapter12FocusChangedE8TDrawNow @ 145 NONAME
+ _ZN17CXnControlAdapter12SetComponentEP12CXnComponent @ 146 NONAME
+ _ZN17CXnControlAdapter14ContentBitmapsERP10CFbsBitmapS2_ @ 147 NONAME
+ _ZN17CXnControlAdapter14OfferKeyEventLERK9TKeyEvent10TEventCode @ 148 NONAME
+ _ZN17CXnControlAdapter15SetLocalUiZoomLE10TAknUiZoom @ 149 NONAME
+ _ZN17CXnControlAdapter16GetBitmapAndMaskERK7TDesC16S2_RP10CFbsBitmapS5_ @ 150 NONAME
+ _ZN17CXnControlAdapter17SetContentBitmapsEP10CFbsBitmapS1_ @ 151 NONAME
+ _ZN17CXnControlAdapter17SetContentBitmapsERK7TDesC16S2_ @ 152 NONAME
+ _ZN17CXnControlAdapter18ExitPowerSaveModeLENS_10TModeEventE @ 153 NONAME
+ _ZN17CXnControlAdapter18ResetStylusCounterEv @ 154 NONAME
+ _ZN17CXnControlAdapter19EnterPowerSaveModeLENS_10TModeEventE @ 155 NONAME
+ _ZN17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 156 NONAME
+ _ZN17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 157 NONAME
+ _ZN17CXnControlAdapter19HandlePointerEventLERK13TPointerEvent @ 158 NONAME
+ _ZN17CXnControlAdapter20DoExitPowerSaveModeLENS_10TModeEventE @ 159 NONAME
+ _ZN17CXnControlAdapter21DoEnterPowerSaveModeLENS_10TModeEventE @ 160 NONAME
+ _ZN17CXnControlAdapter21HandlePropertyChangeLEP11CXnProperty @ 161 NONAME
+ _ZN17CXnControlAdapter22EnableLongTapAnimationEi @ 162 NONAME
+ _ZN17CXnControlAdapter23DoHandlePropertyChangeLEP11CXnProperty @ 163 NONAME
+ _ZN17CXnControlAdapter23MeasureAdaptiveContentLERK5TSize @ 164 NONAME
+ _ZN17CXnControlAdapter26HandleScreenDeviceChangedLEv @ 165 NONAME
+ _ZN17CXnControlAdapter4NewLER15CXnNodePluginIf @ 166 NONAME
+ _ZN17CXnControlAdapter8SetBlankEi @ 167 NONAME
+ _ZN17CXnControlAdapter8SetDataLERK6TDesC8RK7TDesC16i @ 168 NONAME
+ _ZN17CXnControlAdapter9ComponentEv @ 169 NONAME
+ _ZN17CXnControlAdapterC1Ev @ 170 NONAME
+ _ZN17CXnControlAdapterC2Ev @ 171 NONAME
+ _ZN17CXnControlAdapterD0Ev @ 172 NONAME
+ _ZN17CXnControlAdapterD1Ev @ 173 NONAME
+ _ZN17CXnControlAdapterD2Ev @ 174 NONAME
+ _ZN19MXnComponentFactory16MakeXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 175 NONAME
+ _ZN19MXnComponentFactory18CreateXnComponentLER15CXnNodePluginIfRP12CXnComponent @ 176 NONAME
+ _ZN19MXnComponentFactory21MakeXnControlAdapterLER15CXnNodePluginIfP17CXnControlAdapter @ 177 NONAME
+ _ZN19MXnComponentFactory26DoesNodeNeedComponentImplLERK6TDesC8 @ 178 NONAME
+ _ZN19MXnComponentFactoryC2Ev @ 179 NONAME
+ _ZN19MXnComponentFactoryD0Ev @ 180 NONAME
+ _ZN19MXnComponentFactoryD1Ev @ 181 NONAME
+ _ZN19MXnComponentFactoryD2Ev @ 182 NONAME
+ _ZN19TXnUiEnginePluginIf10StringPoolEv @ 183 NONAME
+ _ZN19TXnUiEnginePluginIf11PluginNodeLEP15CXnNodePluginIf @ 184 NONAME
+ _ZN19TXnUiEnginePluginIf12EnableSwipeLEi @ 185 NONAME
+ _ZN19TXnUiEnginePluginIf12FocusVisibleEv @ 186 NONAME
+ _ZN19TXnUiEnginePluginIf12FocusedNodeLEv @ 187 NONAME
+ _ZN19TXnUiEnginePluginIf13ActivateViewLER15CXnNodePluginIf @ 188 NONAME
+ _ZN19TXnUiEnginePluginIf13AddDirtyNodeLER15CXnNodePluginIf @ 189 NONAME
+ _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK6TDesC8S2_ @ 190 NONAME
+ _ZN19TXnUiEnginePluginIf13FindNodeByIdLERK7TDesC16S2_ @ 191 NONAME
+ _ZN19TXnUiEnginePluginIf13SwipeEnabledLEv @ 192 NONAME
+ _ZN19TXnUiEnginePluginIf14SetFocusedNodeEP15CXnNodePluginIf @ 193 NONAME
+ _ZN19TXnUiEnginePluginIf16FindNodeByClassLERK7TDesC16 @ 194 NONAME
+ _ZN19TXnUiEnginePluginIf16IsMenuDisplayingEv @ 195 NONAME
+ _ZN19TXnUiEnginePluginIf16ScreenDeviceSizeEv @ 196 NONAME
+ _ZN19TXnUiEnginePluginIf16SetFocusVisibleLEi @ 197 NONAME
+ _ZN19TXnUiEnginePluginIf17DisableRenderUiLCEv @ 198 NONAME
+ _ZN19TXnUiEnginePluginIf18IsDialogDisplayingEv @ 199 NONAME
+ _ZN19TXnUiEnginePluginIf18IsTextEditorActiveEv @ 200 NONAME
+ _ZN19TXnUiEnginePluginIf18VerticalTwipValueLEP11CXnPropertyi @ 201 NONAME
+ _ZN19TXnUiEnginePluginIf19VerticalPixelValueLEP11CXnPropertyi @ 202 NONAME
+ _ZN19TXnUiEnginePluginIf20HorizontalTwipValueLEP11CXnPropertyi @ 203 NONAME
+ _ZN19TXnUiEnginePluginIf21HorizontalPixelValueLEP11CXnPropertyi @ 204 NONAME
+ _ZN19TXnUiEnginePluginIf22DeactivateFocusedNodeLEv @ 205 NONAME
+ _ZN19TXnUiEnginePluginIf23EnablePartialTouchInputER15CXnNodePluginIfi @ 206 NONAME
+ _ZN19TXnUiEnginePluginIf26RestorePreviousFocusedNodeEv @ 207 NONAME
+ _ZN19TXnUiEnginePluginIf8EditModeEv @ 208 NONAME
+ _ZN19TXnUiEnginePluginIf9LayoutUILEP15CXnNodePluginIf @ 209 NONAME
+ _ZN19TXnUiEnginePluginIf9RenderUILEP15CXnNodePluginIf @ 210 NONAME
+ _ZN19TXnUiEnginePluginIf9ResourcesEv @ 211 NONAME
+ _ZN19TXnUiEnginePluginIf9RootNodeLEv @ 212 NONAME
+ _ZN19TXnUiEnginePluginIf9ShowFocusEv @ 213 NONAME
+ _ZN20CXnComponentNodeImpl10ConstructLEP7CXnType @ 214 NONAME
+ _ZN20CXnComponentNodeImpl12SetComponentEP12CXnComponent @ 215 NONAME
+ _ZN20CXnComponentNodeImpl14MakeInterfaceLERK6TDesC8 @ 216 NONAME
+ _ZN20CXnComponentNodeImpl25SetComponentNeedsCreationEi @ 217 NONAME
+ _ZN20CXnComponentNodeImpl4NewLEP7CXnType @ 218 NONAME
+ _ZN20CXnComponentNodeImpl9ComponentEv @ 219 NONAME
+ _ZN20CXnComponentNodeImplC1Ev @ 220 NONAME
+ _ZN20CXnComponentNodeImplC2Ev @ 221 NONAME
+ _ZN20CXnComponentNodeImplD0Ev @ 222 NONAME
+ _ZN20CXnComponentNodeImplD1Ev @ 223 NONAME
+ _ZN20CXnComponentNodeImplD2Ev @ 224 NONAME
+ _ZN8CXnUtils11CreateFontLER15CXnNodePluginIfRP5CFontRi @ 225 NONAME
+ _ZN8CXnUtils11CreateFontLERK7TDesC16i10TFontStyleRP5CFontRi @ 226 NONAME
+ _ZN8CXnUtils11GetRgbValueER4TRgbRK6TDesC8 @ 227 NONAME
+ _ZN8CXnUtils11StripQuotesERP7HBufC16 @ 228 NONAME
+ _ZN8CXnUtils12FindResourceER12CArrayPtrSegI11CXnResourceERK7TDesC16Ri @ 229 NONAME
+ _ZN8CXnUtils12ScaleBitmapLERK5TRectP10CFbsBitmapS4_ @ 230 NONAME
+ _ZN8CXnUtils13TextAlignmentER15CXnNodePluginIf @ 231 NONAME
+ _ZN8CXnUtils15ConvertHslToRgbEiii @ 232 NONAME
+ _ZN8CXnUtils18CollapseWhiteSpaceER15CXnNodePluginIfR6TDes16 @ 233 NONAME
+ _ZN8CXnUtils18ResolveSkinItemIDLERK7TDesC16R11TAknsItemIDRi @ 234 NONAME
+ _ZN8CXnUtils20HandlePowerSaveModeLEP7CXnNodeii @ 235 NONAME
+ _ZNK11CXnProperty7EqualsLERS_ @ 236 NONAME
+ _ZNK12CXnNodeAppIf12GetPropertyLER11CXnProperty @ 237 NONAME
+ _ZNK12CXnNodeAppIf12GetPropertyLERK6TDesC8 @ 238 NONAME
+ _ZNK12CXnNodeAppIf19InternalDomNodeTypeEv @ 239 NONAME
+ _ZNK12CXnNodeAppIf7ParentLEv @ 240 NONAME
+ _ZNK12CXnNodeAppIf9GetPCDataEv @ 241 NONAME
+ _ZNK14CXnApplication9AppDllUidEv @ 242 NONAME
+ _ZNK15CXnAppUiAdapter4ViewEv @ 243 NONAME
+ _ZNK15CXnNodePluginIf12GetPropertyLER11CXnProperty @ 244 NONAME
+ _ZNK15CXnNodePluginIf12GetPropertyLERK6TDesC8 @ 245 NONAME
+ _ZNK15CXnNodePluginIf7ControlEv @ 246 NONAME
+ _ZNK15CXnNodePluginIf7ParentLEv @ 247 NONAME
+ _ZNK15CXnNodePluginIf9GetPCDataEv @ 248 NONAME
+ _ZNK16TXnUiEngineAppIf14WidgetsVisibleEv @ 249 NONAME
+ _ZNK17CXnControlAdapter15LongTapDetectorEv @ 250 NONAME
+ _ZNK17CXnControlAdapter16ComponentControlEi @ 251 NONAME
+ _ZNK17CXnControlAdapter16DrawContentImageEv @ 252 NONAME
+ _ZNK17CXnControlAdapter16IsDrawingAllowedEv @ 253 NONAME
+ _ZNK17CXnControlAdapter22CountComponentControlsEv @ 254 NONAME
+ _ZNK17CXnControlAdapter4DrawERK5TRect @ 255 NONAME
+ _ZNK17CXnControlAdapter4DrawERK5TRectR9CWindowGc @ 256 NONAME
+ _ZNK19TXnUiEnginePluginIf14WidgetsVisibleEv @ 257 NONAME
+ _ZNK19TXnUiEnginePluginIf9HitRegionEv @ 258 NONAME
+ _ZNK20CXnComponentNodeImpl25DoesComponentNeedCreationEv @ 259 NONAME
+ _ZTI11CXnDocument @ 260 NONAME
+ _ZTI11CXnProperty @ 261 NONAME
+ _ZTI12CXnComponent @ 262 NONAME
+ _ZTI14CXnApplication @ 263 NONAME
+ _ZTI15CXnAppUiAdapter @ 264 NONAME
+ _ZTI16CXnViewsNodeImpl @ 265 NONAME
+ _ZTI16MXnNodePredicate @ 266 NONAME
+ _ZTI17CXnControlAdapter @ 267 NONAME
+ _ZTI18CXnListQueryDialog @ 268 NONAME
+ _ZTI19MXnComponentFactory @ 269 NONAME
+ _ZTI20CXnComponentNodeImpl @ 270 NONAME
+ _ZTI27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 271 NONAME
+ _ZTIN21CXnControlAdapterImpl13TIconProviderE @ 272 NONAME
+ _ZTV11CXnDocument @ 273 NONAME
+ _ZTV11CXnProperty @ 274 NONAME
+ _ZTV12CXnComponent @ 275 NONAME
+ _ZTV14CXnApplication @ 276 NONAME
+ _ZTV15CXnAppUiAdapter @ 277 NONAME
+ _ZTV16CXnViewsNodeImpl @ 278 NONAME
+ _ZTV16MXnNodePredicate @ 279 NONAME
+ _ZTV17CXnControlAdapter @ 280 NONAME
+ _ZTV18CXnListQueryDialog @ 281 NONAME
+ _ZTV19MXnComponentFactory @ 282 NONAME
+ _ZTV20CXnComponentNodeImpl @ 283 NONAME
+ _ZTV27CXnNodeBreadthFirstIteratorI7CXnNodeE @ 284 NONAME
+ _ZTVN21CXnControlAdapterImpl13TIconProviderE @ 285 NONAME
+ _ZThn52_N17CXnControlAdapter19HandleControlEventLEP11CCoeControlN19MCoeControlObserver9TCoeEventE @ 286 NONAME
+ _ZThn60_N17CXnControlAdapter19HandleLongTapEventLERK6TPointS2_ @ 287 NONAME
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h Wed Mar 31 21:17:19 2010 +0300
@@ -28,6 +28,7 @@
class CXnViewManager;
class CXnViewData;
class CAknsLayeredBackgroundControlContext;
+class CXnOomSysHandler;
namespace hspswrapper
{
@@ -115,7 +116,7 @@
*/
void WallpaperChanged( const CXnViewData& aOldView,
const CXnViewData& aNewView );
-
+
/**
* Draws wallpaper immediately, or once the window comes visible.
*
@@ -162,7 +163,7 @@
/**
* From MDiskNotifyHandlerCallback.
*/
- void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent );
+ void HandleNotifyDisk( TInt aError, const TDiskEvent& aEvent );
private:
@@ -189,6 +190,8 @@
TInt AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue );
void ReadWallpaperFromCenrepL();
void DrawEditModeBackgroundSkin() const;
+ CXnOomSysHandler& OomSysHandler() const;
+ void DrawStatusPaneMask() const;
/**
* Callback function to be used with CPeriodic.
@@ -240,7 +243,7 @@
* Stores wallpaper type.
*/
CXnBackgroundManager::WppType iType;
-
+
/**
* Internal wallpaper update in progress
*/
@@ -272,6 +275,12 @@
*/
CPeriodic* iTimer;
+ /**
+ * OOM system handler.
+ * Own.
+ */
+ CXnOomSysHandler* iOomSysHandler;
+
};
#endif // CXNBACKGROUNDMANAGER_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnbgcontrol.h Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Background appearance drawer
-*
-*/
-
-
-#ifndef _XNBGCONTROL_H
-#define _XNBGCONTROL_H
-
-// System includes
-#include <e32base.h>
-#include <coecntrl.h>
-
-// User includes
-#include "xnuistatelistener.h"
-
-// Forward declarations
-
-/**
- * Background appearance drawer
- *
- * @ingroup group_xnlayoutengine
- * @lib xn3layoutengine.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CXnBgControl ) : public CCoeControl , public MXnUiStateObserver
- {
-public:
- // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CXnBgControl* NewL();
-
- /**
- * Two-phased constructor. Leaving on stack
- */
- static CXnBgControl* NewLC();
-
- /**
- * Destructor
- */
- ~CXnBgControl();
-
-private:
- // private constructors
-
- /**
- * Leaving constructor
- */
- void ConstructL();
-
- /**
- * C++ default constructor
- */
- CXnBgControl();
-
-public:
- // from CCoeControl
-
- /**
- * @see CCoeControl
- */
- TInt CountComponentControls() const;
-
- /**
- * @see CCoeControl
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * @see CCoeControl
- */
- void SizeChanged();
-
- /**
- * @see CCoeControl
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * @see CCoeControl
- */
- void HandlePointerEventL( const TPointerEvent& aPointerEvent );
-
-public:
- // new functions
- void SetCompoundControl( CCoeControl* aControl );
-
- /**
- * Service for removing grabbing controls
- */
- void ResetGrabbingL();
-
-private:
- // new functions
-
- /**
- * Removes recursively grabbing controls
- */
- void RemoveGrabbingControL( const CCoeControl* aControl, const TPointerEvent& aEvent ) const;
-
-private:
- // from MXnUiStateObserver
-
- /**
- * @see MXnUiStateObserver
- */
- void NotifyForegroundChanged( TForegroundStatus aStatus );
-
- /**
- * @see MXnUiStateObserver
- */
- void NotifyLightStatusChanged( TBool aLightsOn );
-
- /**
- * @see MXnUiStateObserver
- */
- void NotifyInCallStateChaged( TBool aInCall );
-
-private:
- // data
-
- /** Compound Control, Not owned */
- CCoeControl* iControl;
-
- /** stored point of EButton1Down */
- TPoint iHitpoint;
-
- };
-
-#endif // _XNBGCONTROL_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xncontroladapterimpl.h Wed Mar 31 21:17:19 2010 +0300
@@ -557,6 +557,8 @@
TBool iBlank;
/** flag: to detect whether longtap occured */
TBool iLongtap;
+ /** record right softkey node of menubar when keydown event happened */
+ mutable CXnNode* iKeyDownNode;
};
#endif //__XNCONTROLADAPTERIMPL_H__
--- a/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xneditor.h Wed Mar 31 21:17:19 2010 +0300
@@ -39,6 +39,7 @@
class CXnViewData;
class CRepository;
class CXnBackgroundManager;
+class CXnOomSysHandler;
namespace hspswrapper
{
@@ -238,20 +239,21 @@
private:
// new functions
- void TemplatedWidgetsL( RPointerArray< CHsContentInfo >& aWidgets );
-
- void HSPSPluginsL( RPointerArray< CHsContentInfo >& aWidgets,
- const TDesC8& aType );
-
- CPublisherInfo* PublisherInfoL( const CHsContentInfo& aContentInfo );
+ CPublisherInfo* PublisherInfoL( const CHsContentInfo& aContentInfo );
TInt TemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
TInt NonTemplateWidgetCanBeAddedRemovedL( CHsContentInfo& aContentInfo );
TBool IsCurrentViewFull();
- void FilterWidgetListL( CHsContentInfoArray& aContentInfoArray,
+
+ /**
+ * Filters plugins from the list and checks whether the plugins can be added or removed.
+ */
+ void FilterPluginsL( CHsContentInfoArray& aContentInfoArray,
TBool aIgnoreViewFull );
+
void FilterViewListL( CHsContentInfoArray& aContentInfoArray );
+ CXnOomSysHandler& OomSysHandler() const;
/**
* Notifies the MHsContentControl and the MHsContentControlUi if widget list was changed.
@@ -269,6 +271,39 @@
CHsContentInfo* CreateContentInfoLC( CXnPluginData& aPlugin,
RPointerArray< CHsContentInfo >& aInfos );
+ /**
+ * Appends plugin configurations to the content info array.
+ */
+ void AppendPluginsL(
+ RPointerArray< hspswrapper::CPluginInfo > aPlugins,
+ RPointerArray< CHsContentInfo >& aWidgets );
+
+ /**
+ * Resets runtime cache.
+ */
+ void ResetCache();
+
+ /**
+ * Retrieves native application configuration plugins from HSPS
+ */
+ void HspsApplicationPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+
+ /**
+ * Retrieves native view configuration plugins from HSPS
+ */
+ void HspsViewPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+
+ /**
+ * Retrieves widget and template configuration plugins from HSPS
+ */
+ void HspsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+ void DoHspsWidgetPluginsL();
+
+ /**
+ * Retrieves publishers from CPS and them with the HSPS's template plugins
+ */
+ void CpsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets );
+
private:
// from MXnViewObserver
@@ -320,6 +355,9 @@
TBool iWidgetsVisibilityState;
/** Central repository , to choose plugin, owned*/
CRepository* iRepository;
+ /** Plugins cache, owned */
+ RPointerArray< hspswrapper::CPluginInfo > iPluginsCache;
+ CXnOomSysHandler* iOomSysHandler;
};
#endif // C_XNEDITOR_H
--- a/idlehomescreen/xmluirendering/uiengine/inc/xngesturedefs.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xngesturedefs.h Wed Mar 31 21:17:19 2010 +0300
@@ -56,7 +56,7 @@
* tolerance in degrees to either side of an angle, for direction to be
* the same as reference angle
*/
- const TReal KAngleTolerance = 35;
+ const TReal KAngleTolerance = 80;
/**
* maximum pointer movement from pointer down position for a gesture be
@@ -68,7 +68,7 @@
* minimum length of a valid swipe in pixels. should be larger than
* KTapTolerance
*/
- const TReal KMinSwipeLength = 100;
+ const TReal KMinSwipeLength = 10;
/** Nth pointer event before the latest point */
const TInt KPreviousPointOffset = 3;
--- a/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/inc/xnwidgetextensionadapter.h Wed Mar 31 21:17:19 2010 +0300
@@ -63,6 +63,13 @@
* Destructor.
*/
~CXnWidgetExtensionAdapter();
+public:
+ /**
+ * From CCoeAppUiBase.
+ * Informs the components about the screen layout switch.
+ */
+ void HandleScreenDeviceChangedL();
+
private:
// Functions from base classes
--- a/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnappuiadapter.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -287,11 +287,11 @@
}
// -----------------------------------------------------------------------------
-// CXnAppUiAdapter::UiActivated
+// CXnAppUiAdapter::HandleUiReadyEventL
//
// -----------------------------------------------------------------------------
//
-EXPORT_C void CXnAppUiAdapter::UiActivated()
+EXPORT_C void CXnAppUiAdapter::HandleUiReadyEventL()
{
// Default empty implementation
}
--- a/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnbackgroundmanager.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -27,6 +27,7 @@
#include "xnwallpaperview.h"
#include "xnrootdata.h"
#include "xnuiengine.h"
+#include "xnoomsyshandler.h"
#include "xneffectmanager.h"
// SYSTEM INCLUDE FILES
@@ -45,6 +46,7 @@
#include <AknsControlContext.h>
#include <AknsLayeredBackgroundControlContext.h>
#include <driveinfo.h>
+#include <layoutmetadata.cdl.h>
using namespace hspswrapper;
@@ -101,8 +103,10 @@
CheckFeatureTypeL();
iTimer = CPeriodic::NewL( CActive::EPriorityIdle );
-
+
GfxTransEffect::Register( this, KGfxContextBgAppear );
+
+ iOomSysHandler = CXnOomSysHandler::NewL();
}
// -----------------------------------------------------------------------------
@@ -136,6 +140,7 @@
delete iBgContext;
delete iBgImage;
delete iBgImagePath;
+ delete iOomSysHandler;
}
// -----------------------------------------------------------------------------
@@ -177,6 +182,7 @@
{
SystemGc().DrawBitmap( iRect, wallpaper );
}
+ DrawStatusPaneMask();
}
// Skin bg is used by default
@@ -353,7 +359,7 @@
{
return iType;
}
-
+
// -----------------------------------------------------------------------------
// CXnBackgroundManager::WallpaperChanged
// -----------------------------------------------------------------------------
@@ -505,12 +511,19 @@
}
else if ( selectedIndex == 1 )
{
+ if ( CXnOomSysHandler::HeapAvailable( CXnOomSysHandler::EMem2MB ) )
+ {
CXnAppUiAdapter& appui( iViewManager.AppUiAdapter() );
appui.EffectManager()->BeginFullscreenEffectL(
KGfxContextOpenWallpaperView, iViewManager.ActiveViewData() );
appui.ActivateLocalViewL( KWallpaperViewUid, KDummyUid, KSingle );
+ }
+ else
+ {
+ OomSysHandler().HandlePotentialOomL();
+ }
}
}
CleanupStack::Pop( query );
@@ -929,5 +942,52 @@
return EFalse;
}
+// -----------------------------------------------------------------------------
+// CXnBackgroundManager::DrawStatusPaneMask
+// -----------------------------------------------------------------------------
+//
+void CXnBackgroundManager::DrawStatusPaneMask() const
+ {
+ TRect spRect;
+ AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EStatusPane, spRect );
+
+ CFbsBitmap* maskBmp( NULL );
+ TInt err( KErrNone );
+
+ if( Layout_Meta_Data::IsLandscapeOrientation() )
+ {
+ TRAP( err, maskBmp = AknsUtils::CreateBitmapL( AknsUtils::SkinInstance(),
+ KAknsIIDQgnGrafBgLscTopMaskIcon ) );
+ }
+ else
+ {
+ TRAP( err, maskBmp = AknsUtils::CreateBitmapL( AknsUtils::SkinInstance(),
+ KAknsIIDQgnGrafBgPrtTopMaskIcon ) );
+ }
+
+ if( err )
+ {
+ return;
+ }
+
+ // draw mask
+ if( maskBmp )
+ {
+ AknIconUtils::SetSize( maskBmp, spRect.Size(), EAspectRatioNotPreserved );
+ SystemGc().DrawBitmap( spRect, maskBmp );
+ delete maskBmp;
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CXnBackgroundManager::OOMSysHandler
+// -----------------------------------------------------------------------------
+//
+CXnOomSysHandler& CXnBackgroundManager::OomSysHandler() const
+ {
+ __ASSERT_DEBUG( iOomSysHandler , User::Panic( _L("xnbackgroundmanager"), 0 ) );
+
+ return *iOomSysHandler;
+ }
// End of File
--- a/idlehomescreen/xmluirendering/uiengine/src/xnbgcontrol.cpp Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Background appearance drawer
-*
-*/
-
-// System includes
-#include <aknappui.h>
-
-// User includes
-#include "xnappuiadapter.h"
-#include "xnuiengine.h"
-#include "xneditmode.h"
-
-#include "xnbgcontrol.h"
-
-// Constants
-
-// ============================ LOCAL FUNCTIONS ================================
-
-// ============================ MEMBER FUNCTIONS ===============================
-// -----------------------------------------------------------------------------
-// CXnBgControl::NewL()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl* CXnBgControl::NewL()
- {
- CXnBgControl* self = CXnBgControl::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NewLC()
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl* CXnBgControl::NewLC()
- {
- CXnBgControl* self = new ( ELeave ) CXnBgControl();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::~CXnBgControl()
-// C++ default destructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl::~CXnBgControl()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::CXnBgControl()
-// C++ default constructor.
-// -----------------------------------------------------------------------------
-//
-CXnBgControl::CXnBgControl()
- : iHitpoint( TPoint( -1,-1 ) )
- {
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ConstructL()
-// 2nd phase constructor
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::ConstructL()
- {
- CreateWindowL();
-
- TRgb backgroundColour = KRgbWhite;
- if( KErrNone == Window().SetTransparencyAlphaChannel() )
- {
- backgroundColour.SetAlpha( 0 );
- }
- Window().SetBackgroundColor( backgroundColour );
-
- EnableDragEvents();
-
- Window().SetPointerGrab( ETrue );
-
-
- ActivateL();
-
- MakeVisible( ETrue );
-
- SetComponentsToInheritVisibility( ETrue );
-
- static_cast< CXnAppUiAdapter* >( iAvkonAppUi )
- ->UiStateListener().AddObserver( *this );
-
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::CountComponentControls()
-//
-// -----------------------------------------------------------------------------
-//
-TInt CXnBgControl::CountComponentControls() const
- {
- if ( iControl )
- {
- return 1;
- }
-
- return 0;
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ComponentControl()
-//
-// -----------------------------------------------------------------------------
-//
-CCoeControl* CXnBgControl::ComponentControl( TInt aIndex ) const
- {
- if ( aIndex == 0 )
- {
- return iControl;
- }
-
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SizeChanged()
-//
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::SizeChanged()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::Draw()
-//
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::Draw( const TRect& aRect ) const
- {
- CXnAppUiAdapter* appui(
- static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-
- TInt state( appui->UiEngine().EditMode()->EditState() );
-
- CWindowGc& gc( SystemGc() );
-
- if ( state == CXnEditMode::EShootContent )
- {
- // No background needed for dragging widget screenshot
- }
- else
- {
- gc.Clear( aRect );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SetCompoundControl()
-//
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::HandlePointerEventL( const TPointerEvent& aPointerEvent )
- {
- switch( aPointerEvent.iType )
- {
- case TPointerEvent::EButton1Down:
- iHitpoint = aPointerEvent.iPosition;
- break;
-
- case TPointerEvent::EButton1Up:
- break;
-
- default:
- break;
- }
-
- CXnAppUiAdapter* appui( static_cast< CXnAppUiAdapter* >( iAvkonAppUi ) );
-
- appui->UiEngine().DisableRenderUiLC();
-
- CCoeControl::HandlePointerEventL( aPointerEvent );
-
- appui->UiEngine().RenderUIL();
-
- CleanupStack::PopAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::SetCompoundControl()
-//
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::SetCompoundControl( CCoeControl* aControl )
- {
- if ( iControl == aControl )
- {
- return;
- }
-
- if ( iControl )
- {
- // Remove parents
- iControl->SetParent( NULL );
- iControl->SetMopParent( NULL );
-
- iControl->MakeVisible( EFalse );
- }
-
- if ( aControl )
- {
- // Set self as parent
- aControl->SetParent( this );
- aControl->SetMopParent( this );
-
- aControl->MakeVisible( ETrue );
- }
-
- iControl = aControl;
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::ResetGrabbingL()
-// Service for removing grabbing controls
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::ResetGrabbingL()
- {
- TPointerEvent event;
- event.iType = TPointerEvent::EButton1Up;
-
- RemoveGrabbingControL( this, event );
-
- iHitpoint.SetXY( -1, -1 );
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::RemoveGrabbingControL()
-// Removes recursively grabbing controls
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::RemoveGrabbingControL( const CCoeControl* aControl,
- const TPointerEvent& aEvent ) const
- {
- TInt count = aControl->CountComponentControls();
-
- for( TInt i = 0; i < count; i++ )
- {
- CCoeControl* child = aControl->ComponentControl( i );
-
- if( child && child->Rect().Contains( iHitpoint ) )
- {
- child->CCoeControl::HandlePointerEventL( aEvent );
- RemoveGrabbingControL( child, aEvent );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyForegroundChanged()
-// Notifies foreground changes.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyForegroundChanged( TForegroundStatus aStatus )
- {
- switch( aStatus )
- {
- case EForeground:
- break;
-
- case EUnknown:
- case EBackground:
- case EPartialForeground:
- default:
- TRAP_IGNORE( ResetGrabbingL(); )
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyLightStatusChanged()
-// Notifies primary display light status is changed.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyLightStatusChanged( TBool /*aLightsOn*/ )
- {
-
- }
-
-// -----------------------------------------------------------------------------
-// CXnBgControl::NotifyInCallStateChaged()
-// Notifies in-call state is changed.
-// -----------------------------------------------------------------------------
-//
-void CXnBgControl::NotifyInCallStateChaged( TBool /*aInCall*/ )
- {
-
- }
-
-// End of file
-
--- a/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xncontroladapterimpl.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -21,6 +21,7 @@
#include <SVGEngineInterfaceImpl.h>
#include <s32file.h>
#include <mifconvdefs.h>
+//skinning support
#include <AknsFrameBackgroundControlContext.h>
#include <AknsDrawUtils.h>
#include <aknconsts.h>
@@ -3759,6 +3760,7 @@
{
if ( aType == EEventKeyDown )
{
+ iKeyDownNode = node;
iLongtap = EFalse;
if ( aKeyEvent.iScanCode == EStdKeyDevice3 ||
@@ -3787,6 +3789,10 @@
}
else if( aType == EEventKey )
{
+ if( iKeyDownNode != node)
+ {
+ node = iKeyDownNode;
+ }
if ( aKeyEvent.iRepeats == 0 )
{
if ( !HasHoldTrigger( node->DomNode() ) )
@@ -3815,6 +3821,10 @@
{
if ( !iLongtap )
{
+ if( iKeyDownNode != node)
+ {
+ node = iKeyDownNode;
+ }
if ( HasHoldTrigger( node->DomNode() ) )
{
// Hold trigger defined, report activate event here
@@ -3907,8 +3917,8 @@
control->IgnoreEventsUntilNextPointerUp();
control->ResetGrabbing();
}
-
- // Indicate long tap has taken plave
+
+ // Indicate long tap has taken place
iLongtap = ETrue;
CXnNode* hold = BuildTriggerNodeL( *engine,
@@ -3952,6 +3962,7 @@
// Swipe took place, consume this event
return ETrue;
}
+
}
TBool menuBar( node == engine->MenuBarNode() );
@@ -4011,6 +4022,7 @@
if ( event.iType == TPointerEvent::EButton1Down )
{
iLongtap = EFalse;
+ node->HideTooltipsL();
if ( !menuBar )
{
--- a/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xneditor.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -61,6 +61,8 @@
#include "xneditor.h"
#include "xnpanic.h"
+#include "xnoomsyshandler.h"
+
using namespace hspswrapper;
using namespace cpswrapper;
@@ -306,6 +308,7 @@
iCpsWrapper = CCpsWrapper::NewL( *this );
iHspsWrapper = CHspsWrapper::NewL( aUid, this );
iRepository= CRepository::NewL( TUid::Uid( KCRUidActiveIdleLV ) );
+ iOomSysHandler = CXnOomSysHandler::NewL();
}
// ---------------------------------------------------------------------------
@@ -315,11 +318,15 @@
CXnEditor::~CXnEditor()
{
iViewManager.RemoveObserver( *this );
-
+ if( iPluginsCache.Count() )
+ {
+ iPluginsCache.ResetAndDestroy();
+ }
delete iCpsWrapper;
delete iHspsWrapper;
delete iPublisherMap;
delete iRepository;
+ delete iOomSysHandler;
}
// -----------------------------------------------------------------------------
@@ -346,10 +353,10 @@
}
// -----------------------------------------------------------------------------
-// CXnEditor::FilterWidgetListL
+// CXnEditor::FilterPluginsL
// -----------------------------------------------------------------------------
//
-void CXnEditor::FilterWidgetListL( CHsContentInfoArray& aContentInfoArray,
+void CXnEditor::FilterPluginsL( CHsContentInfoArray& aContentInfoArray,
TBool aIgnoreViewFull )
{
RPointerArray< CHsContentInfo >& list( aContentInfoArray.Array() );
@@ -639,6 +646,12 @@
//
void CXnEditor::AddWidgetL()
{
+ if ( !CXnOomSysHandler::HeapAvailable( VIEW_MIN_MEM ) )
+ {
+ OomSysHandler().HandlePotentialOomL();
+ return;
+ }
+
TBuf8<KOpaQDataLen> oPaqDataStr;
MHsContentControlUi* ui( NULL );
@@ -671,13 +684,15 @@
CleanupStack::PushL( info );
RPointerArray< CHsContentInfo >& widgets( info->Array() );
-
- // get installed widgets from HSPS (type: "widget")
- HSPSPluginsL( widgets, KKeyWidget );
- // get installed widgets from HSPS
- TemplatedWidgetsL( widgets );
- FilterWidgetListL( *info, ETrue );
+ // get installed widgets and template configurations from HSPS
+ HspsWidgetPluginsL( widgets );
+
+ // get installed widgets from HSPS (type: "template")
+ CpsWidgetPluginsL( widgets );
+
+ // check whether the plugins can be added or removed
+ FilterPluginsL( *info, ETrue );
CDesCArrayFlat* array = new ( ELeave ) CDesCArrayFlat( 8 );
CleanupStack::PushL( array );
@@ -903,106 +918,59 @@
}
// ---------------------------------------------------------------------------
-// CXnEditor::TemplatedWidgetsL
+// CXnEditor::CpsWidgetPluginsL
// ---------------------------------------------------------------------------
//
-void CXnEditor::TemplatedWidgetsL( RPointerArray< CHsContentInfo >& aWidgets )
+void CXnEditor::CpsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets )
{
- RPointerArray< CHsContentInfo > widgetTemplates;
- CleanupStack::PushL( TCleanupItem( DeleteWidgetInfo, &widgetTemplates ) );
-
- // Gets all the installed templates from CPS
- HSPSPluginsL( widgetTemplates, KKeyTemplate );
-
- delete iPublisherMap;
- iPublisherMap = NULL;
-
- iPublisherMap = iCpsWrapper->GetTemplatedPublishersL();
-
- RPointerArray< CPublisherInfo >& publisherInfo(
- iPublisherMap->PublisherInfo() );
-
+ // Get publishers from CPS
+
+ if( !iPublisherMap )
+ {
+ iPublisherMap = iCpsWrapper->GetTemplatedPublishersL();
+ }
+
+ RPointerArray< CPublisherInfo >& publisherInfo( iPublisherMap->PublisherInfo() );
+
+ // Find templates for the published data
for ( TInt i = 0; i < publisherInfo.Count(); i++ )
{
CPublisherInfo* info( publisherInfo[i] );
- for ( TInt j = 0; j < widgetTemplates.Count(); j++ )
- {
- const TDesC& name( widgetTemplates[j]->Name() );
-
- if ( name == info->TemplateType() )
- {
- CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
-
- contentInfo->SetNameL( info->WidgetName() );
- contentInfo->SetPublisherIdL( info->PublisherId() );
- contentInfo->SetMaxWidgets( info->MaxWidgets() );
- contentInfo->SetUidL( widgetTemplates[j]->Uid() );
- contentInfo->SetTypeL( widgetTemplates[j]->Type() );
- contentInfo->SetDescriptionL( info->Description() );
- contentInfo->SetIconPathL( info->LogoIcon() );
-
- contentInfo->SetIsWrt(
- ( info->ContentType() == KWRTTemplate() ) );
-
- aWidgets.AppendL( contentInfo );
- CleanupStack::Pop( contentInfo );
-
- break;
+ for ( TInt j = 0; j < iPluginsCache.Count(); j++ )
+ {
+ if( iPluginsCache[j]->Name().Length() > 0 )
+ {
+ // 8 to 16bit conv
+ HBufC* nameBuf = HBufC::NewLC( iPluginsCache[j]->Name().Length() );
+ nameBuf->Des().Copy( iPluginsCache[j]->Name() );
+ TBool matchingNames = ( nameBuf->Des() == info->TemplateType() );
+ CleanupStack::PopAndDestroy();
+ if ( matchingNames )
+ {
+
+ // Add published widget
+ CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
+
+ contentInfo->SetNameL( info->WidgetName() );
+ contentInfo->SetPublisherIdL( info->PublisherId() );
+ contentInfo->SetMaxWidgets( info->MaxWidgets() );
+ contentInfo->SetUidL( iPluginsCache[j]->Uid() );
+ contentInfo->SetTypeL( iPluginsCache[j]->Type() );
+ contentInfo->SetDescriptionL( info->Description() );
+ contentInfo->SetIconPathL( info->LogoIcon() );
+ contentInfo->SetIsWrt( info->ContentType() == KWRTTemplate() );
+
+ aWidgets.AppendL( contentInfo );
+
+ CleanupStack::Pop( contentInfo );
+ break;
+ }
}
}
- }
-
- CleanupStack::PopAndDestroy(); // cleanupitem
+ }
}
-// ---------------------------------------------------------------------------
-// CXnEditor::HSPSPluginsL
-// ---------------------------------------------------------------------------
-//
-void CXnEditor::HSPSPluginsL( RPointerArray< CHsContentInfo >& aWidgets,
- const TDesC8& aType )
- {
- RPointerArray< hspswrapper::CPluginInfo > plugins;
- CleanupStack::PushL( TCleanupItem( DeletePluginInfos, &plugins ) );
-
- if ( aType == KApplication )
- {
- iHspsWrapper->GetAppConfigurationsL( plugins );
- }
- else
- {
- iHspsWrapper->GetPluginsL( plugins, KPluginInterface, aType );
- }
-
- for ( TInt i = 0; i < plugins.Count(); i++ )
- {
- if ( plugins[i]->Uid().CompareF( KEmptyWidgetUid ) == 0 )
- {
- // Skip empty
- continue;
- }
-
- CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
-
- contentInfo->SetNameL( plugins[i]->Name() );
- contentInfo->SetUidL( plugins[i]->Uid() );
- contentInfo->SetTypeL( aType );
-
- if ( aType == KKeyWidget || aType == KKeyTemplate )
- {
- contentInfo->SetMaxWidgets( plugins[i]->MultiInstance() );
- }
-
- contentInfo->SetDescriptionL( plugins[i]->Description() );
- contentInfo->SetIconPathL( plugins[i]->LogoIcon() );
-
- aWidgets.AppendL( contentInfo );
- CleanupStack::Pop( contentInfo );
- }
-
- CleanupStack::PopAndDestroy( &plugins );
- }
// ---------------------------------------------------------------------------
// CXnEditor::ToggleWidgetsVisibiltyL
@@ -1410,6 +1378,7 @@
//
void CXnEditor::NotifyWidgetUnregisteredL( const TDesC& aPublisher )
{
+ ResetCache();
RemoveUnRegisteredWidgetL( aPublisher );
WidgetListChanged();
}
@@ -1420,6 +1389,7 @@
//
void CXnEditor::NotifyWidgetRegisteredL()
{
+ ResetCache();
WidgetListChanged();
}
@@ -1483,6 +1453,8 @@
{
if ( aEvent == KEventPluginUnInstalled )
{
+ ResetCache();
+
CHsContentInfo* info = CHsContentInfo::NewLC();
info->SetNameL( aPluginName );
@@ -1500,10 +1472,14 @@
}
else if ( aEvent == KEventPluginInstalled )
{
+ ResetCache();
+
WidgetListChanged();
}
else if ( aEvent == KEventPluginUpdated )
{
+ ResetCache();
+
// If the plugin is in use then reload the widget
if ( aPluginId.Length() > 0 )
{
@@ -1578,19 +1554,137 @@
}
// -----------------------------------------------------------------------------
+// CXnEditor::AppendPluginsL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::AppendPluginsL(
+ RPointerArray< hspswrapper::CPluginInfo > aPlugins,
+ RPointerArray< CHsContentInfo >& aWidgets )
+ {
+ // Append plugins to the content info array
+ for ( TInt i = 0; i < aPlugins.Count(); i++ )
+ {
+
+ // Block the empty and template plugins from the list
+ if ( aPlugins[i]->Uid().CompareF( KEmptyWidgetUid ) == 0
+ || aPlugins[i]->Type() == KKeyTemplate )
+ {
+ continue;
+ }
+
+ CHsContentInfo* contentInfo = CHsContentInfo::NewLC();
+ contentInfo->SetNameL( aPlugins[i]->Name() );
+ contentInfo->SetUidL( aPlugins[i]->Uid() );
+ contentInfo->SetTypeL( aPlugins[i]->Type() );
+ if ( aPlugins[i]->Type() == KKeyWidget
+ || aPlugins[i]->Type() == KKeyTemplate )
+ {
+ contentInfo->SetMaxWidgets( aPlugins[i]->MultiInstance() );
+ }
+ contentInfo->SetDescriptionL( aPlugins[i]->Description() );
+ contentInfo->SetIconPathL( aPlugins[i]->LogoIcon() );
+
+ aWidgets.AppendL( contentInfo );
+ CleanupStack::Pop( contentInfo );
+ }
+ }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::ResetCache
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::ResetCache()
+ {
+ // Force loading of widget/template plugin configurations
+ iPluginsCache.ResetAndDestroy();
+
+ // Forece reloading of CPS publishers
+ delete iPublisherMap;
+ iPublisherMap = NULL;
+ }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::HspsApplicationPluginsL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::HspsApplicationPluginsL( RPointerArray< CHsContentInfo >& aWidgets )
+ {
+ RPointerArray< hspswrapper::CPluginInfo > plugins;
+ CleanupStack::PushL( TCleanupItem( DeletePluginInfos, &plugins ) );
+
+ iHspsWrapper->GetAppConfigurationsL( plugins );
+
+ // Append plugins to the content info array
+ AppendPluginsL( plugins, aWidgets );
+
+ CleanupStack::PopAndDestroy( &plugins );
+ }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::HspsViewPluginsL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::HspsViewPluginsL( RPointerArray< CHsContentInfo >& aWidgets )
+ {
+ RPointerArray< hspswrapper::CPluginInfo > plugins;
+ CleanupStack::PushL( TCleanupItem( DeletePluginInfos, &plugins ) );
+
+ iHspsWrapper->GetPluginsL( plugins, KPluginInterface, KView );
+
+ // Append plugins to the content info array
+ AppendPluginsL( plugins, aWidgets );
+
+ CleanupStack::PopAndDestroy( &plugins );
+ }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::HspsWidgetPluginsL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::HspsWidgetPluginsL( RPointerArray< CHsContentInfo >& aWidgets )
+ {
+ __ASSERT_DEBUG( aWidgets.Count() == 0, User::Leave( KErrGeneral ) );
+
+ // If widget/template plugins haven't been fetched yet
+ if( iPluginsCache.Count() == 0 )
+ {
+ // Fetch the plugins into the runtime cache
+ TRAPD( err, DoHspsWidgetPluginsL() );
+ if( err )
+ {
+ ResetCache();
+ User::LeaveIfError( err );
+ }
+ }
+
+ // Append plugins to the content info array
+ AppendPluginsL( iPluginsCache, aWidgets );
+ }
+
+// -----------------------------------------------------------------------------
+// CXnEditor::DoHspsWidgetPluginsL
+// -----------------------------------------------------------------------------
+//
+void CXnEditor::DoHspsWidgetPluginsL()
+ {
+ iHspsWrapper->GetPluginsL( iPluginsCache, KPluginInterface, KKeyWidget );
+ iHspsWrapper->GetPluginsL( iPluginsCache, KPluginInterface, KKeyTemplate );
+ }
+
+// -----------------------------------------------------------------------------
// from MHsContentController
// -----------------------------------------------------------------------------
//
TInt CXnEditor::WidgetListL( CHsContentInfoArray& aArray )
{
- RPointerArray< CHsContentInfo >& array( aArray.Array() );
+ // append the list with native widget and template plugins from HSPS
+ HspsWidgetPluginsL( aArray.Array() );
+
+ // append the list with published template plugins from CPS
+ CpsWidgetPluginsL( aArray.Array() );
- // get installed widgets from HSPS (type: "widget")
- HSPSPluginsL( array, KKeyWidget );
- // get installed widgets from HSPS
- TemplatedWidgetsL( array );
-
- FilterWidgetListL( aArray, ETrue );
+ // check whether the plugins can be added or removed
+ FilterPluginsL( aArray, ETrue );
return KErrNone;
}
@@ -1633,9 +1727,13 @@
// Get installed widget content infos
RPointerArray< CHsContentInfo > array;
CleanupClosePushL( array );
- HSPSPluginsL( array, KKeyWidget );
- TemplatedWidgetsL( array );
-
+
+ // get installed widgets and template configurations from HSPS
+ HspsWidgetPluginsL( array );
+
+ // get published widgets
+ CpsWidgetPluginsL( array );
+
// Create content info for each found widget
for ( TInt i = 0; i < widgets.Count(); i++ )
{
@@ -1662,8 +1760,9 @@
{
RPointerArray< CHsContentInfo >& array( aArray.Array() );
- // get installed views from HSPS
- HSPSPluginsL( array, KView );
+
+ // get installed view configurations from HSPS
+ HspsViewPluginsL( array );
FilterViewListL( aArray );
@@ -1678,7 +1777,8 @@
{
RPointerArray< CHsContentInfo >& array( aArray.Array() );
- HSPSPluginsL( array, KApplication );
+ // get installed application configurations from HSPS
+ HspsApplicationPluginsL( array );
return KErrNone;
}
@@ -1940,4 +2040,15 @@
return contentInfo;
}
+// -----------------------------------------------------------------------------
+// CXnBackgroundManager::OOMSysHandler
+// -----------------------------------------------------------------------------
+//
+CXnOomSysHandler& CXnEditor::OomSysHandler() const
+ {
+ __ASSERT_DEBUG( iOomSysHandler , User::Panic( _L("xneditor"), 0 ) );
+
+ return *iOomSysHandler;
+ }
+
// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnextrenderingpluginwrapper.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnextrenderingpluginwrapper.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -226,6 +226,10 @@
CXnNode* node = iNode->Node().UiEngine()->FindNodeByIdL( aDestination );
CXnAppUiAdapter* appui = static_cast<CXnAppUiAdapter*>(iAvkonAppUi);
+ if ( !appui || !node )
+ {
+ User::Leave( KErrNotFound );
+ }
appui->HandleEventL( aEvent, node->AppIfL() );
}
--- a/idlehomescreen/xmluirendering/uiengine/src/xngesturehelper.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xngesturehelper.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -251,34 +251,18 @@
// Also, while stylus down, the same event is received repeatedly
// even if stylus does not move. Filter out by checking if point
// is the same as the latest point
- if ( iDirection != EGestureCanceled )
+ iDirection = iGesture->LastDirection( CXnGesture::EAxisHorizontal );
+
+ if ( !IsIdle() && !iGesture->IsLatestPoint( Position( aEvent ) ) )
{
- if ( iDirection == EGestureUnknown )
- {
- // check current direction
- iDirection = iGesture->CodeFromPoints( CXnGesture::EAxisBoth );
- }
- else
+ AddPointL( aEvent );
+ if ( !( iGesture->IsHolding() ||
+ iGesture->IsNearHoldingPoint( Position( aEvent ) ) ) )
{
- // check if direction has changed
- if ( iDirection != iGesture->LastDirection( CXnGesture::EAxisBoth ) )
- {
- // cancel swipe
- iDirection = EGestureCanceled;
- }
- }
-
- if ( !IsIdle() && !iGesture->IsLatestPoint( Position( aEvent ) ) )
- {
- AddPointL( aEvent );
- if ( !( iGesture->IsHolding() ||
- iGesture->IsNearHoldingPoint( Position( aEvent ) ) ) )
- {
- // restart hold timer, since pointer has moved
- iHoldingTimer->Start();
- // Remember the point in which holding was started
- iGesture->SetHoldingPoint();
- }
+ // restart hold timer, since pointer has moved
+ iHoldingTimer->Start();
+ // Remember the point in which holding was started
+ iGesture->SetHoldingPoint();
}
}
break;
@@ -293,27 +277,24 @@
// observer leaves
CleanupStack::PushL( TCleanupItem( &ResetHelper, this ) );
iGesture->SetComplete();
- if ( iDirection != EGestureCanceled )
+ // if adding of the point fails, notify client with a
+ // cancelled event. It would be wrong to send another
+ // gesture code when the up point is not known
+ if ( AddPoint( aEvent ) != KErrNone )
{
- // if adding of the point fails, notify client with a
- // cancelled event. It would be wrong to send another
- // gesture code when the up point is not known
- if ( AddPoint( aEvent ) != KErrNone )
- {
- iGesture->SetCancelled();
- }
- else
+ iGesture->SetCancelled();
+ }
+ else
+ {
+ // send gesture code if holding has not been started
+ if ( !iGesture->IsHolding() )
{
- // send gesture code if holding has not been started
- if ( !iGesture->IsHolding() )
- {
- // if client leaves, the state is automatically reset.
- // In this case the client will not get the released event
- ret = iDirection;
- }
- // send an event that stylus was lifted
- iGesture->SetReleased();
+ // if client leaves, the state is automatically reset.
+ // In this case the client will not get the released event
+ ret = iDirection;
}
+ // send an event that stylus was lifted
+ iGesture->SetReleased();
}
// reset state
CleanupStack::PopAndDestroy( this );
--- a/idlehomescreen/xmluirendering/uiengine/src/xngesturerecogniser.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xngesturerecogniser.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -184,19 +184,30 @@
/** @return direction between last two points */
TXnGestureCode TXnGestureRecogniser::LastDirection( const TXnPointArray& aPoints ) const
{
- if ( aPoints.Count() > minPointCount )
+ TXnGestureCode ret = EGestureUnknown;
+
+ if ( ( aPoints.Count() > 0 ) &&
+ ( GestureLength( aPoints ) >= KMinSwipeLength ))
{
- // return direction between latest and previous points.
- // pick the previous point that is different than the last point
- // because while using an x or y filter array, more than one
- // sequential points may look like the same point because
- // the differing coordinate coordinate is filtered out. For example,
- // if dragging left and slightly up, many y coordinates will have the
- // same value, while only x differs.
- return Direction( aPoints[ aPoints.Count() - minPointCount ],
- aPoints[ aPoints.Count() - 1 ] );
+ if ( aPoints.Count() > minPointCount )
+ {
+ // return direction between latest and previous points.
+ // pick the previous point that is different than the last point
+ // because while using an x or y filter array, more than one
+ // sequential points may look like the same point because
+ // the differing coordinate coordinate is filtered out. For example,
+ // if dragging left and slightly up, many y coordinates will have the
+ // same value, while only x differs.
+ ret = Direction( aPoints[ aPoints.Count() - minPointCount ],
+ aPoints[ aPoints.Count() - 1 ] );
+ }
+ else
+ {
+ ret = GeneralDirection( aPoints );
+ }
}
- return GeneralDirection( aPoints );
+
+ return ret;
}
// ----------------------------------------------------------------------------
--- a/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnnodeimpl.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -7125,19 +7125,9 @@
XnComponentInterface::MakeInterfaceL( popup, tooltipNode );
- if ( popup )
+ if ( popup && aSource != XnEventSource::EStylus )
{
- if ( aSource == XnEventSource::EStylus )
- {
- const TTimeIntervalMicroSeconds32 delay( 1000 * 100 );
- const TTimeIntervalMicroSeconds32 display( 1000 * 1000 * 6 );
-
- popup->ShowPopupL( aRect, delay, display );
- }
- else
- {
- popup->ShowPopupL( aRect );
- }
+ popup->ShowPopupL( aRect );
}
}
}
@@ -9080,15 +9070,34 @@
}
if ( source != -1 && target != -1 )
{
+ TBool swap = EFalse;
+ CXnPluginData* data( aTarget->UiEngine()->ViewManager()->
+ ActiveViewData().Plugin( aTarget ) );
+ if ( data && !data->Occupied() )
+ {
+ // target is empty widget, swap widget places
+ swap = ETrue;
+ }
+
if ( target < source )
{
iChildren.InsertL( aSource, target );
iChildren.Remove( source + 1 );
+ if ( swap )
+ {
+ iChildren.Remove( target + 1 );
+ iChildren.InsertL( aTarget, source );
+ }
}
else if ( source < target )
{
iChildren.Remove( source );
iChildren.InsertL( aSource, target );
+ if ( swap )
+ {
+ iChildren.Insert( aTarget, source );
+ iChildren.Remove( target );
+ }
}
// put the locked nodes to the original places
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengine.rss Wed Mar 31 21:17:19 2010 +0300
@@ -27,6 +27,7 @@
#include <avkon.rsg>
#include <avkon.rh>
#include <avkon.mbg>
+#include <AvkonIcons.hrh>
#include <e32keys.h>
#include <activeidle3.loc>
@@ -103,6 +104,11 @@
buf = qtn_hs_delete_current_page;
}
+RESOURCE TBUF r_hs_error_content_removed
+ {
+ buf = qtn_hs_error_content_removed;
+ }
+
RESOURCE DIALOG r_yes_no_hs_remove_view
{
flags = EGeneralQueryFlags;
@@ -151,6 +157,28 @@
};
softkeys = R_AVKON_SOFTKEYS_SELECT_BACK;
}
+
+RESOURCE DIALOG r_hs_content_removed_view
+ {
+ flags = EGeneralQueryFlags;
+ buttons = R_AVKON_SOFTKEYS_OK_EMPTY;
+ items =
+ {
+ DLG_LINE
+ {
+ type = EAknCtQuery;
+ id = EGeneralQuery;
+ control = AVKON_CONFIRMATION_QUERY
+ {
+ layout = EConfirmationQueryLayout;
+ label = r_hs_error_content_removed;
+ bmpfile = AVKON_ICON_FILE;
+ bmpid = EMbmAvkonQgn_note_error;
+ bmpmask = EMbmAvkonQgn_note_error_mask;
+ };
+ }
+ };
+ }
RESOURCE TBUF r_qtn_hs_operation_failed_no_disk
{
--- a/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnuiengineimpl.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -22,6 +22,7 @@
#include <AknUtils.h>
#include <layoutmetadata.cdl.h>
#include <AknPriv.hrh>
+#include <debug.h>
// User includes
#include "xnuiengine.h"
@@ -35,7 +36,6 @@
#include "xnpopupcontroladapter.h"
#include "xnviewcontroladapter.h"
#include "xnviewdata.h"
-#include "xnrootdata.h"
#include "xnnodebreadthfirstiterator.h"
#include "xntype.h"
#include "xnnodepluginif.h"
@@ -58,6 +58,7 @@
#include "xneditor.h"
#include "xnbackgroundmanager.h"
#include "xntexteditor.h"
+#include "xnrootdata.h"
#ifdef _XN_PERFORMANCE_TEST_
#include "xntimemon.h"
@@ -8106,7 +8107,12 @@
delete iHitTest;
iFocusCandidateList.Reset();
- iRedrawRegions.ResetAndDestroy();
+
+ if ( iRedrawRegions.Count() )
+ {
+ iRedrawRegions.ResetAndDestroy();
+ }
+
iDirtyList.Reset();
}
@@ -8327,6 +8333,8 @@
TraceTreeL(iCurrentView );
#endif
+ __PRINTS("*** CXnUiEngineImpl::RenderUIL ***");
+
for( TInt i=0; i<iRedrawRegions.Count(); i++)
{
CCoeControl* control = iRedrawRegions[i]->iControl;
@@ -8337,7 +8345,9 @@
// Mark tree rendered
iCurrentView->SetRenderedL();
// Error occured during dirty set, redraw whole window
- control->DrawNow();
+ control->DrawNow();
+
+ __PRINTS("* CXnUiEngineImpl::RenderUIL - redraw region error -> full redraw ***");
}
else
{
@@ -8352,7 +8362,10 @@
// Make bounding rect over the dirty areas
TRect boundingRect( redrawRegion.BoundingRect() );
- control->DrawNow( boundingRect );
+ __PRINT( __DBG_FORMAT( "* CXnUiEngineImpl::RenderUIL - redrawing bounding rect iTl.iX: %d, iTl.iY: %d, iBr.iX: %d, iBr.iY: %d" ),
+ boundingRect.iTl.iX, boundingRect.iTl.iY, boundingRect.iBr.iX, boundingRect.iBr.iY );
+
+ control->DrawNow( boundingRect );
}
else
{
@@ -8360,12 +8373,20 @@
{
// Draw every dirty area separately
TRect redrawRect( redrawRegion[i] );
-
+
+ __PRINT( __DBG_FORMAT( "* CXnUiEngineImpl::RenderUIL - redrawing rect iTl.iX: %d, iTl.iY: %d, iBr.iX: %d, iBr.iY: %d" ),
+ redrawRect.iTl.iX, redrawRect.iTl.iY, redrawRect.iBr.iX, redrawRect.iBr.iY );
+
control->DrawNow( redrawRect );
}
}
}
+ else
+ {
+ __PRINTS("* CXnUiEngineImpl::RenderUIL - nothing to redraw ***");
+ }
}
+
redrawRegion.Clear();
}
@@ -8374,6 +8395,8 @@
iLayoutControl &= ~XnLayoutControl::ERenderUI;
iAppUiAdapter.EffectManager()->UiRendered();
+
+ __PRINTS("*** CXnUiEngineImpl::RenderUIL - done ***");
}
// -----------------------------------------------------------------------------
@@ -8525,7 +8548,7 @@
return array;
}
-
+
// -----------------------------------------------------------------------------
// CXnUiEngineImpl::FindContentSourceNodesL()
// -----------------------------------------------------------------------------
@@ -8584,7 +8607,7 @@
return array;
}
-
+
// -----------------------------------------------------------------------------
// CXnUiEngineImpl::Resources()
// -----------------------------------------------------------------------------
@@ -9070,6 +9093,9 @@
return;
}
+ // remove focus
+ iAppUiAdapter.HideFocus();
+
// Update client rect
SetClientRectL( iAppUiAdapter.ClientRect(), EFalse );
@@ -9088,6 +9114,10 @@
ReportScreenDeviceChangeL();
+ if ( !iControlAdapterList )
+ {
+ iControlAdapterList = &iViewManager.Controls();
+ }
for ( TInt i = 0; i < iControlAdapterList->Count(); i++ )
{
CXnControlAdapter* adapter( ( *iControlAdapterList )[i] );
@@ -9402,6 +9432,10 @@
{
// Force relayout and redraw from current view
iDirtyList.Reset();
+ if ( !iCurrentView )
+ {
+ iCurrentView = iViewManager.ViewNode();
+ }
iDirtyList.AppendL( iCurrentView );
TXnDirtyRegion* dirtyRegion = FindDirtyRegionL( *iCurrentView );
if( dirtyRegion )
@@ -9516,7 +9550,7 @@
UpdateInternalUnits( iHorizontalUnitInPixels, iVerticalUnitInPixels,
iClientRect );
-
+
if ( aDrawNow )
{
RootNode()->SetDirtyL();
@@ -9860,8 +9894,8 @@
// make sure that we always get up event
CXnViewControlAdapter* control = static_cast< CXnViewControlAdapter* >(
iViewManager.ActiveViewData().ViewNode()->Control() );
-
- control->ResetGrabbing();
+
+ control->ResetGrabbing();
// Hide all plugins except the one that contains given editor node
RPointerArray< CXnNode >& plugins( *Plugins() );
@@ -10096,8 +10130,15 @@
{
CXnProperty* blocProgressionProperty(
parent->GetPropertyL( XnPropertyNames::style::common::KBlockProgression ) );
-
+ if ( !blocProgressionProperty )
+ {
+ User::Leave( KErrNotFound );
+ }
HBufC* blocProgressionValue (blocProgressionProperty->StringValueL());
+ if ( !blocProgressionValue )
+ {
+ User::Leave( KErrNotFound );
+ }
CleanupStack::PushL( blocProgressionValue );
if(iSplitScreenState.iPartialScreenBlock)
{
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewadapter.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -56,8 +56,7 @@
// Data types
enum
{
- EIsActivated,
- EIsFirstActivation,
+ EIsActivated,
EIsInCall,
EIsLightsOn,
EIsForeground,
@@ -240,9 +239,7 @@
BaseConstructL();
iTimer = CPeriodic::NewL( CActive::EPriorityIdle );
-
- iFlags.Set( EIsFirstActivation );
-
+
// Base class CAknViewAppUi takes ownership of iViewAdapter
iAppUiAdapter.AddViewL( this );
iAppUiAdapter.SetDefaultViewL( *this );
@@ -411,38 +408,21 @@
sp->DrawNow();
}
- if ( iFlags.IsSet( EIsFirstActivation ) )
- {
- // Set the active container
- ActivateContainerL( iAppUiAdapter.ViewManager().ActiveViewData() );
-
- __TICK( "CXnViewAdapter::DoActivateL - Calling UiActivated" );
- __TIME_MARK( time2 );
+ // Set the active container
+ if ( aCustomMessage == KActivateDefaultView )
+ {
+ __PRINTS( "*** CXnViewAdapter::DoActivateL - activating default container" );
- iFlags.Clear( EIsFirstActivation );
-
- iAppUiAdapter.UiActivated();
-
- __TIME_ENDMARK( "CXnViewAdapter::DoActivateL - Calling UiActivated", time );
+ ActivateDefaultContainerL();
+
+ iTimer->Cancel();
+ iTimer->Start( 1000, 1000, TCallBack( TimerCallback, this ) );
}
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 );
- }
+ __PRINTS( "*** CXnViewAdapter::DoActivateL - activating container" );
+
+ ActivateContainerL( viewData );
}
__TIME_ENDMARK( "CXnViewAdapter::DoActivateL, done", time );
@@ -506,11 +486,6 @@
void CXnViewAdapter::ActivateContainerL( CXnViewData& aContainer,
TBool aEnterEditState )
{
- if ( !iAppUiAdapter.ViewManager().UiStartupPhaseAllDone() )
- {
- return;
- }
-
if ( iContainer == &aContainer || iFlags.IsSet( EIsDestructionRunning ) )
{
return;
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewdata.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -34,7 +34,7 @@
#include "debug.h"
// Constants
-const TInt KLoadDelay( 100000 );
+const TInt KLoadDelay( 10000 );
const TInt KInterval( 10000 );
// ============================ LOCAL FUNCTIONS ================================
@@ -489,6 +489,8 @@
CXnViewData* self = static_cast< CXnViewData* >( aAny );
+ CXnAppUiAdapter* appui = static_cast< CXnAppUiAdapter* >( iAvkonAppUi );
+
RPointerArray< CXnPluginData >& plugins( self->PluginData() );
for ( TInt i = self->iLoadIndex; i < plugins.Count(); i++ )
@@ -521,11 +523,9 @@
if( ret != KErrNone )
{
- self->iManager.UnloadWidgetFromPluginL( *plugin, ETrue );
-
+ self->iManager.UnloadWidgetFromPluginL( *plugin, ETrue );
self->iShowContentRemoved = ETrue;
- }
-
+ }
}
else
{
@@ -542,14 +542,17 @@
{
CXnNodeAppIf& plugin( self->iContentSourceNodes[i]->AppIfL() );
- self->iManager.AppUiAdapter().LoadPublisher( plugin, reason );
+ appui->LoadPublisher( plugin, reason );
}
if ( self->iShowContentRemoved )
{
self->ShowContentRemovedError();
self->iShowContentRemoved = EFalse;
- }
+ }
+
+ // Fire UI ready blindly here, it will be handled in AiFw if needed
+ appui->HandleUiReadyEventL();
}
__PRINTS( "*** CXnViewData::DoLoadPublishersL - done" );
--- a/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnviewmanager.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -63,7 +63,8 @@
const TInt KPSCategoryUid( 0x200286E3 );
const TInt KPSCrashCountKey( 1 );
const TInt KStabilityInterval( 60000000 ); // 1 minute
-const TInt KCrashRestoreThreshold( 3 );
+const TInt KCrashRestoreDefaultThreshold( 3 );
+const TInt KCrashRestoreAllTreshold( 4 );
// ============================ LOCAL FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -353,28 +354,7 @@
iComposer = CXnComposer::NewL( *iHspsWrapper );
- // Robustness checks.
- TInt crashCount = 0;
- RProperty::Get( TUid::Uid( KPSCategoryUid ),
- KPSCrashCountKey,
- crashCount );
-
- if( crashCount >= KCrashRestoreThreshold )
- {
- iHspsWrapper->RestoreRootL();
- ResetCrashCount();
- ShowErrorNoteL( R_QTN_HS_ERROR_WIDGETS_REMOVED );
- }
- else if( crashCount > 0 )
- {
- // Start stability timer to ensure that
- // if system is stabile at least KStabilityInterval
- // then crash count is reset to 0.
- iStabilityTimer = CPeriodic::NewL( CActive::EPriorityStandard );
- iStabilityTimer->Start( KStabilityInterval,
- KStabilityInterval,
- TCallBack( SystemStabileTimerCallback, this ) );
- }
+ DoRobustnessCheckL();
}
// -----------------------------------------------------------------------------
@@ -1234,7 +1214,11 @@
retval = iHspsWrapper->RemovePluginL( view->PluginId() );
// Notify observers of view list change
- NotifyViewRemovalL( *view );
+ TRAPD( err, NotifyViewRemovalL( *view ) );
+ if ( err != KErrNone )
+ {
+ // ignored
+ }
iRootData->DestroyViewData( view );
@@ -1307,7 +1291,11 @@
iHspsWrapper->RemovePluginL( view->PluginId() );
// Notify observers of view list change
- NotifyViewRemovalL( *view );
+ TRAPD( err, NotifyViewRemovalL( *view ) );
+ if ( err != KErrNone )
+ {
+ // ignored
+ }
iRootData->DestroyViewData( view );
@@ -1773,17 +1761,50 @@
// -----------------------------------------------------------------------------
// CXnViewManager::ShowErrorNoteL
// -----------------------------------------------------------------------------
-void CXnViewManager::ShowErrorNoteL( const TInt aResourceId )
+void CXnViewManager::ShowErrorNoteL()
{
- HBufC* msg( StringLoader::LoadLC( aResourceId ) );
-
- CAknErrorNote* note = new ( ELeave ) CAknErrorNote;
- CleanupStack::PushL( note );
+ CAknQueryDialog* query = CAknQueryDialog::NewL();
+ query->PrepareLC( R_HS_CONTENT_REMOVED_VIEW );
+
+ HBufC* queryText( StringLoader::LoadLC( R_HS_ERROR_CONTENT_REMOVED ) );
+ query->SetPromptL( queryText->Des() );
+ CleanupStack::PopAndDestroy( queryText );
+
+ query->RunLD();
+ }
+
+// -----------------------------------------------------------------------------
+// CXnViewManager::DoRobustnessCheckL
+// -----------------------------------------------------------------------------
+void CXnViewManager::DoRobustnessCheckL()
+ {
+ TInt crashCount = 0;
+ RProperty::Get( TUid::Uid( KPSCategoryUid ),
+ KPSCrashCountKey,
+ crashCount );
- note->ExecuteLD( *msg );
+ if( crashCount == KCrashRestoreDefaultThreshold )
+ {
+ TInt err = iHspsWrapper->RestoreDefaultConfL();
+ ShowErrorNoteL();
+ }
+ else if( crashCount >= KCrashRestoreAllTreshold )
+ {
+ TInt err = iHspsWrapper->RestoreRootL();
+ ResetCrashCount();
+ return;
+ }
- CleanupStack::Pop( note );
- CleanupStack::PopAndDestroy( msg );
+ if( crashCount > 0 )
+ {
+ // Start stability timer to ensure that
+ // if system is stabile at least KStabilityInterval
+ // then crash count is reset to 0.
+ iStabilityTimer = CPeriodic::NewL( CActive::EPriorityStandard );
+ iStabilityTimer->Start( KStabilityInterval,
+ KStabilityInterval,
+ TCallBack( SystemStabileTimerCallback, this ) );
+ }
}
// End of file
--- a/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/idlehomescreen/xmluirendering/uiengine/src/xnwidgetextensionadapter.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -91,6 +91,20 @@
}
GfxTransEffect::Deregister( this );
}
+// -----------------------------------------------------------------------------
+// CXnWidgetExtensionAdapter::HandleScreenDeviceChangedL
+//
+// -----------------------------------------------------------------------------
+//
+void CXnWidgetExtensionAdapter::HandleScreenDeviceChangedL()
+ {
+ if( IsVisible() )
+ {
+ CCoeControl::MakeVisible( EFalse );
+ }
+ CXnControlAdapter::HandleScreenDeviceChangedL();
+
+ }
// -----------------------------------------------------------------------------
// CXnWidgetExtensionAdapter::CXnWidgetExtensionAdapter
--- a/menufw/menufwui/matrixmenu/group/matrixmenu.mmp Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menufwui/matrixmenu/group/matrixmenu.mmp Wed Mar 31 21:17:19 2010 +0300
@@ -21,6 +21,8 @@
#include <data_caging_paths.hrh>
#include "../inc/mmguiuid.hrh"
+epocheapsize 1800000 4500000
+
TARGET matrixmenu.exe
TARGETTYPE exe
UID 0x100039CE _MATRIX_UID3
@@ -86,7 +88,6 @@
LIBRARY aknskins.lib
LIBRARY aknskinsrv.lib
LIBRARY aknswallpaperutils.lib
-LIBRARY MemMan.lib
#ifdef _MATRIX_MENU_TRACE_PERFORMANCE
LIBRARY flogger.lib
--- a/menufw/menufwui/matrixmenu/inc/mmappui.h Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menufwui/matrixmenu/inc/mmappui.h Wed Mar 31 21:17:19 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description: Application UI class
-* Version : %version: MM_83.1.2.1.23.1.20 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: MM_83.1.2.1.23.1.21 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -1000,6 +1000,11 @@
*/
TBool iHasFocus;
+ /**
+ * ETrue if Matrix is hidden from TS which is used on startup.
+ */
+ TBool isHiddenFromFS;
+
/**
* Own.
* Popup menu displayed after long tap.
--- a/menufw/menufwui/matrixmenu/src/mmappui.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menufwui/matrixmenu/src/mmappui.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -12,8 +12,8 @@
* Contributors:
*
* Description: Application UI class
-* Version : %version: MM_176.1.28.1.65 % << Don't touch! Updated by Synergy at check-out.
-* Version : %version: MM_176.1.28.1.65 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: MM_176.1.28.1.67 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: MM_176.1.28.1.67 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -96,7 +96,9 @@
EAknEnableSkin | EAknSingleClickCompatible :
EAknEnableSkin | EAknEnableMSK;
BaseConstructL( appUiFlags );
-
+ //hide Menu from TS at startup
+ HideApplicationFromFSW( ETrue );
+ isHiddenFromFS = ETrue;
FeatureManager::InitializeLibL();
iIsKastorEffectStarted = EFalse;
StartLayoutSwitchFullScreen( AknTransEffect::EApplicationStart );
@@ -1797,15 +1799,21 @@
if( iCurrentContainer != aWidgetContainer )
{
- TBool highlightVisibleBefore = iCurrentContainer != NULL &&
- iCurrentContainer->IsHighlightVisible();
+ // We want a highlight to be visible while switching between
+ // grid and list views but no highlight should be visible
+ // after opening a folder.
+ TBool highlightVisibleBefore =
+ iCurrentContainer &&
+ aWidgetContainer &&
+ iCurrentContainer->IsHighlightVisible() &&
+ iCurrentContainer->WidgetType() != aWidgetContainer->WidgetType();
HandleWidgetChangeRefreshL( aWidgetContainer );
if ( highlightVisibleBefore )
- {
- iCurrentContainer->SetHighlightVisibilityL( ETrue );
- }
+ {
+ iCurrentContainer->SetHighlightVisibilityL( ETrue );
+ }
}
else
{
@@ -2973,6 +2981,13 @@
{
DEBUG(("_Mm_:CMmAppUi::HandleWsEventL "
"- KAknFullOrPartialForegroundGained"));
+ //show Menu in TS when launched for the first time
+ if( isHiddenFromFS )
+ {
+ HideApplicationFromFSW( EFalse );
+ isHiddenFromFS = EFalse;
+ }
+
if (iCurrentContainer && iCurrentSuiteModel )
{
iCurrentContainer->HandleForegroundGainedL();
--- a/menufw/menufwui/matrixmenu/src/mmgui.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menufwui/matrixmenu/src/mmgui.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -17,7 +17,6 @@
// INCLUDE FILES
-#include <mw/MemoryManager.h>
#include <eikstart.h>
#include "mmapplication.h"
@@ -38,8 +37,5 @@
//
GLDEF_C TInt E32Main()
{
- RAllocator* iAllocator = MemoryManager::SwitchToFastAllocator();
- TInt err = EikStart::RunApplication( NewApplication );
- MemoryManager::CloseFastAllocator(iAllocator);
- return err;
+ return EikStart::RunApplication( NewApplication );
}
--- a/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menufwui/mmwidgets/src/mmwidgetcontainer.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -12,7 +12,7 @@
* Contributors:
*
* Description:
-* Version : %version: MM_71.1.17.1.57 % << Don't touch! Updated by Synergy at check-out.
+* Version : %version: MM_71.1.17.1.59 % << Don't touch! Updated by Synergy at check-out.
*
*/
@@ -237,7 +237,7 @@
CCoeControl::HandleResourceChange( aType );
if ( highlightVisibleBefore )
{
- SetHighlightVisibilityL( ETrue );
+ TRAP_IGNORE( SetHighlightVisibilityL( ETrue ) );
}
if ( aType == KEikDynamicLayoutVariantSwitch && !IsHighlightVisible() )
@@ -638,7 +638,7 @@
if ( aPointerEvent.iType == TPointerEvent::EButton1Down
&& itemExists )
{
- SetHighlightL( index );///////////--
+ SetHighlightL( index );
}
else if ( aPointerEvent.iType == TPointerEvent::EDrag
// the line below is needed to enable edit mode in the list widget
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.dtd Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menusuites/foldersuite/data/matrixmenudata.dtd Wed Mar 31 21:17:19 2010 +0300
@@ -296,5 +296,114 @@
-->
<!ENTITY qtn_apps_office_title "Office">
+<!--
+qtn_apps_connectivity_list.attributes
+qtn_apps_connectivity_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_connectivity_list.release "5.2"
+qtn_apps_connectivity_list.description "Connectivity shortcut title"
+qtn_apps_connectivity_list.parents "Title pane"
+qtn_apps_connectivity_list.grammar "Connectivity"
+qtn_apps_connectivity_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_connectivity_list "Connectivity">
+
+<!--
+qtn_apps_installations_list.attributes
+qtn_apps_installations_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_installations_list.release "5.2"
+qtn_apps_installations_list.description "Installations shortcut title"
+qtn_apps_installations_list.parents "Title pane"
+qtn_apps_installations_list.grammar "Installations"
+qtn_apps_installations_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_installations_list "Installations">
+
+<!--
+qtn_apps_newmessage_list.attributes
+qtn_apps_newmessage_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_newmessage_list.release "5.2"
+qtn_apps_newmessage_list.description "New message shortcut title"
+qtn_apps_newmessage_list.parents "Title pane"
+qtn_apps_newmessage_list.grammar "New message"
+qtn_apps_newmessage_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_newmessage_list "New message">
+
+<!--
+qtn_apps_msgtypeselection_list.attributes
+qtn_apps_msgtypeselection_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_msgtypeselection_list.release "5.2"
+qtn_apps_msgtypeselection_list.description "Select message type shortcut title"
+qtn_apps_msgtypeselection_list.parents "Title pane"
+qtn_apps_msgtypeselection_list.grammar "Select message type"
+qtn_apps_msgtypeselection_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_msgtypeselection_list "Sel. message type">
+
+<!--
+qtn_apps_newemail_list.attributes
+qtn_apps_newemail_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_newemail_list.release "5.2"
+qtn_apps_newemail_list.description "New email shortcut title"
+qtn_apps_newemail_list.parents "Title pane"
+qtn_apps_newemail_list.grammar "New email"
+qtn_apps_newemail_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_newemail_list "New email">
+
+<!--
+qtn_apps_newsyncml_list.attributes
+qtn_apps_newsyncml_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_newsyncml_list.release "5.2"
+qtn_apps_newsyncml_list.description "New syncML shortcut title"
+qtn_apps_newsyncml_list.parents "Title pane"
+qtn_apps_newsyncml_list.grammar "New syncML"
+qtn_apps_newsyncml_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_newsyncml_list "New syncML">
+
+<!--
+qtn_apps_newpostcard_list.attributes
+qtn_apps_newpostcard_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_newpostcard_list.release "5.2"
+qtn_apps_newpostcard_list.description "New postcard shortcut title"
+qtn_apps_newpostcard_list.parents "Title pane"
+qtn_apps_newpostcard_list.grammar "New postcard"
+qtn_apps_newpostcard_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_newpostcard_list "New postcard">
+
+<!--
+qtn_apps_newaudiomsg_list.attributes
+qtn_apps_newaudiomsg_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_newaudiomsg_list.release "5.2"
+qtn_apps_newaudiomsg_list.description "New audio message shortcut title"
+qtn_apps_newaudiomsg_list.parents "Title pane"
+qtn_apps_newaudiomsg_list.grammar "New audio message"
+qtn_apps_newaudiomsg_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_newaudiomsg_list "New audio message">
+
+<!--
+qtn_apps_undefined_list.attributes
+qtn_apps_undefined_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_undefined_list.release "5.2"
+qtn_apps_undefined_list.description "Undefined shortcut title, shown if application is e.g. uninstalled"
+qtn_apps_undefined_list.parents "Title pane"
+qtn_apps_undefined_list.grammar "Undefined"
+qtn_apps_undefined_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_undefined_list "Undefined">
+
+<!--
+qtn_apps_dialledcalls_list.attributes
+qtn_apps_dialledcalls_list.layout "list_single_large_graphic_pane_1"
+qtn_apps_dialledcalls_list.release "5.2"
+qtn_apps_dialledcalls_list.description "Dialed calls shortcut title"
+qtn_apps_dialledcalls_list.parents "Title pane"
+qtn_apps_dialledcalls_list.grammar "Dialed calls"
+qtn_apps_dialledcalls_list.islocalisable "TRUE"
+-->
+<!ENTITY qtn_apps_dialledcalls_list "Dialed calls">
<!-- End of File-->
--- a/menufw/menusuites/foldersuite/data/matrixmenudata.xml Mon Mar 15 12:39:47 2010 +0200
+++ b/menufw/menusuites/foldersuite/data/matrixmenudata.xml Wed Mar 31 21:17:19 2010 +0300
@@ -12,8 +12,8 @@
mask_id="16399"
icon_skin_minor_id="0x1ead"
icon_skin_major_id="0x101F86E3"> -->
- <!--Calendar-->
- <menu:application uid="0x10005901"/>
+ <!--Calendar-->
+ <menu:application uid="0x10005901"/>
<!-- </menu:folder> -->
<!--Contacts application-->
<menu:application uid="0x101F4CCE"/>
@@ -37,39 +37,15 @@
</menu:folder>
<!--Messaging application-->
<menu:application uid="0x100058C5"/>
- <!--Photos suite-->
- <menu:suite title_name="&qtn_apps_photos_title;"
- long_name="&qtn_apps_photos_list;"
- short_name="&qtn_apps_photos_grid;"
- suite_name="photossuite"
- icon_file="z:\resource\apps\matrixmenudata.mif"
- icon_id="16398"
- mask_id="16399"
- icon_skin_minor_id="0x217c"
- icon_skin_major_id="0x101F86E3" />
- <!-- application used in photos suite should be hidden from menu -->
- <menu:folder flags="hidden">
- <menu:application uid="0x200009EE"/> <!--Photos-->
- <menu:application uid="0x2000BB53"/> <!--Share Online-->
- </menu:folder>
+ <!--Photos application-->
+ <menu:application uid="0x200009EE"/>
<!--Download! application-->
<menu:application uid="0x20007803" />
<!--Maps application-->
<menu:application uid="0x20001F63"/>
- <!--Video & TV suite-->
- <menu:suite title_name="&qtn_apps_videotv_title;"
- long_name="&qtn_apps_videotv_list;"
- short_name="&qtn_apps_videotv_grid;"
- suite_name="tvvideosuite"
- icon_file="z:\resource\apps\matrixmenudata.mif"
- icon_id="16402"
- mask_id="16403"
- icon_skin_minor_id="0x217d"
- icon_skin_major_id="0x101F86E3"/>
- <!-- application used in video suite should be hidden from menu -->
- <menu:folder flags="hidden">
- <menu:application uid="0x102750E2"/> <!--VideoCenter-->
- </menu:folder>
+
+ <!--Video & TV-->
+ <menu:application uid="0x200159B2"/>
<!--Settings/Control Panel-->
<menu:application uid="0x100058EC"/>
<!--Games folder-->
@@ -116,19 +92,23 @@
<!--Voice recorder-->
<menu:application uid="0x10282411"/>
<!--Search application-->
+ <menu:application uid="0x101F4CD5" view="1"/>
+
</menu:folder>
- <menu:folder flags="hidden" long_name="mcsplugin_folder">
+ <menu:folder flags="hidden" long_name="mcsplugin_folder">
<menu:application uid="0x100058EC"
view="0x10207250"
- long_name="Connectivity"
- presenceicon="SKIN ( 270501603 8586 ): mif ( c:\\data\\Installs\\TemplateData\\templateIcons.mif 16386 16387)"/>
-
+ icon_file="aimcsplugin.mif"
+ icon_id="16394"
+ mask_id="16395"
+ long_name="&qtn_apps_connectivity_list;"/>
+
<menu:application uid="0x100058EC"
view="0x10283321"
- long_name="Installations"/>
+ long_name="&qtn_apps_installations_list;"/>
<menu:shortcut uid="0x99999999"
- long_name="New message"
+ long_name="&qtn_apps_newmessage_list;"
icon_file="aimcsplugin.mif"
icon_id="16406"
mask_id="16407"
@@ -137,7 +117,7 @@
param="messaging:msg"/>
<menu:shortcut uid="0x99999998"
- long_name="Sel. message type"
+ long_name="&qtn_apps_msgtypeselection_list;"
icon_file="aimcsplugin.mif"
icon_id="16388"
mask_id="16389"
@@ -146,16 +126,14 @@
param="messaging:seltype"/>
<menu:shortcut uid="0x99999997"
- long_name="New email"
+ long_name="&qtn_apps_newemail_list;"
icon_file="aimcsplugin.mif"
icon_id="16402"
mask_id="16403"
- icon_skin_minor_id=""
- icon_skin_major_id=""
param="messaging:email"/>
<menu:shortcut uid="0x99999996"
- long_name="New SyncML"
+ long_name="&qtn_apps_newsyncml_list;"
icon_file="aimcsplugin.mif"
icon_id="16390"
mask_id="16391"
@@ -164,7 +142,7 @@
param="messaging:syncmlmail"/>
<menu:shortcut uid="0x99999995"
- long_name="New postcard"
+ long_name="&qtn_apps_newpostcard_list;"
icon_file="aimcsplugin.mif"
icon_id="16400"
mask_id="16401"
@@ -173,33 +151,15 @@
param="messaging:postcard"/>
<menu:shortcut uid="0x99999994"
- long_name="New audio message"
+ long_name="&qtn_apps_newaudiomsg_list;"
icon_file="aimcsplugin.mif"
icon_id="16404"
mask_id="16405"
- icon_skin_minor_id=""
- icon_skin_major_id=""
param="messaging:audiomsg"/>
-
- <menu:url uid="0x99999993"
- long_name="Google search"
- icon_file="aimcsplugin.mif"
- icon_id="16386"
- mask_id="16387"
- icon_skin_minor_id=""
- icon_skin_major_id=""
- url="www.google.com"/>
-
- <menu:url uid="0x99999992"
- long_name="Nokia OVI"
- icon_file="ovi_brand_graphics.mif"
- icon_id="16384"
- mask_id="16385"
- presenceicon="SKIN ( 0x101F86E3 0x1af5 )"
- url="www.ovi.com"/>
- <menu:shortcut uid="0x99999991"
- long_name="Undefined"
+ <menu:shortcut flags="hidden"
+ uid="0x99999991"
+ long_name="&qtn_apps_undefined_list;"
icon_file="aimcsplugin.mif"
icon_id="16388"
mask_id="16389"
@@ -207,12 +167,10 @@
icon_skin_major_id="0x101F86E3"/>
<menu:shortcut uid="0x99999989"
- long_name="Dialed calls"
+ long_name="&qtn_apps_dialledcalls_list;"
icon_file="aimcsplugin.mif"
icon_id="16398"
mask_id="16399"
- icon_skin_minor_id=""
- icon_skin_major_id=""
param="logs:dialed"/>
<!-- Menu Application Launcher -->
@@ -223,7 +181,8 @@
<menu:application uid="0x200104E4"/>
<!-- Video Suite launcher -->
<menu:application uid="0x200211FA"/>
-
+ <!-- Conversation application -->
+ <menu:application uid="0x2002A540"/>
</menu:folder>
</menu:folder>
</menu:data>
Binary file menufw/menusuites/foldersuite/loc/matrixmenudata.loc has changed
--- a/package_definition.xml Mon Mar 15 12:39:47 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
- <package id="homescreen" name="Home Screen Apps" levels="fw apps">
- <collection id="idlehomescreen" name="Idle Home Screen" level="apps">
- <component id="nativeuicontroller" filter="s60" name="Native UI Controller">
- <unit bldFile="idlehomescreen/nativeuicontroller/group"/>
- </component>
- <component id="exths" filter="s60" name="Active Idle Container" class="plugin">
- <!-- why is the ID so different from the name? Is one wrong? -->
- <unit bldFile="idlehomescreen/exths/group"/>
- </component>
- <component id="activeidle3" filter="s60" name="Active Idle 3">
- <unit bldFile="idlehomescreen/activeidle3/group"/>
- <!-- do these need to be built? -->
- <!-- <unit bldFile="idlehomescreen/activeidle3/data/group"/> -->
- <!-- <unit bldFile="idlehomescreen/activeidle3/xmluirendering/uiengine/group"/> -->
- </component>
- <component id="hsplugins" filter="s60" name="Home Screen Plugins" class="plugin">
- <unit bldFile="idlehomescreen/hsplugins/group"/>
- <!-- do these need to be built? -->
- <!-- <unit bldFile="idlehomescreen/hsplugins/organizer/qhd_tch/organizer_2001f481/group"/> -->
- <!-- <unit bldFile="idlehomescreen/hsplugins/organizer/vga/organizer_2001f48d/group"/> -->
- <!-- <unit bldFile="idlehomescreen/hsplugins/organizer/vga/organizer_2001fdba/group"/> -->
- </component>
- </collection>
- <collection id="menufw" name="Menu Framework" level="fw">
- <component id="hierarchynavigator" filter="s60" name="Hierarchy Navigator">
- <unit bldFile="menufw/hierarchynavigator/group"/>
- </component>
- <component id="menufwui" filter="s60" name="Menu Framework UI">
- <unit bldFile="menufw/menufwui/group"/>
- </component>
- <component id="menusuites" filter="s60" name="Menu Suites">
- <unit bldFile="menufw/menusuites/group"/>
- </component>
- <component id="menufw_build" filter="s60" name="Menu Framework Build">
- <!-- can the exports be exported by the other components? -->
- <unit bldFile="menufw/group"/>
- </component>
- </collection>
- <collection id="homescreen_info" name="Home Screen Apps Info" level="apps">
- <component id="homescreen_test" filter="s60" purpose="development" name="Home Screen Apps Test">
- <!-- should this be commented out or not? -->
- <!-- <unit bldFile="tsrc/group"/> -->
- </component>
- <component id="homescreen_plat" filter="s60" name="Home Screen Apps Platform Interfaces" class="api">
- <unit bldFile="homescreen_plat/group"/>
- </component>
- </collection>
- </package>
-</SystemDefinition>
--- a/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/group/tsfswengine.mmp Wed Mar 31 21:17:19 2010 +0300
@@ -28,6 +28,8 @@
SOURCE tsfsalwaysshownapplist.cpp
SOURCE tsfswidgetlist.cpp
SOURCE tsfswiconcache.cpp
+SOURCE tsfswdatalist.cpp
+SOURCE tscpsnotifier.cpp
MW_LAYER_SYSTEMINCLUDE
@@ -52,6 +54,7 @@
LIBRARY featmgr.lib
LIBRARY bitmaptransforms.lib
+LIBRARY liwservicehandler.lib
LIBRARY tspreviewprovider.lib
LIBRARY tsfswutils.lib
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tscpsnotifier.h Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,112 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Task monitor engine
+ *
+*/
+
+#ifndef TSCPSNOTIFIER_H
+#define TSCPSNOTIFIER_H
+
+#include <e32base.h>
+#include <liwcommon.h>
+
+class CLiwGenericParamList;
+class CLiwServiceHandler;
+class MLiwInterface;
+class CLiwDefaultMap;
+class CLiwMap;
+class CTsFswEngine;
+
+NONSHARABLE_CLASS(CTSCpsNotifier) :
+ public CBase,
+ private MLiwNotifyCallback
+ {
+public:
+ /**
+ * Two-phased constructor.
+ */
+ static CTSCpsNotifier* NewL( CTsFswEngine& aEngine );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CTSCpsNotifier();
+
+private:
+ /**
+ * Constructor.
+ */
+ CTSCpsNotifier( CTsFswEngine& aEngine );
+
+ /**
+ *
+ */
+ void ConstructL();
+private:
+ // Form base class MLiwNotifyCallback.
+ /**
+ * Callback from LIW framework to process an event that was expected.
+ * @see MLiwNotifyCallback::HandleNotifyL
+ */
+ TInt HandleNotifyL( TInt aCmdId,
+ TInt aEventId,
+ CLiwGenericParamList& aEventParamList,
+ const CLiwGenericParamList& aInParamList );
+
+private:
+ /**
+ * Create and return map filled with widgets identifiers
+ */
+ CLiwDefaultMap* WidgetFilterLC();
+
+ /**
+ * Initalise CPS service interface
+ */
+ void InitCpsInterfaceL();
+
+ /**
+ * Request for CPS notifications abou widgets
+ */
+ void ExecuteRegistrationCommandL( TUint aOption );
+
+ /**
+ * Obtain widget information and
+ * forward widgets data change handling to iEngine
+ */
+ void HandleWidgetUpdateL( const CLiwMap& aChangeMap );
+
+ /**
+ * Obtain from CPS information about widget
+ */
+ void GetWidgetDataL( const TDesC& aContentId,
+ TInt& aWidgetId,
+ TInt& aBitmapHandle );
+
+ /**
+ * Obtain from CPS information about widget from data map
+ */
+ void GetWidgetDataFromDataMapL( const CLiwMap& aDataMap,
+ TInt& aWidgetId,
+ TInt& aBitmapHandle );
+
+private:
+
+ MLiwInterface* iCpsInterface;//own
+
+ CLiwServiceHandler* iServiceHandler;//own
+
+ CTsFswEngine& iEngine;//not own
+ };
+
+#endif //TSCPSNOTIFIER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswdatalist.h Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,292 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Non-closeable app list class
+ *
+*/
+
+
+#ifndef TSFSWDATALIST_H
+#define TSFSWDATALIST_H
+
+#include <e32base.h>
+#include <e32hashtab.h>
+#include <fbs.h>
+#include <apgcli.h>
+#include <w32std.h>
+#include "tsfswentry.h"
+#include "tsfswobservers.h"
+
+class CTsFswEngine;
+class CTsFsAlwaysShownAppList;
+class CTsFsHiddenAppList;
+class CTsFsWidgetList;
+class CTsFswIconCache;
+class CApaWindowGroupName;
+
+/**
+ * Engine's data list.
+ */
+NONSHARABLE_CLASS( CTsFswDataList ) : public CBase
+ {
+public:
+ /**
+ * Two-phased constructor.
+ *
+ * @param aParent
+ */
+ static CTsFswDataList* NewL( CTsFswEngine& aEngine );
+
+ /*
+ * Destructor
+ */
+ ~CTsFswDataList();
+
+private:
+ /**
+ * Constructor.
+ */
+ CTsFswDataList( CTsFswEngine& aEngine );
+
+ /**
+ * Performs 2nd phase construction.
+ */
+ void ConstructL();
+
+public:
+ /**
+ * Returns a reference to the current content.
+ * Also performs sanity checks, e.g. associates application icons
+ * when no screenshot has been received.
+ * @return ref to content array
+ */
+ const RTsFswArray& FswDataL();
+
+ /**
+ * Gets the window group list and reconstructs the fsw content.
+ * @return TBool ETrue if the content iData has been modified
+ */
+ TBool CollectTasksL();
+
+ /**
+ * Return contained iAlwaysShownAppList member.
+ */
+ CTsFsAlwaysShownAppList* AlwaysShownApps();
+
+ /**
+ * Return contained iHiddenAppList member.
+ */
+ CTsFsHiddenAppList* HiddenApps();
+
+ /**
+ * Return containd iWidgetList member
+ */
+ CTsFsWidgetList* Widgets();
+
+ /**
+ * Set flag iTaskListDirty;
+ */
+ void SetDirty();
+
+ /**
+ * Set flag iAppDataRefreshNeeded
+ */
+ void SetAppDataRefreshNeeded();
+
+ /**
+ * Store or updarte screenshot bitmap for specified window group.
+ */
+ TBool StoreScreenshot( TInt aWgId, CFbsBitmap* aBmp );
+
+ /**
+ * remove screenshot bitmap.
+ */
+ TBool RemoveScreenshot( TInt aWgId );
+
+ /**
+ * Obtain screenshot if exists
+ */
+ CFbsBitmap** FindScreenshot( TInt aWgId );
+
+ /**
+ * Moves entry on given window app/widget id to
+ * the first position on conten data list
+ */
+ void MoveEntryAtStart( TInt aAppId, TBool aWidget );
+
+private:
+ /**
+ * Adds running apps to the list.
+ * @param aAppsList array to add to
+ */
+ void CollectAppsL( RTsFswArray& aAppsList );
+
+ /**
+ * Called from CollectTasksL for each entry in the task list.
+ * @param aWgId window group id
+ * @param aAppUid application uid
+ * @param aWgName window group name or NULL
+ * @param aNewList list to add to
+ * @param aIsWidget true if the entry corresponds to a web widget
+ * @return TBool ETrue if it was really a new entry in the list
+ */
+ TBool AddEntryL( TInt aWgId,
+ const TUid& aAppUid,
+ CApaWindowGroupName* aWgName,
+ RTsFswArray& aNewList,
+ TBool aIsWidget );
+
+ /**
+ * Checks if there is an entry for same app in the content list.
+ * If yes then it takes some of the data for the entry that
+ * will correspond to the same app in the refreshed content list.
+ * In case of widget, update window group field in content list.
+ * @param aEntry new entry in content list
+ * @param aAppUid application uid
+ * @param aChanged ref to change-flag, set to ETrue if it is sure
+ * that the new content list will be different from the previous one
+ * @param aNewList ref to new content list
+ * @return ETrue if app was found
+ */
+ TBool ConsiderOldDataL( CTsFswEntry& aEntry,
+ const TUid& aAppUid,
+ TBool& aChanged,
+ RTsFswArray& aNewList );
+
+ /**
+ * Adds running widgets to the list.
+ * @param aWidgetsList array to add to
+ */
+ void CollectWidgetsL( RTsFswArray& aWidgetsList );
+
+ /**
+ * Returns the parent's wg id or KErrNotFound.
+ * @param aWgId a valid window group id
+ * @return parent wg id or KErrNotFound if there is no parent
+ */
+ TInt FindParentWgId( TInt aWgId );
+
+ /**
+ * Returns the most top parent's wg id or KErrNotFound.
+ * @param aWgId a valid window group id
+ * @return parent wg id or KErrNotFound if there is no parent
+ */
+ TInt FindMostTopParentWgId( TInt aWgId );
+
+ /**
+ * Finds out the application name.
+ * @param aWindowName window group name or NULL
+ * @param aAppUId application uid
+ * @param aWgId window group id
+ * @return application name, ownership transferred to caller
+ */
+ HBufC* FindAppNameLC( CApaWindowGroupName* aWindowName,
+ const TUid& aAppUid,
+ TInt aWgId );
+
+ /**
+ * Checks if the app to which the screenshot belongs is in the task list
+ * and updates the entry when found. Also triggers change notification
+ * to observer when data is modified.
+ * @param aWgIdForScreenshot wgid for the screenshot
+ * @param aBitmapHandle handle for screenshot bitmap
+ * @return TBool ETrue if the list has been modified
+ */
+ TBool AssignScreenshotHandle( TInt aWgIdForScreenshot, TInt aBitmapHandle );
+
+ /**
+ * Checks if the app to which the screenshot belongs is in the task list
+ * and updates the entry when found.
+ * @param aWgIdForScreenshot wgid for the screenshot,
+ * in case of widget it stands for widget id
+ * @param aBitmapHandle handle for screenshot bitmap
+ * @param aAsigned result of operation
+ */
+ void AssignScreenshotHandle( TInt aWgIdForScreenshot,
+ TInt aBitmapHandle,
+ TBool& aAsigned );
+
+ /**
+ * Returns the bitmap handle for the screenshot belonging to the given app
+ * or 0 if not (yet) found.
+ * @param aWgIdForApp a window group id (from the window group list)
+ * @return bitmap handle or 0
+ */
+ TInt LookupScreenshotHandle( TInt aWgIdForApp );
+
+ /**
+ * Fit existing class contained data list into give one.
+ * Data is being changed with application type consideration that is based
+ * on aConsiderWidgets param.
+ * Function removes or add entries into data depend on given list.
+ * @param aListToFit list with actual data
+ * @param aConsiderWidgets application type
+ * @return ETrue if change occours on data list, EFalse otherwise
+ */
+ TBool FitDataToListL( RTsFswArray& aListToFit, TBool aConsiderWidgets );
+
+ /**
+ * Checks if there is an entry for same app in the given list.
+ * @param aEntry entry
+ * @param aNewList ref to list
+ * @return ETrue if app was found
+ */
+ TBool CheckIfExists( const CTsFswEntry& aEntry,
+ const RTsFswArray& aNewList ) const;
+
+private:
+ CTsFswEngine& iEngine;
+
+ RTsFswArray iData; // current fsw content, i.e. the task list
+
+ // always shown app list, own
+ CTsFsAlwaysShownAppList* iAlwaysShownAppList;
+
+ // hidden app list, own
+ CTsFsHiddenAppList* iHiddenAppList;
+
+ // web widget list, own
+ CTsFsWidgetList* iWidgetList;
+
+ // window server session
+ RWsSession iWsSession;
+
+ // apparc session
+ RApaLsSession iAppArcSession;
+
+ /**
+ * Hash table storing the screenshots.
+ * Key: window group id for the screenshot
+ * (the one received in ApplicationChange)
+ * Value: CFbsBitmap*, pointers owned
+ */
+ RHashMap<TInt, CFbsBitmap*> iScreenshots;
+
+ // app icon provider/container instance, own
+ CTsFswIconCache* iAppIcons;
+
+ // true if web widgets are supported by the system
+ TBool iWidgetsSupported;
+
+ // when true CollectTasksL will call GetAllApps etc.
+ // which is slow and need not be done normally, except
+ // during startup and perhaps when new applications are installed
+ TBool iAppDataRefreshNeeded;
+
+ // Dirty flag, indicates that iData is not up-to-date because
+ // there were no subscribed clients during a previous possible
+ // change of the task list.
+ TBool iTaskListDirty;
+ };
+
+#endif //TSFSWDATALIST_H
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswengine.h Wed Mar 31 21:17:19 2010 +0300
@@ -32,15 +32,14 @@
#include "tsfswentry.h"
#include "tsfswobservers.h"
-class CTsFsAlwaysShownAppList;
-class CTsFsHiddenAppList;
-class CTsFsWidgetList;
class MTsFswEngineObserver;
-class CTsFswIconCache;
class CTsFastSwapPreviewProvider;
class CApaWindowGroupName;
class CBitmapRotator;
class CTsRotationTask;
+class CTSCpsNotifier;
+
+class CTsFswDataList;
// descriptor big enough to store hex repr of 32-bit integer plus 0x prefix
typedef TBuf<10> TAppUidHexString;
@@ -62,12 +61,12 @@
* @param aObserver ref to observer
*/
IMPORT_C static CTsFswEngine* NewL( MTsFswEngineObserver& aObserver );
-
+
/**
* @copydoc NewL
*/
IMPORT_C static CTsFswEngine* NewLC( MTsFswEngineObserver& aObserver );
-
+
/**
* Destructor.
*/
@@ -80,13 +79,13 @@
* @return ref to content array
*/
IMPORT_C const RTsFswArray& FswDataL();
-
+
/**
* Tries to close the given app.
* @param aWgId value given by WgId() for an entry in iData
*/
IMPORT_C void CloseAppL( TInt aWgId );
-
+
/**
* Brings the given app to foreground.
* @param aWgId value given by WgId() for an entry in iData
@@ -110,11 +109,18 @@
* Callback for rotation completion. Takes ownership of a given
* bitmap.
*/
- void RotationComplete( TInt aWgId,
+ void RotationComplete( TInt aWgId,
CFbsBitmap* aBitmap,
CTsRotationTask* aCompletedTask,
TInt aError );
-
+
+ /**
+ * Called by CPS publisher when changes occours on widgets' CPS data.
+ * Copies screenshot with use of delivered bitmap handle.
+ * Moves last changed widget with entry into start position.
+ */
+ void HandleWidgetUpdateL( TInt aWidgetId, TInt aBitmapHandle );
+
private:
// from CActive
void RunL();
@@ -123,7 +129,7 @@
// from MTsFswTaskListObserver
void UpdateTaskList();
-
+
// from MTsFswResourceObserver
void HandleResourceChange( TInt aType );
@@ -134,7 +140,7 @@
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:
@@ -142,52 +148,17 @@
* Constructor.
*/
CTsFswEngine( MTsFswEngineObserver& aObserver );
-
+
/**
* Performs 2nd phase construction.
*/
void ConstructL();
-
+
/**
* Gets the window group list and reconstructs the fsw content.
* @return TBool ETrue if the list has been modified
*/
TBool CollectTasksL();
-
- /**
- * Called from CollectTasksL for each entry in the task list.
- * @param aWgId window group id
- * @param aAppUid application uid
- * @param aWgName window group name or NULL
- * @param aNewList list to add to
- * @param aIsWidget true if the entry corresponds to a web widget
- * @return TBool ETrue if it was really a new entry in the list
- */
- TBool AddEntryL( TInt aWgId, const TUid& aAppUid,
- CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
- TBool aIsWidget );
-
- /**
- * Checks if there is an entry for same app in the content list.
- * If yes then it takes some of the data for the entry that
- * will correspond to the same app in the refreshed content list.
- * @param aEntry new entry in content list
- * @param aAppUid application uid
- * @param aChanged ref to change-flag, set to ETrue if it is sure
- * that the new content list will be different from the previous one
- * @param aNewList ref to new content list
- * @return ETrue if app was found
- */
- TBool CheckIfExistsL( CTsFswEntry& aEntry,
- const TUid& aAppUid,
- TBool& aChanged,
- RTsFswArray& aNewList );
-
- /**
- * Adds running widgets to the list.
- * @param aNewList array to add to
- */
- void CheckWidgetsL( RTsFswArray& aNewList );
/**
* Finds out the app uid for the given window group id.
@@ -195,21 +166,7 @@
* @return application uid
*/
TUid AppUidForWgIdL( TInt aWgId );
-
- /**
- * Returns the parent's wg id or KErrNotFound.
- * @param aWgId a valid window group id
- * @return parent wg id or KErrNotFound if there is no parent
- */
- TInt FindParentWgId( TInt aWgId );
-
- /**
- * Returns the most top parent's wg id or KErrNotFound.
- * @param aWgId a valid window group id
- * @return parent wg id or KErrNotFound if there is no parent
- */
- TInt FindMostTopParentWgId( TInt aWgId );
-
+
/**
* Finds out the application name.
* @param aWindowName window group name or NULL
@@ -218,7 +175,8 @@
* @return application name, ownership transferred to caller
*/
HBufC* FindAppNameLC( CApaWindowGroupName* aWindowName,
- const TUid& aAppUid, TInt aWgId );
+ const TUid& aAppUid,
+ TInt aWgId );
/**
* Makes a copy of the bitmap with the given handle.
@@ -227,34 +185,7 @@
* @return CFbsBitmap* the copy, ownership transferred to caller
*/
CFbsBitmap* CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio );
-
- /**
- * Checks if the app to which the screenshot belongs is in the task list
- * and updates the entry when found. Also triggers change notification
- * to observer when data is modified.
- * @param aWgIdForScreenshot wgid for the screenshot
- * @param aBitmapHandle handle for screenshot bitmap
- */
- void AssignScreenshotHandle( TInt aWgIdForScreenshot, TInt aBitmapHandle );
-
- /**
- * Checks if the app to which the screenshot belongs is in the task list
- * and updates the entry when found.
- * @param aWgIdForScreenshot wgid for the screenshot
- * @param aBitmapHandle handle for screenshot bitmap
- * @param aAsigned result of operation
- */
- void AssignScreenshotHandle( TInt aWgIdForScreenshot,
- TInt aBitmapHandle, TBool& aAsigned );
-
- /**
- * Returns the bitmap handle for the screenshot belonging to the given app
- * or 0 if not (yet) found.
- * @param aWgIdForApp a window group id (from the window group list)
- * @return bitmap handle or 0
- */
- TInt LookupScreenshotHandle( TInt aWgIdForApp );
-
+
/**
* Callback for the iUpdateStarter timer.
* Calls CollectTasksL and notifies the observer if the task list
@@ -288,62 +219,44 @@
* Close running widget
* @param aOffset - widget info offset
*/
- void CloseWidgetL(TInt aOffset);
+ void CloseWidgetL( TInt aOffset );
-private: // data
- MTsFswEngineObserver& iObserver;
- RTsFswArray iData; // current fsw content, i.e. the task list
- CEikonEnv* iEnv; // not own
+ /**
+ * Removes screenshot bitmap from contained iDataList
+ */
+ void RemoveScreenshot( TInt aWgId );
- // always shown app list, own
- CTsFsAlwaysShownAppList* iAlwaysShownAppList;
-
- // hidden app list, own
- CTsFsHiddenAppList* iHiddenAppList;
-
- // web widget list, own
- CTsFsWidgetList* iWidgetList;
+ /**
+ * Add or overwrite screenshot datamap into iDataList
+ * @return ETrue if content was changed
+ */
+ TBool StoreScreenshot( TInt aWgId, CFbsBitmap* aBmp );
+
+private:
+ // data
+ MTsFswEngineObserver& iObserver;
+ CEikonEnv* iEnv; // not own
// window server session
RWsSession iWsSession;
-
+
// apparc session
RApaLsSession iAppArcSession;
- /**
- * Hash table storing the screenshots.
- * Key: window group id for the screenshot
- * (the one received in ApplicationChange)
- * Value: CFbsBitmap*, pointers owned
- */
- RHashMap<TInt, CFbsBitmap*> iScreenshots;
-
// preview provider instance, own
CTsFastSwapPreviewProvider* iPreviewProvider;
-
+
// timer to defer content refresh
CPeriodic* iUpdateStarter;
-
- // app icon provider/container instance, own
- CTsFswIconCache* iAppIcons;
-
+
// true if web widgets are supported by the system
TBool iWidgetsSupported;
// PS property to listen for swi status changes
RProperty iSwiProp;
- // when true CollectTasksL will call GetAllApps etc.
- // which is slow and need not be done normally, except
- // during startup and perhaps when new applications are installed
- TBool iAppDataRefreshNeeded;
// window group ids returned by last WindowGroupList call
RArray<TInt> iWgIds;
-
- // Dirty flag, indicates that iData is not up-to-date because
- // there were no subscribed clients during a previous possible
- // change of the task list.
- TBool iTaskListDirty;
// For publishing the foreground app uid to Context Framework
TAppUidHexString iFgAppUidStr;
@@ -351,9 +264,13 @@
// For rotating bitmaps
RPointerArray<CTsRotationTask> iRotaTasks;
+
+ CTsFswDataList* iDataList;//own
+
+ //Used to observ wigets' actions on CPS service
+ CTSCpsNotifier* iCpsWidgetPublisher;//owned
};
-
/**
* Listener for rotation complete event
*/
@@ -362,13 +279,12 @@
public:
CTsRotationTask( CTsFswEngine& aEngine );
~CTsRotationTask();
- void StartLD( TInt aWgId,
- CFbsBitmap* aBitmapHandle,
- TBool aClockwise );
+ void StartLD( TInt aWgId, CFbsBitmap* aBitmapHandle, TBool aClockwise );
private:
void RunL();
void DoCancel();
-private: // Data
+private:
+ // Data
CTsFswEngine& iEngine;
TInt iWgId;
CFbsBitmap* iBitmap; // owned for the duration of transformation
--- a/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/inc/tsfswidgetlist.h Wed Mar 31 21:17:19 2010 +0300
@@ -21,13 +21,9 @@
#include <e32base.h>
#include <widgetregistryclient.h>
-
-_LIT(KWidgetAppName, "widgetlauncher.exe");
-
+
const TUint32 KWidgetAppUidValue = 0x10282822;
-const TInt KCloseWidgetCmd(2);
-
/**
* class handling the list of running wrt widgets
*/
@@ -42,21 +38,28 @@
/**
* Initializes the list that stores widgets.
* @return -
- */
+ */
void InitializeWidgetListL();
/**
* Returns a ref to the list of running widgets.
*/
const RWidgetInfoArray& RunningWidgets() const { return iRunningWidgets; }
+
+ /**
+ * Check if widget's uid is recognized as CWRT type.
+ */
+ TBool IsCWRTWidget( TUid aUid );
private:
/** Constructor */
CTsFsWidgetList();
void ResetArrayOfWidgetInfo( RWidgetInfoArray& aWidgetInfoArr );
-
+
static void CleanupConnect( TAny* aThis );
+ TBool IsValBetween( TInt aMinor, TInt aMajor, TInt aBetween );
+
private:
/** Contains list of widgets that are currently running */
RWidgetInfoArray iRunningWidgets;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tscpsnotifier.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,348 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Internal class definition for WidgetUI application.
+*
+*/
+
+
+#include "tscpsnotifier.h"
+#include "tsfswengine.h"
+#include <LiwServiceHandler.h>
+#include <LiwVariant.h>
+#include <LiwGenericParam.h>
+#include <Liwcommon.h>
+#include <liwcommon.hrh>
+
+_LIT8( KCPService, "Service.ContentPublishing" );
+_LIT8( KCPInterface, "IDataSource" );
+
+_LIT8( KType, "type" );
+_LIT( KCpData, "cp_data" );
+
+_LIT8( KPublisherId, "publisher" );
+_LIT8( KContentType, "content_type" );
+_LIT8( KContentId, "content_id" );
+
+_LIT8( KGetList, "GetList");
+_LIT8( KDataMap, "data_map" );
+_LIT8( KWidgetId, "widget_id");
+_LIT8( KBitmapHandle, "bitmap_handle");
+
+_LIT( KWidgetUi, "widget_ui");
+_LIT( KScreenshot, "screenshot");
+
+_LIT8( KFilter, "filter" );
+_LIT8( KResults, "results");
+_LIT8( KOperation, "operation" );
+_LIT8( KRequestNotification, "RequestNotification" );
+_LIT( KUpdate, "update" );
+_LIT( K16Add, "add" );
+_LIT( KAddUpdate, "add:update" );
+_LIT8( KChangeInfo, "change_info" );
+
+_LIT( KAll, "all");
+
+// ================= MEMBER FUNCTIONS =======================
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::NewL
+// --------------------------------------------------------------------------
+//
+CTSCpsNotifier* CTSCpsNotifier::NewL(CTsFswEngine& aEngine )
+ {
+ CTSCpsNotifier* self = new (ELeave) CTSCpsNotifier(aEngine);
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop();
+ return self;
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::~CTSCpsNotifier
+// --------------------------------------------------------------------------
+//
+CTSCpsNotifier::~CTSCpsNotifier()
+ {
+ TRAP_IGNORE(ExecuteRegistrationCommandL( KLiwOptCancel ));
+
+ if( iCpsInterface )
+ {
+ iCpsInterface->Close();
+ iCpsInterface = NULL;
+ }
+ if( iServiceHandler )
+ {
+ iServiceHandler->Reset();
+ delete iServiceHandler;
+ iServiceHandler = NULL;
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::CTSCpsNotifier
+// --------------------------------------------------------------------------
+//
+CTSCpsNotifier::CTSCpsNotifier(CTsFswEngine& aEngine):
+ iEngine(aEngine)
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::ConstructL
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::ConstructL()
+ {
+ InitCpsInterfaceL();
+ ExecuteRegistrationCommandL( 0 );
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::WidgetFilterLC
+// --------------------------------------------------------------------------
+//
+CLiwDefaultMap* CTSCpsNotifier::WidgetFilterLC()
+ {
+ //Create filter criteria for requested entries in form of LIW map:
+ CLiwDefaultMap* filter = CLiwDefaultMap::NewLC();
+ filter->InsertL( KPublisherId, TLiwVariant( KWidgetUi ));
+ filter->InsertL( KContentType, TLiwVariant( KScreenshot ));
+ return filter;
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::ExecuteRegistrationCommandL
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::ExecuteRegistrationCommandL(
+ TUint aOption )
+ {
+ CLiwDefaultMap* filter = WidgetFilterLC();
+ filter->InsertL( KContentId, TLiwVariant( KAll ));
+ filter->InsertL( KOperation, TLiwVariant( KAddUpdate ));
+
+ CLiwGenericParamList& inParamList = iServiceHandler->InParamListL();
+ CLiwGenericParamList& outParamList = iServiceHandler->OutParamListL();
+
+ // Fill in input list for RequestNotification command
+ inParamList.AppendL( TLiwGenericParam( KType, TLiwVariant( KCpData )));
+ inParamList.AppendL( TLiwGenericParam( KFilter, TLiwVariant( filter )));
+
+ iCpsInterface->ExecuteCmdL(
+ KRequestNotification,
+ inParamList,
+ outParamList,
+ aOption,
+ this );
+
+ outParamList.Reset();
+ inParamList.Reset();
+ CleanupStack::PopAndDestroy( filter );
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::HandleNotifyL
+// --------------------------------------------------------------------------
+//
+TInt CTSCpsNotifier::HandleNotifyL(
+ TInt /*aCmdId*/,
+ TInt /*aEventId*/,
+ CLiwGenericParamList& aEventParamList,
+ const CLiwGenericParamList& /*aInParamList*/ )
+ {
+ TInt pos(0);
+ aEventParamList.FindFirst( pos, KChangeInfo );
+ if (pos != KErrNotFound)
+ {
+ // Get list of maps
+ TLiwVariant variant = ( aEventParamList )[pos].Value();
+ variant.PushL();
+ const CLiwList* changeMapsList = variant.AsList();
+
+ TPtrC operation;
+ // Iter through list content
+ for (TInt i = 0; i < changeMapsList->Count(); ++i)
+ {
+ if ( changeMapsList->AtL( i, variant ))
+ {
+ const CLiwMap* changeMap = variant.AsMap();
+ // Check what triggered a notification
+ if ( changeMap->FindL( KOperation, variant ))
+ {
+ operation.Set( variant.AsDes());
+ }
+ if (!operation.Compare(KUpdate) || !operation.Compare(K16Add))
+ {
+ HandleWidgetUpdateL( *changeMap );
+ }
+ }
+ }
+ CleanupStack::PopAndDestroy( &variant );
+ }
+ return KErrNone;
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::InitCpsInterfaceL
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::InitCpsInterfaceL()
+ {
+ if( !iServiceHandler )
+ {
+ iServiceHandler = CLiwServiceHandler::NewL();
+ }
+
+ CLiwGenericParamList& inParam = iServiceHandler->InParamListL();
+ CLiwGenericParamList& outParam = iServiceHandler->OutParamListL();
+
+ CLiwCriteriaItem* crit = CLiwCriteriaItem::NewLC( KLiwCmdAsStr, KCPInterface,
+ KCPService );
+ crit->SetServiceClass( TUid::Uid(KLiwClassBase) );
+
+ RCriteriaArray a;
+ a.AppendL(crit);
+ iServiceHandler->AttachL( a );
+ CleanupStack::Pop(crit);
+ iServiceHandler->ExecuteServiceCmdL( *crit, inParam, outParam );
+ delete crit;
+ a.Reset();
+
+ // find service interface
+ TInt pos = 0;
+ MLiwInterface* msgInterface = NULL;
+ outParam.FindFirst( pos, KCPInterface );
+ if ( pos != KErrNotFound )
+ {
+ msgInterface = (outParam)[pos].Value().AsInterface();
+ }
+
+ outParam.Reset();
+ inParam.Reset();
+ iCpsInterface = msgInterface;
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::HandleWidgetUpdateL
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::HandleWidgetUpdateL(const CLiwMap& aChangeMap)
+ {
+ //ectract content_id which is widget bundled name
+ TPtrC contentid;
+ TLiwVariant contentIdVar;
+ contentIdVar.PushL();
+ if (aChangeMap.FindL(KContentId, contentIdVar))
+ {
+ contentid.Set( contentIdVar.AsDes());
+ }
+
+ TInt widgetId(0);
+ TInt bitmapHandle(0);
+ GetWidgetDataL(contentid, widgetId, bitmapHandle);
+ iEngine.HandleWidgetUpdateL(widgetId, bitmapHandle );
+ CleanupStack::PopAndDestroy( &contentIdVar );
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::GetWidgetData
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::GetWidgetDataL(const TDesC& aContentId, TInt& aWidgetId,
+ TInt& aBitmapHandle)
+ {
+ CLiwGenericParamList* inParamList = &iServiceHandler->InParamListL();
+ CLiwGenericParamList* outParamList = &iServiceHandler->OutParamListL();
+
+ TLiwGenericParam type( KType, TLiwVariant( KCpData ) );
+ inParamList->AppendL( type );
+
+ //append filter to input param
+ CLiwDefaultMap* filter = WidgetFilterLC();
+ filter->InsertL(KContentId, TLiwVariant(aContentId));
+ TLiwGenericParam item( KFilter, filter);
+ inParamList->AppendL( item );
+
+ // It is assumed that interface is already initiated
+ iCpsInterface->ExecuteCmdL( KGetList, *inParamList, *outParamList);
+
+ type.Reset();
+ item.Reset();
+ inParamList->Reset();
+
+ //extracts data map
+ TInt pos = 0;
+ outParamList->FindFirst( pos, KResults );
+ if( pos != KErrNotFound )
+ // results present
+ {
+ //extract iterator on results list
+ TLiwVariant variant = (*outParamList)[pos].Value();
+ CLiwIterable* iterable = variant.AsIterable();
+ iterable->Reset();
+
+ //get next result
+ if( iterable->NextL( variant ) )
+ {
+ //extract content map
+ CLiwDefaultMap *map = CLiwDefaultMap::NewLC();
+ variant.Get( *map );
+ if( map && map->FindL( KDataMap, variant) )
+ {
+ CLiwDefaultMap *dataMap = CLiwDefaultMap::NewLC();
+ variant.Get( *dataMap );
+ if( dataMap )
+ {
+ GetWidgetDataFromDataMapL(*dataMap, aWidgetId, aBitmapHandle);
+ }
+ CleanupStack::PopAndDestroy( dataMap );
+ }
+ variant.Reset();
+ CleanupStack::PopAndDestroy( map );
+ }
+ iterable->Reset();
+ }
+ outParamList->Reset();
+ CleanupStack::PopAndDestroy( filter );
+ }
+
+// --------------------------------------------------------------------------
+// CTSCpsNotifier::GetWidgetDataFromDataMap
+// --------------------------------------------------------------------------
+//
+void CTSCpsNotifier::GetWidgetDataFromDataMapL(const CLiwMap& aDataMap,
+ TInt& aWidgetId, TInt& aBitmapHandle)
+ {
+ TLiwVariant bitmapHandleVar;
+ bitmapHandleVar.PushL();
+ if( aDataMap.FindL( KBitmapHandle, bitmapHandleVar ))
+ {
+ aBitmapHandle = bitmapHandleVar.AsTInt32();
+ }
+ CleanupStack::PopAndDestroy(&bitmapHandleVar);
+
+ TLiwVariant widgetIdVar;
+ widgetIdVar.PushL();
+ if( aDataMap.FindL( KWidgetId, widgetIdVar ))
+ {
+ aWidgetId = widgetIdVar.AsTInt32();
+ }
+ CleanupStack::PopAndDestroy(&widgetIdVar);
+ }
+
+// END OF FILE
+
+
+
+
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfsalwaysshownapplist.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -25,8 +25,7 @@
Also, there will be no Close option for such apps. */
const TUint32 KTsFsUidArray[] =
{
- 0x102750F0 // Idle App Uid
- ,0x0EFC346A //Search App Uid
+ 0x0EFC346A //Search App Uid
/* never show menu app */ //,0x101F4CD2 // Menu App Uid
};
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfshiddenapplist.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -37,7 +37,8 @@
*/
const TUint32 KTsFsAlwaysHiddenUidArray[] =
{
- 0x100056CF // screensaver
+ 0x100056CF, // screensaver
+ 0x102750F0 // Idle App Uid
};
// -----------------------------------------------------------------------------
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswdatalist.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -0,0 +1,753 @@
+/*
+* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: File containing application list classes
+ *
+*/
+
+
+//INCLUDES:
+#include "tsfswdatalist.h"
+#include "tsfswengine.h"
+#include "tsfsalwaysshownapplist.h"
+#include "tsfshiddenapplist.h"
+#include "tsfswidgetlist.h"
+#include "tsfswiconcache.h"
+#include "enginelogging.h"
+#include <mmf/common/mmfcontrollerpluginresolver.h> // for CleanupResetAndDestroyPushL
+#include <featmgr.h>
+#include <apgwgnam.h>
+
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::NewL
+// --------------------------------------------------------------------------
+//
+CTsFswDataList* CTsFswDataList::NewL(CTsFswEngine& aEngine)
+ {
+ CTsFswDataList* self = new (ELeave) CTsFswDataList(aEngine);
+ CleanupStack::PushL (self );
+ self->ConstructL ( );
+ CleanupStack::Pop ( self );
+ return self;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::CTsFswDataList
+// --------------------------------------------------------------------------
+//
+CTsFswDataList::CTsFswDataList(CTsFswEngine& aEngine) :
+ iEngine(aEngine)
+ {
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::~CTsFswDataList
+// --------------------------------------------------------------------------
+//
+CTsFswDataList::~CTsFswDataList( )
+ {
+ // delete the bitmaps as the hash map cannot do that
+ THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
+ while ( const TInt* key = iter.NextKey() )
+ {
+ CFbsBitmap** value = iter.CurrentValue();
+ delete *value;
+ }
+ iScreenshots.Close();
+ delete iAppIcons;
+
+ iData.ResetAndDestroy();
+
+ delete iHiddenAppList;
+ delete iAlwaysShownAppList;
+ delete iWidgetList;
+ iAppArcSession.Close();
+ iWsSession.Close();
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::ConstructL
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::ConstructL( )
+ {
+ User::LeaveIfError( iWsSession.Connect() );
+ User::LeaveIfError( iAppArcSession.Connect() );
+ iHiddenAppList = CTsFsHiddenAppList::NewL( iEngine );
+ iAlwaysShownAppList = CTsFsAlwaysShownAppList::NewL();
+
+ iWidgetsSupported = FeatureManager::FeatureSupported( KFeatureIdWebWidgets );
+ if ( iWidgetsSupported )
+ {
+ iWidgetList = CTsFsWidgetList::NewL();
+ }
+
+ // create app icon retriever instance
+ iAppIcons = CTsFswIconCache::NewL();
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FswDataL
+// --------------------------------------------------------------------------
+//
+const RTsFswArray& CTsFswDataList::FswDataL()
+ {
+ TSLOG_CONTEXT( FswDataL, TSLOG_LOCAL );
+ TSLOG1_IN( "dirty flag = %d", iTaskListDirty );
+
+ // check the dirty flag and refresh if needed
+ if ( iTaskListDirty )
+ {
+ CollectTasksL();
+ // dirty flag is cleared in the above call
+ }
+
+ // Get app icon for entries without screenshot,
+ // do this only here as the app icon is not needed in case a screenshot
+ // is already available.
+ for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
+ {
+ if ( !iData[i]->ScreenshotHandle() )
+ {
+ CFbsBitmap* bmp;
+ CFbsBitmap* mask;
+ TUid appUid = iData[i]->AppUid();
+ // this will leave with -46 in case of widgets if we do not have AllFiles cap
+ TRAPD( err, iAppIcons->GetIconL( appUid, bmp, mask ) );
+ if ( err == KErrNone && bmp )
+ {
+ iData[i]->SetAppIconHandles( bmp->Handle(),
+ mask ? mask->Handle() : 0 );
+ }
+ else
+ {
+ iAppIcons->DefaultIcon( bmp, mask );
+ iData[i]->SetAppIconHandles( bmp->Handle(),
+ mask ? mask->Handle() : 0 );
+ }
+ }
+ }
+
+ TSLOG_OUT();
+ return iData;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::CollectTasksL
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::CollectTasksL()
+ {
+ // clear dirty flag
+ iTaskListDirty = EFalse;
+ TBool changed = EFalse;
+
+ RTsFswArray newAppsList;
+ RTsFswArray newWidgetsList;
+
+ CleanupResetAndDestroyPushL(newAppsList);
+ CleanupResetAndDestroyPushL(newWidgetsList);
+
+ CollectAppsL(newAppsList);
+ CollectWidgetsL(newWidgetsList);
+
+ changed |= FitDataToListL(newAppsList, EFalse);
+ changed |= FitDataToListL(newWidgetsList, ETrue);
+
+ CleanupStack::PopAndDestroy( &newWidgetsList );
+ CleanupStack::PopAndDestroy( &newAppsList );
+
+ return changed;
+ }
+
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::AlwaysShown()
+// --------------------------------------------------------------------------
+//
+CTsFsAlwaysShownAppList* CTsFswDataList::AlwaysShownApps()
+ {
+ return iAlwaysShownAppList;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::HiddenApps()
+// --------------------------------------------------------------------------
+//
+CTsFsHiddenAppList* CTsFswDataList::HiddenApps()
+ {
+ return iHiddenAppList;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::Widgets()
+// --------------------------------------------------------------------------
+//
+CTsFsWidgetList* CTsFswDataList::Widgets()
+ {
+ return iWidgetList;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::SetDirty()
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::SetDirty()
+ {
+ iTaskListDirty = ETrue;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::SetAppDataRefreshNeeded()
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::SetAppDataRefreshNeeded()
+ {
+ iAppDataRefreshNeeded = ETrue;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::ForwardScreenshot
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::StoreScreenshot(TInt aId, CFbsBitmap* aBmp)
+ {
+ TBool changed = EFalse;
+ CFbsBitmap** oldbmp = iScreenshots.Find( aId );
+ if ( oldbmp )
+ {
+ delete *oldbmp;
+ }
+ if ( iScreenshots.Insert( aId, aBmp ) != KErrNone )
+ {
+ delete aBmp;
+ iScreenshots.Remove( aId );
+ }
+ else
+ {
+ changed = AssignScreenshotHandle( aId, aBmp->Handle() );
+ }
+ return changed;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::RemoveScreenshotByWgId
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::RemoveScreenshot(TInt aId)
+ {
+ TBool changed = EFalse;
+ CFbsBitmap** bmp = iScreenshots.Find( aId );
+ if ( bmp )
+ {
+ delete *bmp;
+ iScreenshots.Remove( aId );
+ changed = AssignScreenshotHandle( aId, 0 );
+ }
+ return changed;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FindScreenshotByWgId
+// --------------------------------------------------------------------------
+//
+CFbsBitmap** CTsFswDataList::FindScreenshot(TInt aId)
+ {
+ CFbsBitmap** result = 0;
+ result = iScreenshots.Find( aId );
+ return result;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::MoveEntryAtStart
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::MoveEntryAtStart(TInt aAppId, TBool aWidget)
+ {
+ TSLOG_CONTEXT( MoveEntryAtStart, TSLOG_LOCAL );
+
+ for ( TInt i = 0; i < iData.Count(); ++i )
+ {
+ if( iData[i]->AppUid().iUid == aAppId && iData[i]->Widget() == aWidget)
+ {
+ CTsFswEntry* entry = iData[i];
+ iData.Remove(i);
+ iData.Insert(entry, 0);
+ break;
+ }
+ }
+ TSLOG_OUT();
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::CollectAppsL(RTsFswArray& aAppsList)
+ {
+ TSLOG_CONTEXT( CollectTasksL, TSLOG_LOCAL );
+ TSLOG_IN();
+ // clear dirty flag
+ iTaskListDirty = EFalse;
+
+ // update app data if needed
+ // (usually on startup and when new apps might have been installed)
+ if ( iAppDataRefreshNeeded )
+ {
+ TSLOG0( TSLOG_INFO, "refreshing app data" );
+ iAppArcSession.GetAllApps();
+ iAlwaysShownAppList->InitializeAlwaysShownListL();
+ iAppDataRefreshNeeded = EFalse;
+ }
+
+ // get all window groups
+ RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
+ CleanupClosePushL( allWgIds );
+ User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
+
+ TInt count = allWgIds.Count();
+ for ( TInt i = 0; i < count; ++i )
+ {
+ // ignore uninteresting entries (e.g. embedded apps)
+ if ( allWgIds[i].iParentId > 0 )
+ {
+ continue;
+ }
+
+ // get window group name
+ TInt wgId = allWgIds[i].iId;
+ CApaWindowGroupName* windowName =
+ CApaWindowGroupName::NewLC( iWsSession, wgId );
+ TUid appUid = windowName->AppUid();
+
+ // ignore entries with null uid
+ if ( !appUid.iUid )
+ {
+ CleanupStack::PopAndDestroy( windowName );
+ continue;
+ }
+
+ // will append the task to our own list only if it is not hidden
+ TBool onHiddenList = iHiddenAppList->IsHiddenL(
+ appUid, iWsSession, wgId );
+
+ // get screen number (-1=console, 0=main screen, 1=cover ui)
+ TInt appScreen = 0;
+ TInt scrNumErr = iAppArcSession.GetDefaultScreenNumber( appScreen, appUid );
+
+ // check if it is on always-shown list
+ TBool mustShow = iAlwaysShownAppList->IsAlwaysShownApp( appUid );
+
+#ifdef _DEBUG
+ const TDesC& captionDbg( windowName->Caption() );
+ TSLOG4( TSLOG_INFO, "[%d] wgid=%d appuid=%x (%S)", i, wgId,
+ appUid.iUid, &captionDbg );
+ TSLOG4( TSLOG_INFO, "hidden=%d onhiddenlist=%d mustshow=%d scrno=%d",
+ windowName->Hidden(), onHiddenList, mustShow, appScreen );
+#endif
+ if ( iWidgetsSupported && appUid.iUid == KWidgetAppUidValue )
+ {
+ //continue, leave widgetui, do nothing
+ }
+ // add item to task list if it is always-shown OR it is not hidden
+ // and it is not on cover ui
+ else if (mustShow || (!onHiddenList && !windowName->Hidden() && (appScreen
+ == 0 || appScreen == -1) && scrNumErr == KErrNone))
+ {
+ AddEntryL(wgId, appUid, windowName, aAppsList, EFalse);
+ }
+ CleanupStack::PopAndDestroy( windowName );
+ }
+ CleanupStack::PopAndDestroy( &allWgIds );
+ TSLOG_OUT();
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::AddEntryL
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::AddEntryL( TInt aWgId, const TUid& aAppUid,
+ CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
+ TBool aIsWidget )
+ {
+ TBool changed = EFalse;
+ CTsFswEntry* entry = CTsFswEntry::NewLC();
+ entry->SetWgId( aWgId );
+ entry->SetAppUid( aAppUid );
+ entry->SetWidget( aIsWidget );
+
+ // check if present in old list and if yes then take some of the old data
+ TBool found = ConsiderOldDataL( *entry, aAppUid, changed, aNewList );
+
+ // if not present previously then find out app name
+ // and check if screenshot is already available
+ if ( !found )
+ {
+ // when adding a new entry to the list it is changed for sure
+ changed = ETrue;
+ HBufC* name = FindAppNameLC( aWgName, aAppUid, aWgId );
+ if ( name )
+ {
+ entry->SetAppNameL( *name );
+ }
+ CleanupStack::PopAndDestroy( name );
+
+ entry->SetAlwaysShown( iAlwaysShownAppList->IsAlwaysShownApp( aAppUid ) );
+ if ( aWgName )
+ {
+ entry->SetSystemApp( aWgName->IsSystem() );
+ }
+ }
+ TInt h = LookupScreenshotHandle( aWgId );
+ if ( h )
+ {
+ entry->SetScreenshotHandle( h );
+ }
+ // add to new list, ownership is transferred
+ aNewList.AppendL( entry );
+ CleanupStack::Pop( entry );
+ return changed;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::ConsiderOldDataL
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::ConsiderOldDataL( CTsFswEntry& aEntry,
+ const TUid& aAppUid,
+ TBool& aChanged,
+ RTsFswArray& aNewList )
+ {
+ for ( TInt entryIdx = 0, oldCount = iData.Count();
+ entryIdx < oldCount; ++entryIdx )
+ {
+ // Enough to check appuid, no need to bother with wgid as the
+ // screenshot handle is up-to-date or will be updated later anyway.
+ if ( iData[entryIdx]->AppUid() == aAppUid )
+ {
+ iData[entryIdx]->SetWgId( aEntry.WgId());
+ // if positions do not match then the list is different than before
+ if ( entryIdx != aNewList.Count() )
+ {
+ aChanged = ETrue;
+ }
+ CTsFswEntry* oldEntry = iData[entryIdx];
+ aEntry.SetAppNameL( oldEntry->AppName() );
+ aEntry.SetScreenshotHandle( oldEntry->ScreenshotHandle() );
+ aEntry.SetAlwaysShown( oldEntry->AlwaysShown() );
+ aEntry.SetSystemApp( oldEntry->SystemApp() );
+ return ETrue;
+ }
+ }
+ return EFalse;
+ }
+// --------------------------------------------------------------------------
+// CTsFswDataList::CollectWidgetsL
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::CollectWidgetsL(RTsFswArray& aWidgetsList)
+ {
+ if( iWidgetsSupported )
+ {
+ iWidgetList->InitializeWidgetListL();
+ const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
+ for ( TInt i = 0, ie = arr.Count(); i != ie; ++i )
+ {
+ //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, aWidgetsList, ETrue );
+ }
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FindParentWgId
+// --------------------------------------------------------------------------
+//
+TInt CTsFswDataList::FindParentWgId( TInt aWgId )
+ {
+ TInt parent( KErrNotFound );
+ RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
+ // Ask for window group list from RWsSession
+ TInt error = iWsSession.WindowGroupList( 0, &allWgIds );
+ if ( !error )
+ {
+ TInt count( allWgIds.Count() );
+ for ( TInt i( 0 ); i < count; i++ )
+ {
+ RWsSession::TWindowGroupChainInfo info = allWgIds[i];
+ if ( info.iId == aWgId && info.iParentId > 0)
+ {
+ parent = info.iParentId;
+ break;
+ }
+ }
+ }
+ allWgIds.Close();
+ return parent;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FindMostTopParentWgId
+// --------------------------------------------------------------------------
+//
+TInt CTsFswDataList::FindMostTopParentWgId( TInt aWgId )
+ {
+ TInt parent( KErrNotFound );
+ parent = FindParentWgId( aWgId );
+ if( parent != KErrNotFound)
+ {
+ TInt topParent = FindMostTopParentWgId(parent);
+ if( topParent != KErrNotFound )
+ {
+ parent = topParent;
+ }
+ }
+ return parent;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FindAppNameLC
+// --------------------------------------------------------------------------
+//
+HBufC* CTsFswDataList::FindAppNameLC( CApaWindowGroupName* aWindowName,
+ const TUid& aAppUid,
+ TInt aWgId )
+ {
+ //Retrieve the app name
+ TApaAppInfo info;
+ iAppArcSession.GetAppInfo( info, aAppUid );
+ TPtrC caption = info.iShortCaption;
+
+ HBufC* tempName = 0;
+ if ( !caption.Length() && aWindowName ) // if not set - use thread name instead
+ {
+ if ( aWindowName->Caption().Length() )
+ {
+ tempName = aWindowName->Caption().AllocL();
+ //put on cleanupstack after the if
+ }
+ else
+ {
+ TThreadId threadId;
+ TInt err = iWsSession.GetWindowGroupClientThreadId(
+ aWgId, threadId );
+ if ( err == KErrNone )
+ {
+ RThread thread;
+ CleanupClosePushL( thread );
+ err = thread.Open ( threadId );
+ if ( err==KErrNone )
+ {
+ tempName = thread.Name().AllocL(); // codescanner::forgottoputptroncleanupstack
+ // tempName put on cleanupstack after the if
+ }
+ CleanupStack::PopAndDestroy( &thread );
+ }
+ }
+ }
+ else
+ {
+ tempName = caption.AllocL();
+ //put on cleanupstack after the if
+ }
+ CleanupStack::PushL( tempName );
+ return tempName;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::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
+// application then into standalone one.
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::AssignScreenshotHandle( TInt aWgIdForScreenshot,
+ TInt aBitmapHandle )
+ {
+// aWgIdForScreenshot, aBitmapHandle);
+ TBool changed = EFalse;
+ TInt parentWgId = FindMostTopParentWgId( aWgIdForScreenshot );
+ // now parentWgId is a valid wgid or KErrNotFound (-1)
+ if (parentWgId != KErrNotFound)
+ {
+ AssignScreenshotHandle( parentWgId, aBitmapHandle, changed );
+ }
+ if (!changed)
+ {
+ AssignScreenshotHandle( aWgIdForScreenshot, aBitmapHandle, changed );
+ }
+ return changed;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::AssignScreenshotHandle
+// Called when a screenshot arrives to check if there is a corresponding
+// application in the task list. It might be tried to be match into parental
+// or standalone application.
+// --------------------------------------------------------------------------
+//
+void CTsFswDataList::AssignScreenshotHandle(TInt aWgIdForScreenshot,
+ TInt aBitmapHandle, TBool& aAsigned)
+ {
+ aAsigned = EFalse;
+ for (TInt i = 0, ie = iData.Count(); i != ie; ++i)
+ {
+ if (iData[i]->Widget())
+ {
+ TInt widgetId = iData[i]->AppUid().iUid;
+ if (widgetId == aWgIdForScreenshot)
+ {
+ iData[i]->SetScreenshotHandle(aBitmapHandle);
+ aAsigned = ETrue;
+ break;
+ }
+ continue;
+ }
+ TInt appWgId = iData[i]->WgId();
+ if (appWgId == aWgIdForScreenshot)
+ {
+ iData[i]->SetScreenshotHandle(aBitmapHandle);
+ aAsigned = ETrue;
+ break;
+ }
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::LookupScreenshotHandle
+// Called to check if there is a screenshot already stored for the given
+// app. (or a screenshot with a wgid for which aWgIdForApp is the parent)
+// --------------------------------------------------------------------------
+//
+TInt CTsFswDataList::LookupScreenshotHandle( TInt aWgIdForApp )
+ {
+ CFbsBitmap** bmp = NULL;
+
+ if ( aWgIdForApp > 0 )
+ {
+ // must check if there is a screenshot for which aWgIdForApp is the parent
+ THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
+ while ( const TInt* wgid = iter.NextKey() )
+ {
+ if ( FindMostTopParentWgId( *wgid ) == aWgIdForApp )
+ {
+ THashMapIter<TInt, CFbsBitmap*> iter2( iScreenshots );
+ TBool hasChild = false;
+ while ( const TInt* wgid2 = iter2.NextKey() )
+ {
+ if ( FindParentWgId( *wgid2 ) == *wgid )
+ {
+ hasChild = true;
+ break;
+ }
+ }
+ if ( !hasChild )
+ {
+ bmp = iter.CurrentValue();
+ if ( bmp )
+ {
+ return (*bmp)->Handle();
+ }
+ }
+ }
+ }
+ if ( !bmp )
+ {
+ bmp = iScreenshots.Find( aWgIdForApp );
+ if ( bmp )
+ {
+ // there is a screenshot stored for this wgid
+ return (*bmp)->Handle();
+ }
+ }
+ }
+ else if ( aWgIdForApp < 0 )
+ {
+ // Must be a widget, wgid is useless in this case.
+ // Do not do anything for now => no screenshot for widgets.
+ }
+ return 0;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::FitDataToListL
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::FitDataToListL(RTsFswArray& aListToFit,
+ TBool aConsiderWidgets)
+ {
+ TSLOG_CONTEXT( FitDataToListL, TSLOG_LOCAL );
+ TBool changed = EFalse;
+ TInt listCount = aListToFit.Count();
+ TInt dataCount = iData.Count();
+
+ //remove items that dont't exists in newly collected list
+ //consider widget and non-widget type
+ for (TInt i = dataCount -1; i >= 0; --i)
+ {
+ if ( (iData[i]->Widget() == aConsiderWidgets) &&
+ !CheckIfExists(*iData[i], aListToFit) )
+ {
+ delete iData[i];
+ iData.Remove(i);
+ changed = ETrue;
+ }
+ }
+
+ //add new item at start
+ for (TInt i = 0; i < aListToFit.Count(); ++i)
+ {
+ if (!CheckIfExists(*aListToFit[i], iData))
+ {
+ iData.Insert(aListToFit[i], 0);
+ aListToFit[i] = 0;
+ changed = ETrue;
+ }
+ }
+
+ TSLOG1_OUT( "change flag = %d", changed );
+ return changed;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswDataList::CheckIfExists
+// --------------------------------------------------------------------------
+//
+TBool CTsFswDataList::CheckIfExists(const CTsFswEntry& aEntry,
+ const RTsFswArray& aList) const
+ {
+ TSLOG_CONTEXT( FitDataToListL, TSLOG_LOCAL );
+ TBool exists(EFalse);
+ TInt dataCount = aList.Count();
+ for (TInt entryIdx = 0; entryIdx < dataCount; ++entryIdx)
+ {
+ if (aList[entryIdx]->AppUid() == aEntry.AppUid())
+ {
+ exists = ETrue;
+ break;
+ }
+ }
+ TSLOG_OUT();
+ return exists;
+ }
+
+// end of file
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswengine.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -17,10 +17,11 @@
#include "tsfswengine.h"
+#include "tscpsnotifier.h"
+#include "tsfswdatalist.h"
#include "tsfsalwaysshownapplist.h"
#include "tsfshiddenapplist.h"
#include "tsfswidgetlist.h"
-#include "tsfswiconcache.h"
#include "tspreviewprovider.h"
#include "tsfswclient.h"
#include <apgtask.h>
@@ -34,7 +35,7 @@
#include "enginelogging.h"
// time to wait before refreshing content
-const TInt KContentRefreshDelay = 500000; // 0.5 sec
+const TInt KContentRefreshDelay = 50000; // 0.05 sec
// for screenshots, they are scaled down to (screensize/this_factor).
const TInt KScreenSizeFactor = 2;
@@ -42,6 +43,15 @@
// format to get a lowercase hex string prefixed with 0x
_LIT( KHexFmt, "0x%x" );
+const TUid KTsCameraUid = { 0x101F857a };
+
+//close command for widget
+const TInt KCloseWidgetCmd(9);
+//handle close cmd for s60 widgets
+_LIT(KWidgetAppName, "widgetlauncher.exe");
+//handle close cmd for CWRT widgets
+_LIT(KWidgetAppNameWgt,"wgtwidgetlauncher.exe");
+
// --------------------------------------------------------------------------
// CTsFswEngine::NewL
// --------------------------------------------------------------------------
@@ -86,20 +96,11 @@
User::LeaveIfError( iWsSession.Connect() );
User::LeaveIfError( iAppArcSession.Connect() );
- iHiddenAppList = CTsFsHiddenAppList::NewL( *this );
- iAlwaysShownAppList = CTsFsAlwaysShownAppList::NewL();
-
+ iDataList = CTsFswDataList::NewL(*this);
iWidgetsSupported = FeatureManager::FeatureSupported( KFeatureIdWebWidgets );
- if ( iWidgetsSupported )
- {
- iWidgetList = CTsFsWidgetList::NewL();
- }
-
- // create app icon retriever instance
- iAppIcons = CTsFswIconCache::NewL();
// get an initial list of tasks
- iAppDataRefreshNeeded = ETrue;
+ iDataList->SetAppDataRefreshNeeded();
CollectTasksL();
// listen for app screenshots
@@ -116,6 +117,7 @@
iSwiProp.Subscribe( iStatus );
SetActive();
}
+ iCpsWidgetPublisher = CTSCpsNotifier::NewL(*this);
}
// --------------------------------------------------------------------------
@@ -130,22 +132,8 @@
delete iUpdateStarter;
delete iPreviewProvider;
- // delete the bitmaps as the hash map cannot do that
- THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
- while ( const TInt* key = iter.NextKey() )
- {
- CFbsBitmap** value = iter.CurrentValue();
- delete *value;
- }
- iScreenshots.Close();
- delete iAppIcons;
-
- iData.ResetAndDestroy();
iWgIds.Close();
- delete iHiddenAppList;
- delete iAlwaysShownAppList;
- delete iWidgetList;
iAppArcSession.Close();
iWsSession.Close();
@@ -155,7 +143,8 @@
delete iRotaTasks[i];
}
iRotaTasks.Close();
-// delete iContextUtility;
+ delete iDataList;
+ delete iCpsWidgetPublisher;
}
// --------------------------------------------------------------------------
@@ -165,43 +154,8 @@
EXPORT_C const RTsFswArray& CTsFswEngine::FswDataL()
{
TSLOG_CONTEXT( FswDataL, TSLOG_LOCAL );
- TSLOG1_IN( "dirty flag = %d", iTaskListDirty );
-
- // check the dirty flag and refresh if needed
- if ( iTaskListDirty )
- {
- CollectTasksL();
- // dirty flag is cleared in the above call
- }
-
- // Get app icon for entries without screenshot,
- // do this only here as the app icon is not needed in case a screenshot
- // is already available.
- for ( TInt i = 0, ie = iData.Count(); i != ie; ++i )
- {
- if ( !iData[i]->ScreenshotHandle() )
- {
- CFbsBitmap* bmp;
- CFbsBitmap* mask;
- TUid appUid = iData[i]->AppUid();
- // this will leave with -46 in case of widgets if we do not have AllFiles cap
- TRAPD( err, iAppIcons->GetIconL( appUid, bmp, mask ) );
- if ( err == KErrNone && bmp )
- {
- iData[i]->SetAppIconHandles( bmp->Handle(),
- mask ? mask->Handle() : 0 );
- }
- else
- {
- iAppIcons->DefaultIcon( bmp, mask );
- iData[i]->SetAppIconHandles( bmp->Handle(),
- mask ? mask->Handle() : 0 );
- }
- }
- }
-
TSLOG_OUT();
- return iData;
+ return iDataList->FswDataL();
}
// --------------------------------------------------------------------------
@@ -218,7 +172,7 @@
// convert aWgId to an index in the list of running widgets and close widget
CloseWidgetL( -aWgId -1 );
}
- else if( !iAlwaysShownAppList->IsAlwaysShownApp( AppUidForWgIdL( aWgId ) ) )
+ else if( !iDataList->AlwaysShownApps()->IsAlwaysShownApp( AppUidForWgIdL( aWgId ) ) )
{
// send window group event to kill the app
TWsEvent event;
@@ -242,7 +196,7 @@
if ( iWidgetsSupported && aWgId < 0 )
{
// for widgets clients see a wgid that is -1*(index+1)
- const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
+ const RWidgetInfoArray& arr( iDataList->Widgets()->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
@@ -267,17 +221,14 @@
//
void CTsFswEngine::SwitchToWidgetL( TInt aWidgetIndex )
{
- const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
- RApaLsSession ls;
- User::LeaveIfError( ls.Connect() );
- CleanupClosePushL( ls );
+ const RWidgetInfoArray& arr( iDataList->Widgets()->RunningWidgets() );
CApaCommandLine* cmdLine = CApaCommandLine::NewLC();
cmdLine->SetCommandL( EApaCommandRun );
TApaAppInfo info;
iAppArcSession.GetAppInfo( info, arr[aWidgetIndex]->iUid ); // codescanner::accessArrayElementWithoutCheck2 (aWidgetIndex checked in SwitchToAppL())
cmdLine->SetExecutableNameL( info.iFullName );
- ls.StartApp( *cmdLine );
- CleanupStack::PopAndDestroy( 2, &ls );
+ iAppArcSession.StartApp( *cmdLine );
+ CleanupStack::PopAndDestroy(cmdLine);
}
// --------------------------------------------------------------------------
@@ -290,25 +241,14 @@
TSLOG_CONTEXT( UpdateTaskList, TSLOG_LOCAL );
TSLOG_IN();
- // If no clients are subscribed for fsw content change notifications
- // then there is no need to waste time with rebuilding the task list,
- // just set the dirty flag.
- TInt listenerCount = iObserver.FswDataListenerCount();
- TSLOG1( TSLOG_INFO, "listener count = %d", listenerCount );
- if ( listenerCount > 0 )
+ // There can be many calls in a row, use a timer to prevent degrading
+ // device performance.
+ if ( !iUpdateStarter->IsActive() )
{
- // There can be many calls in a row, use a timer to prevent degrading
- // device performance.
- if ( !iUpdateStarter->IsActive() )
- {
- iUpdateStarter->Start( KContentRefreshDelay, 0,
+ iUpdateStarter->Start( KContentRefreshDelay, 0,
TCallBack( UpdateStarterCallback, this ) );
- }
}
- else
- {
- iTaskListDirty = ETrue;
- }
+ iDataList->SetDirty();
// screenshot taking support - call Register and Unregister when needed
UpdatePreviewContent();
@@ -349,7 +289,7 @@
CApaWindowGroupName* wgn = CApaWindowGroupName::NewLC(
iWsSession, allWgIds[i].iId );
TUid newUid = wgn->AppUid();
- TBool hidden = wgn->Hidden() || iHiddenAppList->IsHiddenL(
+ TBool hidden = wgn->Hidden() || iDataList->HiddenApps()->IsHiddenL(
newUid, iWsSession, allWgIds[i].iId );
CleanupStack::PopAndDestroy( wgn );
@@ -410,222 +350,12 @@
TBool CTsFswEngine::CollectTasksL()
{
TSLOG_CONTEXT( CollectTasksL, TSLOG_LOCAL );
- TSLOG_IN();
-
- // clear dirty flag
- iTaskListDirty = EFalse;
-
- TBool changed = EFalse;
- RTsFswArray newList;
- CleanupResetAndDestroyPushL( newList );
-
- // update app data if needed
- // (usually on startup and when new apps might have been installed)
- if ( iAppDataRefreshNeeded )
- {
- TSLOG0( TSLOG_INFO, "refreshing app data" );
- iAppArcSession.GetAllApps();
- iAlwaysShownAppList->InitializeAlwaysShownListL();
- iAppDataRefreshNeeded = EFalse;
- }
-
- // get all window groups
- RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
- CleanupClosePushL( allWgIds );
- User::LeaveIfError( iWsSession.WindowGroupList( 0, &allWgIds ) );
- TInt count = allWgIds.Count();
-
- for ( TInt i = 0; i < count; ++i )
- {
- // ignore uninteresting entries (e.g. embedded apps)
- if ( allWgIds[i].iParentId > 0 )
- {
- continue;
- }
-
- // get window group name
- TInt wgId = allWgIds[i].iId;
- CApaWindowGroupName* windowName =
- CApaWindowGroupName::NewLC( iWsSession, wgId );
- TUid appUid = windowName->AppUid();
-
- // ignore entries with null uid
- if ( !appUid.iUid )
- {
- CleanupStack::PopAndDestroy( windowName );
- continue;
- }
-
- // will append the task to our own list only if it is not hidden
- TBool onHiddenList = iHiddenAppList->IsHiddenL(
- appUid, iWsSession, wgId );
-
- // get screen number (-1=console, 0=main screen, 1=cover ui)
- TInt appScreen = 0;
- TInt scrNumErr = iAppArcSession.GetDefaultScreenNumber( appScreen, appUid );
-
- // check if it is on always-shown list
- TBool mustShow = iAlwaysShownAppList->IsAlwaysShownApp( appUid );
-
-#ifdef _DEBUG
- const TDesC& captionDbg( windowName->Caption() );
- TSLOG4( TSLOG_INFO, "[%d] wgid=%d appuid=%x (%S)", i, wgId,
- appUid.iUid, &captionDbg );
- TSLOG4( TSLOG_INFO, "hidden=%d onhiddenlist=%d mustshow=%d scrno=%d",
- windowName->Hidden(), onHiddenList, mustShow, appScreen );
-#endif
-
- // 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
- else if ( mustShow
- || ( !onHiddenList
- && !windowName->Hidden()
- && ( appScreen == 0 || appScreen == -1 )
- && scrNumErr == KErrNone ) )
- {
- if ( AddEntryL( wgId, appUid, windowName, newList, EFalse ) )
- {
- changed = ETrue;
- }
- }
- CleanupStack::PopAndDestroy( windowName );
- }
- CleanupStack::PopAndDestroy( &allWgIds );
- 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() )
- {
- changed = ETrue;
- }
-
- // move pointers from the temporary list into the real one
- iData.ResetAndDestroy();
- TInt newListCount = newList.Count();
- TSLOG1( TSLOG_INFO, "new list count = %d", newListCount );
- for ( TInt i = 0; i < newListCount; ++i )
- {
- TSLOG3( TSLOG_INFO, "[%d] %S wgid=%d",
- i, &newList[i]->AppName(), newList[i]->WgId() );
- iData.AppendL( newList[i] );
- newList[i] = 0;
- }
- CleanupStack::PopAndDestroy( &newList );
-
+ TBool changed = iDataList->CollectTasksL();
TSLOG1_OUT( "change flag = %d", changed );
return changed;
}
-// --------------------------------------------------------------------------
-// CTsFswEngine::AddEntryL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::AddEntryL( TInt aWgId, const TUid& aAppUid,
- CApaWindowGroupName* aWgName, RTsFswArray& aNewList,
- TBool aIsWidget )
- {
- TBool changed = EFalse;
- CTsFswEntry* entry = CTsFswEntry::NewLC();
- entry->SetWgId( aWgId );
- entry->SetAppUid( aAppUid );
- entry->SetWidget( aIsWidget );
-
- // check if present in old list and if yes then take some of the old data
- TBool found = CheckIfExistsL( *entry, aAppUid, changed, aNewList );
-
- // if not present previously then find out app name
- // and check if screenshot is already available
- if ( !found )
- {
- // when adding a new entry to the list it is changed for sure
- changed = ETrue;
- HBufC* name = FindAppNameLC( aWgName, aAppUid, aWgId );
- if ( name )
- {
- entry->SetAppNameL( *name );
- }
- CleanupStack::PopAndDestroy( name );
- TInt h = LookupScreenshotHandle( aWgId );
- if ( h )
- {
- entry->SetScreenshotHandle( h );
- }
- entry->SetAlwaysShown( iAlwaysShownAppList->IsAlwaysShownApp( aAppUid ) );
- if ( aWgName )
- {
- entry->SetSystemApp( aWgName->IsSystem() );
- }
- }
-
- // add to new list, ownership is transferred
- aNewList.AppendL( entry );
- CleanupStack::Pop( entry );
- return changed;
- }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckIfExistsL
-// --------------------------------------------------------------------------
-//
-TBool CTsFswEngine::CheckIfExistsL( CTsFswEntry& aEntry,
- const TUid& aAppUid,
- TBool& aChanged,
- RTsFswArray& aNewList )
- {
- for ( TInt entryIdx = 0, oldCount = iData.Count();
- entryIdx < oldCount; ++entryIdx )
- {
- // Enough to check appuid, no need to bother with wgid as the
- // screenshot handle is up-to-date or will be updated later anyway.
- if ( iData[entryIdx]->AppUid() == aAppUid )
- {
- // if positions do not match then the list is different than before
- if ( entryIdx != aNewList.Count() )
- {
- aChanged = ETrue;
- }
- CTsFswEntry* oldEntry = iData[entryIdx];
- aEntry.SetAppNameL( oldEntry->AppName() );
- aEntry.SetScreenshotHandle( oldEntry->ScreenshotHandle() );
- aEntry.SetAlwaysShown( oldEntry->AlwaysShown() );
- aEntry.SetSystemApp( oldEntry->SystemApp() );
- return ETrue;
- }
- }
- return EFalse;
- }
-// --------------------------------------------------------------------------
-// CTsFswEngine::CheckWidgetsL
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::CheckWidgetsL( RTsFswArray& aNewList )
- {
- if( iWidgetsSupported )
- {
- iWidgetList->InitializeWidgetListL();
- const RWidgetInfoArray& arr( iWidgetList->RunningWidgets() );
- for ( TInt i = 0, ie = arr.Count(); i != ie; ++i )
- {
- //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 );
- }
- }
- }
- }
-
-// --------------------------------------------------------------------------
// CTsFswEngine::HiddenAppListUpdated
// Callback from the hidden app list watcher
// --------------------------------------------------------------------------
@@ -646,52 +376,7 @@
TUid appUid = windowName->AppUid();
CleanupStack::PopAndDestroy( windowName );
return appUid;
- }
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindParentWgId
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::FindParentWgId( TInt aWgId )
- {
- TInt parent( KErrNotFound );
- RArray<RWsSession::TWindowGroupChainInfo> allWgIds;
- // Ask for window group list from RWsSession
- TInt error = iWsSession.WindowGroupList( 0, &allWgIds );
- if ( !error )
- {
- TInt count( allWgIds.Count() );
- for ( TInt i( 0 ); i < count; i++ )
- {
- RWsSession::TWindowGroupChainInfo info = allWgIds[i];
- if ( info.iId == aWgId && info.iParentId > 0)
- {
- parent = info.iParentId;
- break;
- }
- }
- }
- allWgIds.Close();
- return parent;
- }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::FindMostTopParentWgId
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::FindMostTopParentWgId( TInt aWgId )
- {
- TInt parent( KErrNotFound );
- parent = FindParentWgId( aWgId );
- if( parent != KErrNotFound)
- {
- TInt topParent = FindMostTopParentWgId(parent);
- if( topParent != KErrNotFound )
- {
- parent = topParent;
- }
- }
- return parent;
}
// --------------------------------------------------------------------------
@@ -749,6 +434,8 @@
//
CFbsBitmap* CTsFswEngine::CopyBitmapL( TInt aFbsHandle, TBool aKeepAspectRatio )
{
+ TSLOG_CONTEXT( CopyBitmapL, TSLOG_LOCAL );
+
CFbsBitmap* ret = new (ELeave) CFbsBitmap;
CleanupStack::PushL( ret );
CFbsBitmap* bmp = new (ELeave) CFbsBitmap;
@@ -788,6 +475,7 @@
CleanupStack::PopAndDestroy( bmp );
CleanupStack::Pop( ret );
+ TSLOG_OUT();
return ret;
}
@@ -856,25 +544,24 @@
TSLOG_CONTEXT( HandleFswPpApplicationChange, TSLOG_LOCAL );
TSLOG2_IN( "aWgId = %d aFbsHandle = %d", aWgId, aFbsHandle );
+ TUid appUid;
+ TRAPD( err, appUid = AppUidForWgIdL( aWgId ) );
+ if ( err || appUid == KTsCameraUid )
+ {
+ // Dont't assign screenshot to camera app
+ TSLOG0( TSLOG_LOCAL, "Screenshot for camera - ignore" );
+ iPreviewProvider->AckPreview(aFbsHandle);
+ TSLOG_OUT();
+ return;
+ }
+
CFbsBitmap* bmp = 0;
- TRAPD( err, bmp = CopyBitmapL( aFbsHandle, EFalse ) );
+ TRAP( err, bmp = CopyBitmapL( aFbsHandle, EFalse ) );
iPreviewProvider->AckPreview(aFbsHandle);
if ( err == KErrNone )
{
- CFbsBitmap** oldbmp = iScreenshots.Find( aWgId );
- if ( oldbmp )
- {
- delete *oldbmp;
- }
- if ( iScreenshots.Insert( aWgId, bmp ) != KErrNone )
- {
- delete bmp;
- iScreenshots.Remove( aWgId );
- }
- else
- {
- AssignScreenshotHandle( aWgId, bmp->Handle() );
- }
+ StoreScreenshot(aWgId, bmp);
+ iDataList->MoveEntryAtStart(appUid.iUid, EFalse);
}
TSLOG_OUT();
@@ -890,14 +577,8 @@
TSLOG_CONTEXT( HandleFswPpApplicationUnregistered, TSLOG_LOCAL );
TSLOG1_IN( "aWgId = %d", aWgId );
- CFbsBitmap** bmp = iScreenshots.Find( aWgId );
- if ( bmp )
- {
- delete *bmp;
- iScreenshots.Remove( aWgId );
- AssignScreenshotHandle( aWgId, 0 );
- }
-
+ RemoveScreenshot(aWgId);
+
TSLOG_OUT();
}
@@ -911,15 +592,14 @@
TSLOG_CONTEXT( HandleFswPpApplicationBitmapRotation, TSLOG_LOCAL );
TSLOG1_IN( "aWgId = %d", aWgId );
- CFbsBitmap** bmp = iScreenshots.Find( aWgId );
+ CFbsBitmap** bmp = iDataList->FindScreenshot(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 );
+ RemoveScreenshot(aWgId);
}
TSLOG_OUT();
@@ -968,16 +648,7 @@
if ( aError == KErrNone )
{
- if ( iScreenshots.Insert( aWgId, aBitmap ) != KErrNone )
- {
- delete aBitmap;
- iScreenshots.Remove( aWgId );
- AssignScreenshotHandle( aWgId, 0 );
- }
- else
- {
- AssignScreenshotHandle( aWgId, aBitmap->Handle() );
- }
+ StoreScreenshot(aWgId, aBitmap);
}
else
{
@@ -988,97 +659,6 @@
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
-// application then into standalone one.
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::AssignScreenshotHandle( TInt aWgIdForScreenshot,
- TInt aBitmapHandle )
- {
- TBool changed = EFalse;
- TInt parentWgId = FindMostTopParentWgId( aWgIdForScreenshot );
- // now parentWgId is a valid wgid or KErrNotFound (-1)
- if (parentWgId != KErrNotFound)
- {
- AssignScreenshotHandle( parentWgId, aBitmapHandle, changed );
- }
- if (!changed)
- {
- AssignScreenshotHandle( aWgIdForScreenshot, aBitmapHandle, changed );
- }
- if ( changed )
- {
- iObserver.FswDataChanged();
- }
- }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::AssignScreenshotHandle
-// Called when a screenshot arrives to check if there is a corresponding
-// application in the task list. It might be tried to be match into parental
-// or standalone application.
-// --------------------------------------------------------------------------
-//
-void CTsFswEngine::AssignScreenshotHandle(TInt aWgIdForScreenshot,
- TInt aBitmapHandle, TBool& aAsigned)
- {
- aAsigned = EFalse;
- for (TInt i = 0, ie = iData.Count(); i != ie; ++i)
- {
- if (iData[i]->Widget())
- {
- // Do not do anything for now => no screenshot for widgets.
- continue;
- }
- TInt appWgId = iData[i]->WgId();
- if (appWgId == aWgIdForScreenshot)
- {
- iData[i]->SetScreenshotHandle(aBitmapHandle);
- aAsigned = ETrue;
- break;
- }
- }
- }
-
-// --------------------------------------------------------------------------
-// CTsFswEngine::LookupScreenshotHandle
-// Called to check if there is a screenshot already stored for the given
-// app. (or a screenshot with a wgid for which aWgIdForApp is the parent)
-// --------------------------------------------------------------------------
-//
-TInt CTsFswEngine::LookupScreenshotHandle( TInt aWgIdForApp )
- {
- CFbsBitmap** bmp = iScreenshots.Find( aWgIdForApp );
- if ( bmp )
- {
- // there is a screenshot stored for this wgid
- return (*bmp)->Handle();
- }
- else if ( aWgIdForApp > 0 )
- {
- // must check if there is a screenshot for which aWgIdForApp is the parent
- THashMapIter<TInt, CFbsBitmap*> iter( iScreenshots );
- while ( const TInt* wgid = iter.NextKey() )
- {
- if ( FindParentWgId( *wgid ) == aWgIdForApp )
- {
- CFbsBitmap** bmp = iter.CurrentValue();
- return (*bmp)->Handle();
- }
- }
- }
- else if ( aWgIdForApp < 0 )
- {
- // Must be a widget, wgid is useless in this case.
- // Do not do anything for now => no screenshot for widgets.
- }
- return 0;
- }
-
// --------------------------------------------------------------------------
// CTsFswEngine::RunL
// --------------------------------------------------------------------------
@@ -1095,7 +675,7 @@
// refresh the app list during the next task list update.
if ( operationStatus == Swi::ESwisStatusSuccess )
{
- iAppDataRefreshNeeded = ETrue;
+ iDataList->SetAppDataRefreshNeeded();
}
}
iSwiProp.Subscribe( iStatus );
@@ -1160,15 +740,12 @@
{
TSLOG_CONTEXT( CloseWidgetL, TSLOG_LOCAL );
TSLOG1_IN( "aOffset = %d", aOffset );
- if( iWidgetList->RunningWidgets().Count() <= aOffset )
+ if( iDataList->Widgets()->RunningWidgets().Count() <= aOffset )
{
User::Leave(KErrArgument);
}
- const CWidgetInfo* widgetInfo(iWidgetList->RunningWidgets()[aOffset]);
+ const CWidgetInfo* widgetInfo(iDataList->Widgets()->RunningWidgets()[aOffset]);
const TPtrC bundleName(*widgetInfo->iBundleName);
- RApaLsSession ls;
- User::LeaveIfError( ls.Connect() );
- CleanupClosePushL( ls );
CApaCommandLine* const cmdLine = CApaCommandLine::NewLC();
HBufC8* const
@@ -1185,14 +762,78 @@
cmdLine->SetCommandL( EApaCommandBackgroundAndWithoutViews );
cmdLine->SetOpaqueDataL( *opaque );
CleanupStack::PopAndDestroy( opaque );
- cmdLine->SetExecutableNameL( KWidgetAppName );
- ls.StartApp( *cmdLine );
+
+ if (iDataList->Widgets()->IsCWRTWidget(widgetInfo->iUid))
+ {
+ cmdLine->SetExecutableNameL( KWidgetAppNameWgt);
+ }
+ else
+ {
+ cmdLine->SetExecutableNameL( KWidgetAppName );
+ }
+
+ iAppArcSession.StartApp( *cmdLine );
CleanupStack::PopAndDestroy( cmdLine );
- CleanupStack::PopAndDestroy( &ls );
TSLOG_OUT();
}
+// --------------------------------------------------------------------------
+// CTsFswEngine::StoreScreenshot
+// --------------------------------------------------------------------------
+//
+TBool CTsFswEngine::StoreScreenshot(TInt aWgId, CFbsBitmap* aBmp)
+ {
+ TSLOG_CONTEXT( StoreScreenshot, TSLOG_LOCAL );
+ //iDataList would take ownership
+ TBool change = EFalse;
+ change = iDataList->StoreScreenshot(aWgId, aBmp);
+ if(change)
+ {
+ iObserver.FswDataChanged();
+ }
+ TSLOG1_OUT( "Screenshot for = %d", aWgId );
+ return change;
+ }
+// --------------------------------------------------------------------------
+// CTsFswEngine::RemoveScreenshot()
+// --------------------------------------------------------------------------
+//
+void CTsFswEngine::RemoveScreenshot(TInt aWgId)
+ {
+ TBool change = EFalse;
+ change = iDataList->RemoveScreenshot(aWgId);
+ if( change )
+ {
+ iObserver.FswDataChanged();
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CTsFswEngine::HandleWidgetUpdateL()
+// --------------------------------------------------------------------------
+//
+void CTsFswEngine::HandleWidgetUpdateL(TInt aWidgetId, TInt aBitmapHandle)
+ {
+ TSLOG_CONTEXT( HandleWidgetUpdateL, TSLOG_LOCAL );
+ CFbsBitmap* bmp = 0;
+ TBool contentChanged(EFalse);
+ if( aBitmapHandle )
+ {
+ TRAPD( err, bmp = CopyBitmapL( aBitmapHandle, EFalse ) );
+ if ( err == KErrNone )
+ {
+ contentChanged = StoreScreenshot(aWidgetId, bmp);
+ }
+ }
+ if(!contentChanged)
+ {
+ iObserver.FswDataChanged();
+ }
+
+ iDataList->MoveEntryAtStart(aWidgetId, ETrue);
+ TSLOG_OUT();
+ }
// --------------------------------------------------------------------------
// CTsRotationListener::CTsRotationListener
--- a/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/contextengine/tsfswserver/engine/src/tsfswidgetlist.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -18,6 +18,7 @@
#include "tsfswidgetlist.h"
#include <widgetregistrydata.h>
+#include <widgetregistryconstants.h>
// --------------------------------------------------------------------------
// CTsFsWidgetList::NewL
@@ -91,5 +92,35 @@
}
}
+// --------------------------------------------------------------------------
+// CTsFsWidgetList::IsCWRTWidget
+// --------------------------------------------------------------------------
+//
+TBool CTsFsWidgetList::IsCWRTWidget( TUid aUid )
+ {
+ TBool ret(EFalse);
+ if(IsValBetween(KWidgetUidCWRTInternalMemoryStart,
+ KWidgetUidCWRTInternalMemoryStop, aUid.iUid) ||
+ IsValBetween(KWidgetUidCWRTExternalMemoryStart,
+ KWidgetUidCWRTExternalMemoryStop, aUid.iUid) )
+ {
+ ret = ETrue;//it is cwrt widget
+ }
+ return ret;
+ }
+
+// --------------------------------------------------------------------------
+// CTsFsWidgetList::IsValBetween
+// --------------------------------------------------------------------------
+//
+TBool CTsFsWidgetList::IsValBetween( TInt aMinor, TInt aMajor, TInt aBetween )
+ {
+ TBool ret(EFalse);
+ if ( aBetween >= aMinor && aBetween < aMajor )
+ {
+ ret = ETrue;
+ }
+ return ret;
+ }
// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/data/taskswitcher.rss Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/data/taskswitcher.rss Wed Mar 31 21:17:19 2010 +0300
@@ -275,6 +275,7 @@
RESOURCE TBUF r_ts_fsw_activate { buf = qtn_task_switcher_popup_open_app; }
RESOURCE TBUF r_ts_fsw_close { buf = qtn_task_switcher_popup_close_app; }
RESOURCE TBUF r_ts_fsw_close_all { buf = qtn_task_switcher_popup_close_all; }
+RESOURCE TBUF r_ts_fsw_no_apps { buf = qtn_task_switcher_no_apps; }
RESOURCE TBUF r_ts_fsw_confirm_close { buf = qtn_memlo_confirm_close; }
RESOURCE TBUF r_task_switcher_heading_applications { buf = qtn_task_switcher_heading_applications; }
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappui.h Wed Mar 31 21:17:19 2010 +0300
@@ -96,6 +96,11 @@
void RequestPopUpL();
void DisablePopUpL();
+ /**
+ * Function for layout change check
+ */
+ TBool LayoutChangeAllowed();
+
public:
/**
* From MTsCenrepChangeObserver
@@ -182,6 +187,10 @@
// Monitors popup mode
TBool iIsPopUpShown;
+ // For starting in background
+ TBool iUiStarted;
+ TBool iDisableAppKeyHandling;
+
};
#endif // TSAPPUI_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsappview.h Wed Mar 31 21:17:19 2010 +0300
@@ -102,6 +102,12 @@
* background redraw.
*/
void OrderFullWindowRedraw();
+
+ /**
+ * Orders window invalidation to perform full
+ * background redraw.
+ */
+ void EnableDragEvents( TBool aEnable );
protected:
// from MCoeControlObserver
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tseventcontroler.h Wed Mar 31 21:17:19 2010 +0300
@@ -168,6 +168,7 @@
* EFalse - disables event handling
*/
void EnableEventHandling( TBool aEnable );
+ void EnableDragEventHandling( TBool aEnable );
private:
/**
@@ -189,6 +190,7 @@
* Flag to enable/disable event handling
*/
TBool iHandleEvents;
+ TBool iHandleDragEvents;
};
#endif // TSEVENTCONTROLER_H
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswaparea.h Wed Mar 31 21:17:19 2010 +0300
@@ -290,12 +290,6 @@
* Sends the data-changed notification.
*/
void NotifyChange();
-
- /**
- * Chage application order.
- * move Homescreen to first left position.
- */
- void SwapApplicationOrder( RPointerArray<CTsFswEntry>& aArray );
/**
* Retrieves and returns size for image graphics.
@@ -416,7 +410,6 @@
CTsEventControler& iEvtHandler;
TInt iMaxItemsOnScreen;
- TInt iPreviousNoOfItems;
// Tap event
TPointerEvent iTapEvent;
--- a/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/inc/tsfastswapgrid.h Wed Mar 31 21:17:19 2010 +0300
@@ -77,9 +77,9 @@
public: // From CCoeControl
void HandlePointerEventL( const TPointerEvent &aPointerEvent );
- TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
void HandleResourceChange( TInt aType );
void SizeChanged();
+ void Draw( const TRect& aRect ) const;
public: //From MTsDeviceStateObserver
/**
@@ -117,6 +117,23 @@
void ResetCloseHit();
/**
+ * Sets color for the screenshot stroke.
+ *
+ * @param aColor color for the thumbnail
+ * @param aHighlightedColor color for thumbnail when item is highlighted
+ */
+ void SetStrokeColors( TRgb aColor,
+ TRgb aHighlightedColor );
+
+ /**
+ * Sets items for which stroke will be drawn
+ *
+ * @param aItemIndex array of item indexes for which stroke
+ * is drawn
+ */
+ void SetStrokeItemsL( RArray<TInt>& aItemIndex );
+
+ /**
* Sets grid behaviour
*
* @param aBehaviour behaviour to be set
@@ -158,45 +175,6 @@
* Returns visible view. Items outside of visible rectangle are not drawn.
*/
TRect VisibleViewRect();
-
- /**
- * Launch tactile ETouchFeedbackSensitive feedback.
- */
- void LaunchTactileFeedback();
-
- /**
- * Set tactile feedback support.
- *
- * @param aSupport new support value
- */
- void SetTactileFeedbackSupport(TBool aSupport);
-
- /**
- * Remove item from iFullyVisibleItems and iPartialVisibleItems arrays
- *
- * @param aItem idem index
- * @return ETrue if item was removed
- * EFalse if item was not found
- */
- TBool RemoveFromVisibleItems(TInt aItem) const;
-
- /**
- * Add item to iFullyVisibleItems array
- *
- * @param aItem idem index
- * @return ETrue if item was added
- * EFalse if item was not added because it was there before
- */
- TBool AddToFullyVisibleItems(TInt aItem) const;
-
- /**
- * Remove item from iPartialVisibleItems array
- *
- * @param aItem idem index
- * @return ETrue if item was removed
- * EFalse if item was not removed because it was not found
- */
- TBool MoveToPartialVisibleItems(TInt aItem) const;
private: // From CAknGrid
virtual void CreateItemDrawerL();
@@ -209,7 +187,7 @@
/**
* Loads close icon bitmap and mask
*/
- void LoadCloseIcon();
+ void LoadCloseIconAndStrokeParams();
/**
* Redraws grid and parent controls
@@ -221,9 +199,6 @@
// Grid's parent
const CCoeControl* iParent;
- // Background context for grid
- CAknsFrameBackgroundControlContext* iBgContext;
-
// Close icon handling
RArray<TInt> iCloseItems;
TInt iCloseIconHitIdx;
@@ -236,13 +211,6 @@
// Visible view rectangle (horizontal scrolling support)
TRect iVisibleViewRect;
-
- // Feedback support
- TBool iTactileFeedbackSupport;
- CTsFastSwapTimer* iFeedbackTimer;
-
- mutable RArray<TInt> iFullyVisibleItems;
- mutable RArray<TInt> iPartialVisibleItems;
};
@@ -265,7 +233,8 @@
* Sets close icon drawn for items that can be closed.
* Ownership transferred.
*/
- void SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask );
+ void SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aBmpMask,
+ CFbsBitmap* aBmpPressed, CFbsBitmap* aBmpPressedMask );
/**
* Initializes close icon rectangles.
@@ -296,6 +265,33 @@
* if set to EFalse, background will not be redrawn
*/
void SetRedrawBackground( TBool aEnable );
+
+ /**
+ * Sets color for the screenshot stroke.
+ *
+ * @param aColor color for the thumbnail
+ * @param aHighlightedColor color for thumbnail when item is highlighted
+ */
+ void SetStrokeColors( TRgb aNormalColor,
+ TRgb aHighlightedColor );
+
+ /**
+ * Sets items for which stroke will be drawn
+ *
+ * @param aItemIndex array of item indexes for which stroke
+ * is drawn.
+ */
+ void SetStrokeItemsL( RArray<TInt>& aItemIndex );
+
+ /**
+ * Sets stroke offset and size: values must be relative
+ * to item rectangle.
+ *
+ * @param aStrokeOffset offset of the stroke rectangle relative
+ * to item rectangle
+ * @param aStrokeSize size of the stroke rectangle
+ */
+ void SetStrokeOffset( TPoint aStrokeOffset, TSize aStrokeSize );
private: // From CFormattedCellListBoxItemDrawer
void DrawActualItem( TInt aItemIndex, const TRect& aActualItemRect,
@@ -333,16 +329,24 @@
// Owned
CFbsBitmap* iCloseIcon;
CFbsBitmap* iCloseIconMask;
+ CFbsBitmap* iCloseIconPressed;
+ CFbsBitmap* iCloseIconPressedMask;
TRect iScreenRect;
TInt iLeftOffset;
TInt iRightOffset;
- // Layout data
+ // Close button data
TRect iCloseIconRect;
TRect iCloseButtonRect;
TBool iRedrawBackground;
+
+ // Stroke data
+ TRgb iStrokeColor;
+ TRgb iHighlightStrokeColor;
+ RArray<TInt> iStrokeItems;
+ TRect iStrokeRect;
};
--- a/taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/loc/taskswitcher.loc Wed Mar 31 21:17:19 2010 +0300
@@ -43,6 +43,12 @@
//
#define qtn_task_switcher_heading_applications "Open applications"
+//d:Text for no appliactions
+//l:none
+//r:5.0
+//
+#define qtn_task_switcher_no_apps "No open application"
+
//d:Text for appliactions that has no name
//l:none
//r:5.0
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappui.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -60,7 +60,7 @@
// time to wait before sending the task to background
// (must give time to animation)
-const TInt KWaitBeforeGoingToBackground = 100000;
+const TInt KWaitBeforeGoingToBackground = 175000;
// -----------------------------------------------------------------------------
// CTsAppUi::ConstructL()
@@ -144,10 +144,12 @@
// And finally, go to background.
MoveAppToBackground( ENoneTransition );
- iEikonEnv->RootWin().SetOrdinalPosition(-1);
+ iEikonEnv->RootWin().SetOrdinalPosition(-1, ECoeWinPriorityNeverAtFront);
iEikonEnv->RootWin().EnableReceiptOfFocus(EFalse);
iIsPopUpShown = EFalse;
+ iUiStarted = EFalse;
+ iDisableAppKeyHandling = EFalse;
TSLOG_OUT();
}
@@ -336,14 +338,27 @@
// Both this function and the 'manual' MoveAppTo functions must fire the events
// because in some cases only one of them will run (e.g. when bringing to foreground
// not with the hw key but by other means etc.)
+ iDisableAppKeyHandling = EFalse;
+ if ( !iUiStarted )
+ {
+ // Ignore foreground events if UI is starting
+ return;
+ }
if ( aForeground )
{
HandleSwitchToForegroundEvent();
}
// exclude cases with dialogs like power menu, memory card
- else if( !IsFaded())
+ else
{
- HandleSwitchToBackgroundEvent();
+ if( !IsFaded() )
+ {
+ HandleSwitchToBackgroundEvent();
+ }
+ else
+ {
+ iDisableAppKeyHandling = ETrue;
+ }
}
// Call Base class method
@@ -381,12 +396,12 @@
{
MoveAppToBackground( EBackgroundTransition );
}
- else
+ else if( !iDisableAppKeyHandling )
{
iAppView->HandleAppKey(KAppKeyTypeLong);
}
}
- else if( value & KTaskswitcherShortAppKeyPressed )
+ else if( value & KTaskswitcherShortAppKeyPressed && !iDisableAppKeyHandling )
{
iAppView->HandleAppKey(KAppKeyTypeShort);
}
@@ -413,18 +428,10 @@
// Must call base class implementation first,
// sizes from LayoutMetricsRect etc. will only be correct after this.
CAknAppUi::HandleResourceChangeL( aType );
- if( aType == KEikDynamicLayoutVariantSwitch && iAppView )
+ if( aType == KEikDynamicLayoutVariantSwitch && iAppView && !LayoutChangeAllowed() )
{
- // Check if layout switch is necessary
- TSizeMode mode = iEikonEnv->ScreenDevice()->GetCurrentScreenModeAttributes();
- TBool isLandscape = mode.iScreenSize.iWidth > mode.iScreenSize.iHeight;
- TRect appRect = ApplicationRect();
- TBool isAppLandscape = appRect.Width() > appRect.Height();
- if(isLandscape != isAppLandscape)
- {
- // Keep displayed orientation
- return;
- }
+ // Keep displayed orientation
+ return;
}
// forward event
iDeviceState->HandleResourceChange( aType );
@@ -500,6 +507,8 @@
TSLOG_CONTEXT( MoveAppToForeground, TSLOG_LOCAL );
TSLOG_IN();
+ iUiStarted = ETrue;
+
// Request window server to bring our application
// to foreground
iApplicationTask.BringToForeground();
@@ -529,6 +538,8 @@
// notify view
iAppView->HandleSwitchToBackgroundEvent();
+
+ iWg.SetOrdinalPosition(-1, ECoeWinPriorityNormal);
}
TSLOG_OUT();
@@ -558,6 +569,8 @@
// notify view
iAppView->HandleSwitchToForegroundEvent();
+
+ iWg.SetOrdinalPosition(iWg.OrdinalPosition(), ECoeWinPriorityAlwaysAtFront);
}
TSLOG_OUT();
@@ -661,4 +674,28 @@
TSLOG_OUT();
}
+
+// -----------------------------------------------------------------------------
+// CTsAppUi::LayoutCanBeChanged
+// -----------------------------------------------------------------------------
+//
+TBool CTsAppUi::LayoutChangeAllowed()
+ {
+ // Check if layout switch is necessary
+ TSizeMode mode = iEikonEnv->ScreenDevice()->GetCurrentScreenModeAttributes();
+ TBool isLandscape = mode.iScreenSize.iWidth > mode.iScreenSize.iHeight;
+ TRect appRect = ApplicationRect();
+ TBool isAppLandscape = appRect.Width() > appRect.Height();
+ TBool retVal;
+ if(isLandscape != isAppLandscape)
+ {
+ retVal = EFalse;
+ }
+ else
+ {
+ retVal = ETrue;
+ }
+ return retVal;
+ }
+
// End of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsappview.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -134,7 +134,7 @@
KAknsIIDQsnFrPopup,
iBgContextOuterRect,
iBgContextInnerRect,
- ETrue );
+ EFalse );
iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
@@ -309,6 +309,7 @@
iViewRect = Rect();
UpdatePopupRects();
iBgContext->SetFrameRects(iBgContextOuterRect, iBgContextInnerRect);
+ iBgContext->SetParentPos(PositionRelativeToScreen());
if ( iFastSwapArea && iAppsHeading )
{
RArray<TRect> rects;
@@ -456,6 +457,14 @@
TSLOG_CONTEXT( CTsAppView::HandleSwitchToForegroundEvent, TSLOG_LOCAL );
TSLOG_IN();
+ // Check for layout updates
+ CTsAppUi* appUi = static_cast<CTsAppUi*>(iCoeEnv->AppUi());
+ if ( iViewRect != appUi->ApplicationRect() &&
+ appUi->LayoutChangeAllowed() )
+ {
+ HandleDeviceStateChanged( EOrientation );
+ }
+
Window().Invalidate(Rect());
iEvtHandler->EnableEventHandling(ETrue);
@@ -470,6 +479,7 @@
// Forward event to interested controls
iFastSwapArea->HandleSwitchToForegroundEvent();
+ iFastSwapArea->UpdateComponentVisibility();
// Start animation
CTsAppUi* appui =
@@ -667,6 +677,16 @@
// -----------------------------------------------------------------------------
+// CTsAppView::EnableDragEvents
+// -----------------------------------------------------------------------------
+//
+void CTsAppView::EnableDragEvents( TBool aEnable )
+ {
+ iEvtHandler->EnableDragEventHandling( aEnable );
+ }
+
+
+// -----------------------------------------------------------------------------
// CTsAppView::MoveOffset
// -----------------------------------------------------------------------------
//
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tseventcontroler.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -66,7 +66,8 @@
:
CBase(),
iObserver(aObserver),
- iHandleEvents(ETrue)
+ iHandleEvents(ETrue),
+ iHandleDragEvents(ETrue)
{
}
@@ -134,10 +135,13 @@
void CTsEventControler::HandleDragEventL(
MAknTouchGestureFwDragEvent& aEvent)
{
- iObserver.DragL(aEvent);
- if ( iHandleEvents )
+ if ( iHandleDragEvents )
{
- iPhysicsHelper->HandleDragEvent(aEvent);
+ iObserver.DragL(aEvent);
+ if ( iHandleEvents && iHandleDragEvents )
+ {
+ iPhysicsHelper->HandleDragEvent(aEvent);
+ }
}
}
@@ -221,4 +225,18 @@
}
}
+
+// -----------------------------------------------------------------------------
+// EnableDragEventHandling
+// -----------------------------------------------------------------------------
+//
+void CTsEventControler::EnableDragEventHandling( TBool aEnable )
+ {
+ iHandleDragEvents = aEnable;
+ if ( !aEnable && IsPhysicsRunning() )
+ {
+ iPhysicsHelper->Stop();
+ }
+ }
+
// end of file
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswaparea.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -50,15 +50,8 @@
/** Number of closable applications, to show "close all" option. */
const TInt KTsMaxClosableApps = 2;
-/** Uid of Active Idle application.
- Used when movind Ai to specified position.*/
-const TUid KAiUid = TUid::Uid( 0x102750F0 );
-
-/** Position of Ai in fsw grid.*/
-const TInt KAiPosition = 0;
-
/** Default grid item to highlight.*/
-const TInt KItemToHighlight = 3;
+const TInt KItemToHighlight = 2;
const TInt KAppKeyTypeShort = 1;
const TInt KAppKeyTypeLong = 2;
@@ -110,7 +103,7 @@
CTsDeviceState& aDeviceState,
CTsEventControler& aEventHandler) :
iParent(aParent), iDeviceState(aDeviceState), iEvtHandler(aEventHandler),
- iPreviousNoOfItems(0), iIgnoreLayoutSwitch(EFalse)
+ iIgnoreLayoutSwitch(EFalse)
{
// no implementation required
}
@@ -224,16 +217,17 @@
// Text colors
TRgb textColor;
AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), textColor,
- KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG6 );
+ KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG19 );
TRgb highlightTextColor;
AknsUtils::GetCachedColor( AknsUtils::SkinInstance(), highlightTextColor,
KAknsIIDQsnTextColors, EAknsCIQsnTextColorsCG11 );
CFormattedCellListBoxData::TColors colors;
- colors.iText = textColor;
+ colors.iText = textColor;
colors.iBack = iGrid->ItemDrawer()->BackColor();
colors.iHighlightedText = highlightTextColor;
colors.iHighlightedBack = iGrid->ItemDrawer()->HighlightedBackColor();
iGrid->ItemDrawer()->FormattedCellData()->SetSubCellColorsL(1, colors);
+ iGrid->SetStrokeColors(textColor, highlightTextColor);
// Setup grid observers
if ( obs )
@@ -264,8 +258,6 @@
}
iGridItemWidth = gridItem.Rect().Width();
- iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(EFalse);
-
// Update state
HandleDeviceStateChanged( EDeviceType );
if( wasHighlight )
@@ -277,6 +269,10 @@
iGrid->HideHighlight();
}
+ HBufC* text = StringLoader::LoadLC( R_TS_FSW_NO_APPS );
+ iGrid->SetEmptyGridTextL( *text );
+ CleanupStack::PopAndDestroy( text );
+
// Make sure that there is an ActivateL call even when we are not
// called from ConstructL. (in order to have the grid's parent ptr set properly)
ActivateL();
@@ -432,12 +428,14 @@
delete iArray[aIndex];
iArray.Remove( aIndex );
NotifyChange();
- if ( !aSuppressRendering )
+
+ // Hide highlight
+ if ( iGrid->GridBehaviour() == CTsFastSwapGrid::ETouchOnly )
{
- RenderContentL( ETrue );
+ iGrid->HideHighlight();
}
- // Update item selection on the screen if last item was deleted
- TInt newItemCount = GridItemCount();
+ // Update selection
+ TInt newItemCount = GridItemCount() - 1;
if ( aIndex == newItemCount )
{
newItemCount--;
@@ -445,9 +443,13 @@
}
else
{
- DrawDeferred();
iGrid->SetCurrentDataIndex(selIdx);
}
+ // Render contect
+ if ( !aSuppressRendering )
+ {
+ RenderContentL( ETrue );
+ }
// Orientation update
iPrevScreenOrientation = GetCurrentScreenOrientation();
@@ -479,7 +481,7 @@
{
RenderContentL();
RestoreSelectedIndex();
- UpdateGrid();
+ UpdateGrid( ETrue, EFalse );
}
}
@@ -544,7 +546,6 @@
// get current content from fastswap server
iFSClient->GetContentL( iArray );
- SwapApplicationOrder( iArray );
#ifdef _DEBUG
for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
@@ -581,6 +582,8 @@
CleanupStack::PushL( textArray );
RArray<TInt> closeItemArray;
CleanupClosePushL(closeItemArray);
+ RArray<TInt> strokeItemArray;
+ CleanupClosePushL(strokeItemArray);
TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
RArray<TAknLayoutRect> rects;
@@ -591,6 +594,8 @@
CleanupStack::PopAndDestroy(&rects);
if ( iArray.Count() )
{
+ iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(EFalse);
+ static_cast<CTsAppView*>(&iParent)->EnableDragEvents(ETrue);
if ( AknLayoutUtils::LayoutMirrored() )
{
iGrid->SetLayoutL( EFalse, EFalse, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
@@ -600,6 +605,11 @@
iGrid->SetLayoutL( EFalse, ETrue, ETrue, iArray.Count(), 1, gridItem.Rect().Size(), iGridItemGap );
}
}
+ else
+ {
+ iGrid->ItemDrawer()->ColumnData()->SetDrawBackground(ETrue);
+ static_cast<CTsAppView*>(&iParent)->EnableDragEvents(EFalse);
+ }
for ( TInt i = 0, ie = iArray.Count(); i != ie; ++i )
{
@@ -623,10 +633,16 @@
CFbsBitmap* mask = 0;
if ( !h )
{
+ // No screenshot, take app icon
h = iArray[i]->AppIconBitmapHandle();
maskh = iArray[i]->AppIconMaskHandle();
TSLOG1( TSLOG_INFO, "using appicon, handle = %d", h );
}
+ else
+ {
+ // Screenshot exists, mark it for stroke
+ strokeItemArray.AppendL(i);
+ }
__ASSERT_DEBUG( h, User::Invariant() );
bitmap = CopyBitmapL( h, sz );
CleanupStack::PushL( bitmap );
@@ -658,8 +674,10 @@
}
iGrid->ItemDrawer()->FormattedCellData()->SetIconArrayL(iconArray);
iGrid->SetCloseItemsL(closeItemArray);
+ iGrid->SetStrokeItemsL(strokeItemArray);
// Cleanup
+ CleanupStack::PopAndDestroy(&strokeItemArray);
CleanupStack::PopAndDestroy(&closeItemArray);
CleanupStack::Pop(textArray);
CleanupStack::Pop(iconArray);
@@ -671,15 +689,7 @@
}
// refresh the items in the grid
- if(iPreviousNoOfItems < iArray.Count())
- {
- iGrid->HandleItemAdditionL();
- }
- else if(iPreviousNoOfItems > iArray.Count())
- {
- iGrid->HandleItemRemovalL();
- }
- iPreviousNoOfItems = iArray.Count();
+ iGrid->HandleItemAdditionL();
iEvtHandler.ReInitPhysicsL( GridWorldSize(), ViewSize(), ETrue );
UpdateGrid( ETrue, !aSuppressAnimation );
@@ -703,7 +713,6 @@
// do not always use aSize, preserving the aspect ratio is quite
// important when showing app icons instead of screenshots
TSize sz = CalculateSizePreserveRatio( aSize, bmp->SizeInPixels() );
-
User::LeaveIfError( ret->Create( sz, bmp->DisplayMode() ) );
AknIconUtils::ScaleBitmapL( sz, ret, bmp );
@@ -757,12 +766,6 @@
// Reset grid
TRAP_IGNORE( ReCreateGridL() );
-
- // get the current task list
- HandleFswContentChanged();
- // and then start listening for changes
- iFSClient->Subscribe( *this );
-
if ( iDeviceState.DeviceType() == CTsDeviceState::EFullTouch )
{
iGrid->HideHighlight();
@@ -772,6 +775,11 @@
iGrid->ShowHighlight();
}
+ // get the current task list
+ HandleFswContentChanged();
+ // and then start listening for changes
+ iFSClient->Subscribe( *this );
+
RestoreSelectedIndex();
UpdateGrid(EFalse, EFalse);
@@ -816,7 +824,6 @@
TEventCode aType )
{
iKeyEvent = ETrue;
- iGrid->SetTactileFeedbackSupport(EFalse);
// handle the 'clear' key
if ( aType == EEventKey && aKeyEvent.iCode == EKeyBackspace )
{
@@ -913,7 +920,6 @@
void CTsFastSwapArea::HandlePointerEventL( const TPointerEvent& aPointerEvent )
{
iKeyEvent = EFalse;
- iGrid->SetTactileFeedbackSupport(ETrue);
if(aPointerEvent.iType == TPointerEvent::EButton1Down)
{
iTapEvent = aPointerEvent;
@@ -947,7 +953,7 @@
iSavedSelectedIndex = KErrNotFound;
if ( GridItemCount() )
{
- // highlight second recent item (that has index 2) if possible
+ // highlight second recent item (that has index 1) if possible
TInt highlightItem = 0;
TInt count = GridItemCount();
while( highlightItem < count
@@ -1137,26 +1143,6 @@
}
// -----------------------------------------------------------------------------
-// CTsFastSwapArea::SwapApplicationOrder
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapArea::SwapApplicationOrder(
- RPointerArray<CTsFswEntry>& aArray )
- {
- for ( TInt i = 0; i < aArray.Count(); ++i )
- {
- if( aArray[i]->AppUid() == KAiUid )
- {
- CTsFswEntry* homescreenEntry(0);
- homescreenEntry = aArray[i];
- aArray.Remove(i);
- aArray.Insert(homescreenEntry, KAiPosition);
- break;
- }
- }
- }
-
-// -----------------------------------------------------------------------------
// CTsFastSwapArea::PreferredImageSize
// -----------------------------------------------------------------------------
//
@@ -1219,20 +1205,16 @@
const TSize& aTargetAreaSize,
const TSize& aSourceSize )
{
- TSize sz;
- if ( aSourceSize.iWidth > aSourceSize.iHeight )
- {
- sz.iWidth = aTargetAreaSize.iWidth;
- TReal ratio = aSourceSize.iWidth / (TReal) aSourceSize.iHeight;
- sz.iHeight = sz.iWidth / ratio;
- }
- else
- {
- sz.iHeight = aTargetAreaSize.iHeight;
- TReal ratio = aSourceSize.iHeight / (TReal) aSourceSize.iWidth;
- sz.iWidth = sz.iHeight / ratio;
- }
- return sz;
+ const TReal
+ resizedAspectRatio(aTargetAreaSize.iWidth/(TReal)aTargetAreaSize.iHeight);
+ const TReal
+ orginalAspectRatio(aSourceSize.iWidth/(TReal)aSourceSize.iHeight);
+ //this condition avoid empty margins ( bigger output ). to realy fit area change it
+ const TReal scaleFactor =
+ ( orginalAspectRatio > resizedAspectRatio ) ?
+ (aTargetAreaSize.iHeight /(TReal)aSourceSize.iHeight) ://scale by height
+ (aTargetAreaSize.iWidth /(TReal)aSourceSize.iWidth) ;//scale by width
+ return TSize(aSourceSize.iWidth * scaleFactor, aSourceSize.iHeight * scaleFactor);
}
// --------------------------------------------------------------------------
@@ -1242,7 +1224,6 @@
void CTsFastSwapArea::SelectNextItem()
{
iKeyEvent = ETrue;
- iGrid->SetTactileFeedbackSupport(EFalse);
TBool forceRedraw(ETrue);
TBool animate(ETrue);
TInt selectedItem = SelectedIndex();
@@ -1282,7 +1263,7 @@
TPoint absViewPos = ViewPos();
absViewPos.iX -= Rect().Width() / 2;
if( !iEvtHandler.IsPhysicsRunning() &&
- ( absViewPos.iX < 0 || absViewPos.iX + Rect().Width() > GridWorldSize().iWidth )
+ ( absViewPos.iX < 0 ||( absViewPos.iX + Rect().Width() > GridWorldSize().iWidth && GridItemCount() ) )
)
{
// View is outside of grid world - update view
@@ -1320,6 +1301,7 @@
}
if ( aForceRedraw )
{
+ iParent.DrawDeferred();
iGrid->DrawNow();
}
}
@@ -1331,20 +1313,27 @@
//
void CTsFastSwapArea::HandleAppKey(TInt aType)
{
- if( aType == KAppKeyTypeShort )
+ if ( iArray.Count() )
{
- if(iGrid->IsHighlightVisible())
+ if( aType == KAppKeyTypeShort )
{
- SelectNextItem();
+ if(iGrid->IsHighlightVisible())
+ {
+ SelectNextItem();
+ }
+ else
+ {
+ iGrid->ShowHighlight();
+ }
}
- else
+ else if( aType == KAppKeyTypeLong )
{
- iGrid->ShowHighlight();
+ SwitchToApp( SelectedIndex() );
}
}
- else if( aType == KAppKeyTypeLong )
+ else
{
- SwitchToApp( SelectedIndex() );
+ TRAP_IGNORE( iEikonEnv->EikAppUi()->HandleCommandL(EAknSoftkeyExit) );
}
}
@@ -1374,13 +1363,13 @@
gridViewRect.iTl.iX = -currentXPos;
// Take edge offset into account
gridViewRect.iTl.iX += Rect().iTl.iX;
- if(GridItemCount() <= iMaxItemsOnScreen)
+ if(GridItemCount() && GridItemCount() <= iMaxItemsOnScreen)
{
// Center view
gridViewRect.iTl.iX += ( Rect().Width() - GridItemCount() * iGridItemWidth ) / 2;
}
+ DrawDeferred();
iGrid->SetRect( gridViewRect );
- DrawDeferred();
iLogicalViewPosOffset = 0;
}
else
@@ -1396,7 +1385,7 @@
//
void CTsFastSwapArea::TapL(const TPoint& aPoint)
{
- if(Rect().Contains(aPoint))
+ if(Rect().Contains(aPoint) && iArray.Count())
{
//provide tap pointer event to grid
iGrid->HandlePointerEventL(iTapEvent);
@@ -1417,7 +1406,7 @@
void CTsFastSwapArea::LongTapL(const TPoint& aPoint)
{
TInt index(KErrNotFound);
- if( iGrid->GridView()->XYPosToItemIndex(aPoint,index) )
+ if( iGrid->GridView()->XYPosToItemIndex(aPoint,index) && iArray.Count() )
{
iGrid->SetCurrentItemIndex(index);
SaveSelectedIndex();
@@ -1448,8 +1437,7 @@
{
CenterItem( KUpdateGridTime );
}
-
- iGrid->SetTactileFeedbackSupport(ETrue);
+
iGrid->HideHighlight();
}
@@ -1482,7 +1470,7 @@
retVal.iY = iGrid->Rect().iTl.iY + Rect().Height() / 2;
retVal.iX = - (iGrid->Rect().iTl.iX - Rect().iTl.iX) + Rect().Width() / 2 ;
TInt gridItemCount = iGrid->Model()->ItemTextArray()->MdcaCount();
- if( gridItemCount <= iMaxItemsOnScreen)
+ if(gridItemCount && gridItemCount <= iMaxItemsOnScreen)
{
// View centered
retVal.iX += ( Rect().Width() - gridItemCount * iGridItemWidth ) / 2;
@@ -1498,7 +1486,12 @@
TPoint CTsFastSwapArea::ItemViewPosition( TInt aItemIdx )
{
TPoint retVal = Rect().iTl;
- if ( aItemIdx == 0 )
+ if ( aItemIdx < 0 )
+ {
+ // No items
+ retVal.iX = 0;
+ }
+ else if ( aItemIdx == 0 )
{
// First item
if( AknLayoutUtils::LayoutMirrored() )
--- a/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp Mon Mar 15 12:39:47 2010 +0200
+++ b/taskswitcher/taskswitcherui/taskswitcherapp/src/tsfastswapgrid.cpp Wed Mar 31 21:17:19 2010 +0300
@@ -31,7 +31,8 @@
*/
const TInt KCloseIconRedrawTime = 300000; // 0.3 second
-const TInt KFeedbackTime = 0;
+
+const TInt KStrokeThickness = 1;
// -----------------------------------------------------------------------------
// CTsFastSwapGrid::CTsFastSwapGrid
@@ -53,11 +54,7 @@
CTsFastSwapGrid::~CTsFastSwapGrid()
{
iCloseItems.Close();
- delete iBgContext;
delete iCloseIconRedrawTimer;
- delete iFeedbackTimer;
- iFullyVisibleItems.Close();
- iPartialVisibleItems.Close();
}
// -----------------------------------------------------------------------------
@@ -73,16 +70,8 @@
CAknGrid::ConstructL( aParent, EAknListBoxSelectionGrid );
SetPrimaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
SetSecondaryScrollingType(CAknGridView::EScrollFollowsItemsAndLoops);
- iBgContext = CAknsFrameBackgroundControlContext::NewL(
- KAknsIIDQsnFrPopup,
- TRect(),
- TRect(),
- ETrue );
- iBgContext->SetCenter( KAknsIIDQsnFrPopupCenter );
iCloseIconRedrawTimer = new (ELeave) CTsFastSwapTimer( *this );
iCloseIconRedrawTimer->ConstructL();
- iFeedbackTimer = new (ELeave) CTsFastSwapTimer( *this );
- iFeedbackTimer->ConstructL();
TSLOG_OUT();
}
@@ -198,25 +187,12 @@
if ( aChangeType == ESkin )
{
- LoadCloseIcon();
+ LoadCloseIconAndStrokeParams();
}
TSLOG_OUT();
}
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MopSupplyObject
-// -----------------------------------------------------------------------------
-//
-TTypeUid::Ptr CTsFastSwapGrid::MopSupplyObject( TTypeUid aId )
- {
- if ( aId.iUid == MAknsControlContext::ETypeId )
- {
- return MAknsControlContext::SupplyMopObject( aId, iBgContext );
- }
- return CCoeControl::MopSupplyObject( aId );
- }
-
// -----------------------------------------------------------------------------
// CTsFastSwapGrid::HandleResourceChange
@@ -247,6 +223,20 @@
// -----------------------------------------------------------------------------
+// CTsFastSwapGrid::Draw
+// -----------------------------------------------------------------------------
+//
+void CTsFastSwapGrid::Draw( const TRect& aRect ) const
+ {
+ CAknGrid::Draw(aRect);
+ if ( !Model()->ItemTextArray()->MdcaCount() )
+ {
+ GridView()->DrawEmptyList();
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
// CTsFastSwapGrid::SetFastSwapGridObserver
// -----------------------------------------------------------------------------
//
@@ -285,7 +275,7 @@
iItemDrawer = itemDrawer;
CleanupStack::Pop( itemDrawer );
CleanupStack::Pop( data );
- LoadCloseIcon();
+ LoadCloseIconAndStrokeParams();
TSLOG_OUT();
}
@@ -302,14 +292,6 @@
ResetCloseHit();
iFastSwapGridObserver->HandleCloseEventL( itemToClose );
}
- else if ( aSource == iFeedbackTimer )
- {
- MTouchFeedback* feedback = MTouchFeedback::Instance();
- if (feedback)
- {
- feedback->InstantFeedback(ETouchFeedbackSensitive);
- }
- }
}
// -----------------------------------------------------------------------------
@@ -357,6 +339,27 @@
// -----------------------------------------------------------------------------
+// CTsFastSwapGrid::SetStrokeColor
+// -----------------------------------------------------------------------------
+//
+void CTsFastSwapGrid::SetStrokeColors( TRgb aColor,
+ TRgb aHighlightedColor )
+ {
+ static_cast<CTsGridItemDrawer*>(iItemDrawer)->SetStrokeColors(aColor, aHighlightedColor);
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTsFastSwapGrid::SetStrokeItemsL
+// -----------------------------------------------------------------------------
+//
+void CTsFastSwapGrid::SetStrokeItemsL( RArray<TInt>& aItemIndex )
+ {
+ static_cast<CTsGridItemDrawer*>(iItemDrawer)->SetStrokeItemsL(aItemIndex);
+ }
+
+
+// -----------------------------------------------------------------------------
// CTsFastSwapGrid::SetBehaviour
// -----------------------------------------------------------------------------
//
@@ -459,31 +462,38 @@
// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LoadCloseIconL
+// CTsFastSwapGrid::LoadCloseIconAndStrokeParams
// -----------------------------------------------------------------------------
//
-void CTsFastSwapGrid::LoadCloseIcon()
+void CTsFastSwapGrid::LoadCloseIconAndStrokeParams()
{
// Load and set close icon
CFbsBitmap* icon = NULL;
- CFbsBitmap* mask = NULL;
-
- TRAP_IGNORE(AknsUtils::CreateColorIconLC( AknsUtils::SkinInstance(),
- KAknsIIDQgnIndiItutListCollapse,
- KAknsIIDQsnTextColors, // we use text color here, eventhough this is an icon
- EAknsCIQsnTextColorsCG13, // softkey text color
+ CFbsBitmap* iconMask = NULL;
+ CFbsBitmap* iconPressed = NULL;
+ CFbsBitmap* iconPressedMask = NULL;
+
+ TRAP_IGNORE(AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
+ KAknsIIDQgnIndiTsButtonClose,
icon,
- mask,
+ iconMask,
KAvkonBitmapFile,
EMbmAvkonQgn_indi_button_preview_close,
- EMbmAvkonQgn_indi_button_preview_close_mask,
- KRgbWhite
- );
- CleanupStack::Pop( 2 ); // codescanner::cleanup
- );
+ EMbmAvkonQgn_indi_button_preview_close_mask
+ ));
+
+ TRAP_IGNORE(AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
+ KAknsIIDQgnIndiTsButtonClosePressed,
+ iconPressed,
+ iconPressedMask,
+ KAvkonBitmapFile,
+ EMbmAvkonQgn_indi_button_preview_close,
+ EMbmAvkonQgn_indi_button_preview_close_mask
+ ));
TAknLayoutRect gridAppPane;
TAknLayoutRect gridItem;
+ TAknLayoutRect gridImage;
TAknLayoutRect gridCloseButton;
TAknLayoutRect gridCloseIcon;
TInt variety = Layout_Meta_Data::IsLandscapeOrientation() ? 1 : 0;
@@ -492,15 +502,21 @@
AknLayoutScalable_Apps::tport_appsw_pane( variety ) );
gridItem.LayoutRect( gridAppPane.Rect(),
AknLayoutScalable_Apps::cell_tport_appsw_pane( variety, 0, 0 ) );
+ gridImage.LayoutRect( gridItem.Rect(),
+ AknLayoutScalable_Apps::cell_tport_appsw_pane_g1( variety ) );
gridCloseButton.LayoutRect( gridItem.Rect(),
AknLayoutScalable_Apps::bg_button_pane_cp16( variety, 0, 0 ));
gridCloseIcon.LayoutRect( gridItem.Rect(),
AknLayoutScalable_Apps::cell_tport_appsw_pane_g3( variety, 0, 0 ));
+
+ // Set icon size
AknIconUtils::SetSize( icon, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
- AknIconUtils::SetSize( mask, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
+ AknIconUtils::SetSize( iconPressed, gridCloseIcon.Rect().Size(), EAspectRatioPreserved );
CTsGridItemDrawer* itemDrawer =
static_cast<CTsGridItemDrawer*>(iItemDrawer);
- itemDrawer->SetCloseIcon( icon, mask );
+
+ // Setup close parameters
+ itemDrawer->SetCloseIcon( icon, iconMask, iconPressed, iconPressedMask );
TRect relGridCloseButton = TRect( TPoint( gridCloseButton.Rect().iTl.iX - gridItem.Rect().iTl.iX,
gridCloseButton.Rect().iTl.iY - gridItem.Rect().iTl.iY),
gridCloseButton.Rect().Size() );
@@ -508,6 +524,15 @@
gridCloseIcon.Rect().iTl.iY - gridItem.Rect().iTl.iY),
gridCloseIcon.Rect().Size() );
itemDrawer->SetCloseIconRect( relGridCloseButton, relGridCloseIconRect );
+
+ // Setup stroke parameters
+ TPoint strokeOffset;
+ strokeOffset.iX = gridImage.Rect().iTl.iX - gridItem.Rect().iTl.iX - KStrokeThickness;
+ strokeOffset.iY = gridImage.Rect().iTl.iY - gridItem.Rect().iTl.iY - KStrokeThickness;
+ TSize strokeSize = gridImage.Rect().Size();
+ strokeSize.iHeight += KStrokeThickness * 2;
+ strokeSize.iWidth += KStrokeThickness * 2;
+ itemDrawer->SetStrokeOffset( strokeOffset, strokeSize );
}
@@ -530,96 +555,8 @@
}
}
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::LaunchTactileFeedback
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::LaunchTactileFeedback()
- {
- if( !iTactileFeedbackSupport )
- {
- return;
- }
-
- iFeedbackTimer->Cancel();
- iFeedbackTimer->After(KFeedbackTime);
- }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::SetTactileFeedbackSupport
-// -----------------------------------------------------------------------------
-//
-void CTsFastSwapGrid::SetTactileFeedbackSupport(TBool aSupport)
- {
- iTactileFeedbackSupport = aSupport;
- }
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::RemoveFromVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::RemoveFromVisibleItems(TInt aItem) const
- {
- TBool retVal(EFalse);
- TInt idx(0);
- idx = iFullyVisibleItems.Find(aItem);
- if( idx >= 0)
- {
- iFullyVisibleItems.Remove(idx);
- retVal = ETrue;
- }
- idx = iPartialVisibleItems.Find( aItem );
- if( idx >= 0)
- {
- iPartialVisibleItems.Remove(idx);
- retVal = ETrue;
- }
- return retVal;
- }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::AddToFullyVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::AddToFullyVisibleItems( TInt aItem ) const
- {
- TBool retVal(EFalse);
- TInt idx(0);
-
- idx = iPartialVisibleItems.Find(aItem);
- if( idx >= 0)
- {
- iPartialVisibleItems.Remove(idx);
- }
- idx = iFullyVisibleItems.Find( aItem );
- if( idx == KErrNotFound )
- {
- iFullyVisibleItems.Append(aItem);
- retVal = ETrue;
- }
- return retVal;
- }
-
-// -----------------------------------------------------------------------------
-// CTsFastSwapGrid::MoveToPartialVisibleItems
-// -----------------------------------------------------------------------------
-//
-TBool CTsFastSwapGrid::MoveToPartialVisibleItems( TInt aItem ) const
- {
- TInt idx(0);
- idx = iFullyVisibleItems.Find(aItem);
- if( idx >= 0)
- {
- iFullyVisibleItems.Remove(idx);
- }
- idx = iPartialVisibleItems.Find( aItem );
- if( idx == KErrNotFound )
- {
- iPartialVisibleItems.Append(aItem);
- }
- return EFalse;
- }
/* ================================================================================
* CTsGridItemDrawer
@@ -638,7 +575,9 @@
NULL,
aData ),
iGrid( aGrid ),
- iScreenRect(aScreenRect)
+ iScreenRect( aScreenRect ),
+ iStrokeColor( KRgbBlack ),
+ iHighlightStrokeColor( KRgbBlack )
{
}
@@ -651,6 +590,9 @@
{
delete iCloseIcon;
delete iCloseIconMask;
+ delete iCloseIconPressed;
+ delete iCloseIconPressedMask;
+ iStrokeItems.Close();
}
@@ -658,12 +600,17 @@
// CTsGridItemDrawer::SetCloseIcon
// -----------------------------------------------------------------------------
//
-void CTsGridItemDrawer::SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aMask )
+void CTsGridItemDrawer::SetCloseIcon( CFbsBitmap* aBmp, CFbsBitmap* aBmpMask,
+ CFbsBitmap* aBmpPressed, CFbsBitmap* aBmpPressedMask )
{
delete iCloseIcon;
iCloseIcon = aBmp;
delete iCloseIconMask;
- iCloseIconMask = aMask;
+ iCloseIconMask = aBmpMask;
+ delete iCloseIconPressed;
+ iCloseIconPressed = aBmpPressed;
+ delete iCloseIconPressedMask;
+ iCloseIconPressedMask = aBmpPressedMask;
}
@@ -714,6 +661,42 @@
// -----------------------------------------------------------------------------
+// CTsGridItemDrawer::SetStrokeColor
+// -----------------------------------------------------------------------------
+//
+void CTsGridItemDrawer::SetStrokeColors( TRgb aColor,
+ TRgb aHighlightedColor )
+ {
+ iStrokeColor = aColor;
+ iHighlightStrokeColor = aHighlightedColor;
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTsGridItemDrawer::SetStrokeItemsL
+// -----------------------------------------------------------------------------
+//
+void CTsGridItemDrawer::SetStrokeItemsL( RArray<TInt>& aItemIndex )
+ {
+ iStrokeItems.Close();
+ for ( TInt i = 0; i < aItemIndex.Count(); i++ )
+ {
+ iStrokeItems.AppendL( aItemIndex[i] );
+ }
+ }
+
+
+// -----------------------------------------------------------------------------
+// CTsGridItemDrawer::SetStrokeOffset
+// -----------------------------------------------------------------------------
+//
+void CTsGridItemDrawer::SetStrokeOffset( TPoint aStrokeOffset, TSize aStrokeSize )
+ {
+ iStrokeRect = TRect( aStrokeOffset, aStrokeSize );
+ }
+
+
+// -----------------------------------------------------------------------------
// CTsGridItemDrawer::DrawActualItem
// -----------------------------------------------------------------------------
//
@@ -721,8 +704,6 @@
TBool aItemIsCurrent, TBool aViewIsEmphasized,
TBool aViewIsDimmed, TBool aItemIsSelected ) const
{
- TBool feedbackNeed(EFalse);//feedback when item disappear or fully appear
-
if (IsItemRectVisible(aActualItemRect))
{
// Calculate offset of the visible rectangle
@@ -736,15 +717,6 @@
drawRect.iBr.iX = iScreenRect.Width() - iRightOffset;
}
iGc->SetClippingRect(drawRect);
-
- if(IsRectContained( aActualItemRect, drawRect ))
- {
- feedbackNeed = iGrid->AddToFullyVisibleItems( aItemIndex );
- }
- else
- {
- feedbackNeed = iGrid->MoveToPartialVisibleItems( aItemIndex );
- }
// Check for item highlight
TBool itemIsCurrent = !iGrid->IsHighlightVisible() ? EFalse : aItemIsCurrent;
@@ -769,7 +741,25 @@
CFormattedCellListBoxItemDrawer::DrawActualItem(aItemIndex, aActualItemRect,
itemIsCurrent, aViewIsEmphasized, aViewIsDimmed, aItemIsSelected );
- if ( iGrid->CanCloseItem( aItemIndex ) && iCloseIcon && iCloseIconMask )
+ // Draw stroke
+ if ( iStrokeItems.Find( aItemIndex ) != KErrNotFound )
+ {
+ TRect strokeRect = iStrokeRect;
+ strokeRect.Move( aActualItemRect.iTl );
+ if ( itemIsCurrent )
+ {
+ iGc->SetPenColor( iHighlightStrokeColor );
+ }
+ else
+ {
+ iGc->SetPenColor( iStrokeColor );
+ }
+ // Thumbnail stroke
+ iGc->DrawRect( strokeRect );
+ }
+
+ // Draw close button
+ if ( iGrid->CanCloseItem( aItemIndex ) && iCloseIcon && iCloseIconPressed )
{
TRect closeIconRect = GetCloseButtonRect( aActualItemRect );
// Draw frame
@@ -778,27 +768,24 @@
MAknsSkinInstance* skin = AknsUtils::SkinInstance();
if ( iGrid->IsItemCloseHit( aItemIndex ) )
{
- AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
- KAknsIIDQgnFrSctrlButtonPressed, KAknsIIDQgnFrSctrlButtonCenterPressed);
+ TRect sourceRect( TPoint(0,0), iCloseIconPressed->SizeInPixels() );
+ iGc->DrawBitmapMasked( innerRect,
+ iCloseIconPressed,
+ sourceRect,
+ iCloseIconPressedMask,
+ ETrue );
}
else
{
- AknsDrawUtils::DrawFrame(skin, *iGc, outerRect, innerRect,
- KAknsIIDQgnFrSctrlButton, KAknsIIDQgnFrSctrlButtonCenter);
+ TRect sourceRect( TPoint(0,0), iCloseIcon->SizeInPixels() );
+ iGc->DrawBitmapMasked( innerRect,
+ iCloseIcon,
+ sourceRect,
+ iCloseIconMask,
+ ETrue );
}
- // Draw close icon
- TRect sourceRect( TPoint(0,0), iCloseIcon->SizeInPixels() );
- iGc->DrawBitmapMasked( innerRect, iCloseIcon, sourceRect, iCloseIconMask, ETrue );
}
}
- else
- {
- feedbackNeed = iGrid->RemoveFromVisibleItems(aItemIndex);
- }
- if(feedbackNeed)
- {
- iGrid->LaunchTactileFeedback();
- }
}
// -----------------------------------------------------------------------------