--- a/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml Tue May 11 16:02:39 2010 +0300
+++ b/idlehomescreen/data/qhd_tch/view_200286e5/conf/view200286e5.gcfml Tue May 25 12:29:32 2010 +0300
@@ -1,5 +1,38 @@
<?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_3.Plugins} = {% mapBundleIds(@{DFSFeatures.HomescreenWidgets}, @{HomescreenPlugins_3.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_200286e5\hsps\00\">
<setting ref="HomescreenPlugins_3/MaxWidgets"/>
<setting ref="HomescreenPlugins_3/UseEmptyWidgets"/>