<?xml version="1.0" encoding="UTF-8"?>
<container xmlns="http://www.symbianfoundation.org/xml/implml/1">
<tag name="target" value="core"/>
<tag name="target" value="rofs2"/>
<tag name="target" value="rofs3"/>
<tag name="target" value="uda"/>
<tag name="target" value="emmc"/>
<phase name='post'/> <!-- post phase for making sure that data for all homescreen widgets is available in sequence -->
<ruleml xmlns="http://www.s60.com/xml/ruleml/3">
<rule>True configures ${HomescreenPlugins_2.Plugins} = {% mapBundleIds(@{DFSFeatures.HomescreenWidgets}, @{HomescreenPlugins_2.Plugins}) %}</rule>
<eval_globals>
import logging
#logger = logging.getLogger('cone.homescreen3')
def mapBundleIds(dfswidgets, plugins):
# create a uid-bundle dictionary
dict = {}
#logger.debug('ws %s' % dfswidgets.value)
for widget in dfswidgets.value:
dict[widget[dfswidgets._order.index('Uid')].lower()] = widget[dfswidgets._order.index('Bundle')]
#logger.debug('d %s' % dict)
new_plugins = []
for plugin in plugins.value:
# update bundle only if it's 0 or None
if plugin[plugins._order.index('Uid')] is not None and (plugin[plugins._order.index('BundleIdentifier')] == '0' or plugin[plugins._order.index('BundleIdentifier')] == None):
bundle = dict.get(plugin[plugins._order.index('Uid')].lower())
if bundle is not None:
#logger.debug('Bundle id updated %s' % bundle)
plugin[plugins._order.index('BundleIdentifier')] = bundle
new_plugins.append(plugin)
return new_plugins
</eval_globals>
</ruleml>
<file xmlns="http://www.s60.com/xml/genconfml/1" name="viewconfiguration.xml" target="\private\200159c0\install\view_200286e4\hsps\00\">
<setting ref="HomescreenPlugins_2/MaxWidgets"/>
<setting ref="HomescreenPlugins_2/UseEmptyWidgets"/>
<setting ref="HomescreenPlugins_2/ItemIdEmptyWidgets"/>
<setting ref="HomescreenPlugins_2/PropertyEmptyWidgets"/>
<setting ref="HomescreenPlugins_2/BackGroundPath"/>
<setting ref="HomescreenPlugins_2/ItemIdWallpaper"/>
<setting ref="HomescreenPlugins_2/WallpaperPropertyName"/>
<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/ShortcutPropertyNameView"/>
<setting ref="HomescreenPlugins_2/ShortcutPropertyNameParam"/>
<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_2/MaxWidgets"/></xsl:attribute>
<control>
<settings>
<item>
<xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_2/ItemIdEmptyWidgets"/></xsl:attribute>
<property>
<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>
<item>
<xsl:attribute name="id"><xsl:value-of select="HomescreenPlugins_2/ItemIdWallpaper"/></xsl:attribute>
<property>
<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>
</settings>
<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>
<xsl:attribute name="template_id"><xsl:value-of select="TemplateIdentifier"/></xsl:attribute>
<xsl:attribute name="locking_status"><xsl:value-of select="LockingStatus"/></xsl:attribute>
<xsl:if test="ShortcutWidget = 1">
<initial_settings>
<settings>
<xsl:if test="Customize1Shortcut = 1">
<item>
<xsl:attribute name="id"><xsl:value-of select="Shortcut1ItemId"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="Shortcut1ItemName"/></xsl:attribute>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut1Type"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut1Uid"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameView"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut1View"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameParam"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut1Param"/></xsl:attribute>
</property>
</item>
</xsl:if>
<xsl:if test="Customize2Shortcut = 1">
<item>
<xsl:attribute name="id"><xsl:value-of select="Shortcut2ItemId"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="Shortcut2ItemName"/></xsl:attribute>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut2Type"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut2Uid"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameView"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut2View"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameParam"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut2Param"/></xsl:attribute>
</property>
</item>
</xsl:if>
<xsl:if test="Customize3Shortcut = 1">
<item>
<xsl:attribute name="id"><xsl:value-of select="Shortcut3ItemId"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="Shortcut3ItemName"/></xsl:attribute>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut3Type"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut3Uid"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameView"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut3View"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameParam"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut3Param"/></xsl:attribute>
</property>
</item>
</xsl:if>
<xsl:if test="Customize4Shortcut = 1">
<item>
<xsl:attribute name="id"><xsl:value-of select="Shortcut4ItemId"/></xsl:attribute>
<xsl:attribute name="name"><xsl:value-of select="Shortcut4ItemName"/></xsl:attribute>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameType"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut4Type"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameUid"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut4Uid"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameView"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut4View"/></xsl:attribute>
</property>
<property>
<xsl:attribute name="name"><xsl:value-of select="ShortcutPropertyNameParam"/></xsl:attribute>
<xsl:attribute name="value"><xsl:value-of select="Shortcut4Param"/></xsl:attribute>
</property>
</item>
</xsl:if>
</settings>
</initial_settings>
</xsl:if>
</plugin>
</xsl:for-each>
</plugins>
</control>
</configuration>
</xsl:template>
</xsl:stylesheet>
</file>
</container>