New settings.xml enable not working - scott967 - 2020-02-06
I'm converting a settings.xml to the new format. The problem I'm having is that the dependency type="enable" is always enabled. Here is file:
xml: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<settings version="1">
<section id="service.skin.widgets">
<category id="General" label="32012">
<group id="1">
<setting label="32013" type="boolean" id="plot_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
</setting>
</group>
</category>
<category id="Recommended (in progress)" label="32001">
<group id="1">
<setting label="32001" type="boolean" id="recommended_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
</setting>
</group>
</category>
<category id="Random items" label="32002">
<group id="1">
<setting label="32002" type="boolean" id="randomitems_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
</setting>
<setting label="32011" type="boolean" id="randomitems_unplayed" parent="randomitems_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
<dependency type="enable" operator="is" setting="randomitems_enable">true</dependency>
</setting>
<setting label="32005" type="boolean" id="randomitems_seasonfolders" parent="randomitems_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
<dependency type="enable" operator="is" setting="randomitems_enable">true</dependency>
</setting>
<setting label="32008" type="integer" id="randomitems_method" parent="randomitems_enable">
<level>1</level>
<default>0</default>
<constraints>
<options>
<option label="32006">0</option>
<option label="32007">1</option>
</options>
</constraints>
<control type="spinner" format="string"/>
<dependency type="enable" operator="is" setting="randomitems_enable">true</dependency>
</setting>
<setting label="32004" type="integer" id="randomitems_time" parent="randomitems_enable">
<level>1</level>
<default>10</default>
<constraints>
<minimum>5</minimum>
<step>5</step>
<maximum>60</maximum>
</constraints>
<control type="slider" format="integer"/>
<dependency type="enable" operator="is" setting="randomitems_time">0</dependency>
</setting>
</group>
</category>
<category id="Recent items" label="32009">
<group id="1">
<setting label="32009" type="boolean" id="recentitems_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
</setting>
<setting label="32011" type="boolean" id="recentitems_unplayed" parent="recentitems_enable">
<level>1</level>
<default>true</default>
<control type="toggle"/>
<dependency type="enable" operator="is" setting="recentitems_enable">true</dependency>
</setting>
<setting label="32010" type="boolean" id="recentitems_homeupdate">
<level>1</level>
<default>false</default>
<control type="toggle"/>
</setting>
</group>
</category>
</section>
</settings>
As you can see, they are all enabled when a certain setting is true except one is an integer.
eg <dependency type="enable" operator="is" setting="recentitems_enable">true</dependency>
Am I doing something wrong?
I also notice that for the setting "randomitems_method" the default is integer 0 but when settings.xml gets written to addon_data it writes default="true"
<setting id="randomitems_method" default="true">0</setting>
scott s.
.
RE: New settings.xml enable not working - ronie - 2020-02-06
i've looked into it, and i think the correct way to write a dependency must be:
xml: <dependencies>
<dependency type="enable" operator="is" setting="randomitems_enable">true</dependency>
</dependencies>
(2020-02-06, 03:45)scott967 Wrote: I also notice that for the setting "randomitems_method" the default is integer 0 but when settings.xml gets written to addon_data it writes default="true" it means the setting has not been changed by the user.
btw, i noticed your setting randomitems_time depends on itself... that can never work i think?
RE: New settings.xml enable not working - scott967 - 2020-02-06
Making <dependency> a child of <dependencies> was the trick. Also thanks for finding that bug. So my new settings is working great.
Thanks again
scott s.
.
|