diff options
author | Sascha Montellese <sascha.montellese@gmail.com> | 2013-05-21 11:24:15 -0700 |
---|---|---|
committer | Sascha Montellese <sascha.montellese@gmail.com> | 2013-05-21 11:24:15 -0700 |
commit | 89cb1f65b4f6614e992dec5b1c3b647a424ce28b (patch) | |
tree | de4c592f1f0708ad5cee8cbe36c30fc983e376be | |
parent | b85a1afc46a48448c0b9cf3a1c2a3129f0ebff1f (diff) | |
parent | 9cb2cdcfd058dc61da74ee20adf9032e86f1a46c (diff) |
Merge pull request #2763 from Montellese/settings_definition_cleanup
settings: cleanup of the XML definition syntax
-rw-r--r-- | system/settings/darwin.xml | 19 | ||||
-rw-r--r-- | system/settings/settings.xml | 1047 | ||||
-rw-r--r-- | xbmc/settings/Setting.cpp | 111 | ||||
-rw-r--r-- | xbmc/settings/SettingAddon.cpp | 18 |
4 files changed, 607 insertions, 588 deletions
diff --git a/system/settings/darwin.xml b/system/settings/darwin.xml index 5d7e9d9898..796df34119 100644 --- a/system/settings/darwin.xml +++ b/system/settings/darwin.xml @@ -37,11 +37,9 @@ <setting id="input.appleremotealwayson" type="boolean" label="13602" help=""> <level>4</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" setting="input.appleremotemode" operator="!is">0</dependency> <!-- APPLE_REMOTE_DISABLED --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="input.appleremotemode" operator="!is">0</dependency> <!-- APPLE_REMOTE_DISABLED --> + </dependencies> </setting> <setting id="input.appleremotesequencetime" type="integer" label="13603" help=""> <level>1</level> @@ -50,12 +48,13 @@ <minimum label="351">50</minimum> <step>50</step> <maximum>1000</maximum> - <formatlabel>14046</formatlabel> - <dependencies> - <dependency type="enable" id="input.appleremotemode">2</dependency> <!-- APPLE_REMOTE_UNIVERSAL --> - </dependencies> </constraints> - <control type="spinner" format="string"/> + <dependencies> + <dependency type="enable" id="input.appleremotemode">2</dependency> <!-- APPLE_REMOTE_UNIVERSAL --> + </dependencies> + <control type="spinner" format="string"> + <formatlabel>14046</formatlabel> + </control> </setting> </group> </category> diff --git a/system/settings/settings.xml b/system/settings/settings.xml index a53a61067c..22c2072859 100644 --- a/system/settings/settings.xml +++ b/system/settings/settings.xml @@ -6,15 +6,15 @@ <setting id="lookandfeel.skin" type="addon" label="166" help=""> <level>0</level> <default>skin.confluence</default> - <addontype>xbmc.gui.skin</addontype> + <constraints> + <addontype>xbmc.gui.skin</addontype> + </constraints> </setting> <setting id="lookandfeel.skinsettings" type="action" label="21417" help=""> <level>0</level> - <control type="button" format="action"> - <dependencies> - <dependency type="enable" on="property" name="AddonHasSettings" setting="lookandfeel.skin" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="AddonHasSettings" setting="lookandfeel.skin" /> + </dependencies> </setting> <setting id="lookandfeel.skintheme" type="string" label="15111" help=""> <level>1</level> @@ -47,9 +47,10 @@ <minimum>-20</minimum> <step>2</step> <maximum>20</maximum> - <formatlabel>14047</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14047</formatlabel> + </control> </setting> <setting id="lookandfeel.startupwindow" type="integer" label="512" help=""> <level>0</level> @@ -76,12 +77,13 @@ <setting id="lookandfeel.rssedit" type="string" label="21450" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="button" format="action"> - <dependencies> - <dependency type="enable" setting="lookandfeel.enablerssfeeds">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="lookandfeel.enablerssfeeds">true</dependency> + </dependencies> + <control type="button" format="action" /> </setting> </group> </category> @@ -101,11 +103,10 @@ <constraints> <options>regions</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="update" setting="locale.language" /> - </dependencies> - </control> + <dependencies> + <dependency type="update" setting="locale.language" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="locale.charset" type="string" label="14091" help=""> <level>1</level> @@ -113,11 +114,10 @@ <constraints> <options>charsets</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="update" setting="locale.language" /> - </dependencies> - </control> + <dependencies> + <dependency type="update" setting="locale.language" /> + </dependencies> + <control type="spinner" format="string" /> </setting> </group> <group id="2"> @@ -135,11 +135,10 @@ <constraints> <options>timezones</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="update" setting="locale.timezonecountry" /> - </dependencies> - </control> + <dependencies> + <dependency type="update" setting="locale.timezonecountry" /> + </dependencies> + <control type="spinner" format="string" /> </setting> </group> <group id="4"> @@ -178,30 +177,26 @@ <setting id="filelists.allowfiledeletion" type="boolean" label="14071" help=""> <level>1</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable"> - <or> - <condition on="property" operator="!is" name="ProfileHasFilesLocked" /> - <condition on="property" name="IsMasterUser" /> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition on="property" operator="!is" name="ProfileHasFilesLocked" /> + <condition on="property" name="IsMasterUser" /> + </or> + </dependency> + </dependencies> </setting> <setting id="filelists.showaddsourcebuttons" type="boolean" label="21382" help=""> <level>1</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <or> - <condition on="property" name="ProfileCanWriteSources" /> - <condition on="property" name="IsMasterUser" /> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition on="property" name="ProfileCanWriteSources" /> + <condition on="property" name="IsMasterUser" /> + </or> + </dependency> + </dependencies> </setting> <setting id="filelists.showhidden" type="boolean" label="21330" help=""> <level>1</level> @@ -214,32 +209,30 @@ <setting id="screensaver.mode" type="addon" label="356" help=""> <level>0</level> <default>screensaver.xbmc.builtin.dim</default> - <addontype>xbmc.ui.screensaver</addontype> - <allowempty>true</allowempty> + <constraints> + <addontype>xbmc.ui.screensaver</addontype> + <allowempty>true</allowempty> + </constraints> <updates> <update type="change" /> </updates> </setting> <setting id="screensaver.settings" type="action" label="21417" help=""> <level>0</level> - <control type="button" format="action"> - <dependencies> - <dependency type="enable"> - <and> - <condition on="setting" setting="screensaver.mode" operator="!is"></condition> - <condition on="property" name="AddonHasSettings" setting="screensaver.mode" /> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition on="setting" setting="screensaver.mode" operator="!is"></condition> + <condition on="property" name="AddonHasSettings" setting="screensaver.mode" /> + </and> + </dependency> + </dependencies> </setting> <setting id="screensaver.preview" type="action" label="1000" help=""> <level>0</level> - <control> - <dependencies> - <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> + </dependencies> </setting> <setting id="screensaver.time" type="integer" label="355" help=""> <level>0</level> @@ -248,12 +241,12 @@ <minimum>1</minimum> <step>1</step> <maximum>60</maximum> - <formatlabel>14044</formatlabel> </constraints> + <dependencies> + <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> + </dependencies> <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> - </dependencies> + <formatlabel>14044</formatlabel> </control> </setting> </group> @@ -261,25 +254,21 @@ <setting id="screensaver.usemusicvisinstead" type="boolean" label="13392" help=""> <level>1</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="screensaver.mode" operator="!is"></dependency> + </dependencies> </setting> <setting id="screensaver.usedimonpause" type="boolean" label="22014" help=""> <level>1</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="screensaver.mode" operator="!is">screensaver.xbmc.builtin.dim</condition> - <condition setting="screensaver.mode" operator="!is"></condition> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="screensaver.mode" operator="!is">screensaver.xbmc.builtin.dim</condition> + <condition setting="screensaver.mode" operator="!is"></condition> + </and> + </dependency> + </dependencies> </setting> </group> </category> @@ -376,9 +365,10 @@ <minimum>0</minimum> <step>10</step> <maximum>100</maximum> - <formatlabel>14047</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14047</formatlabel> + </control> </setting> <setting id="videoplayer.usevdpau" type="boolean" label="13425" help=""> <visible>HAVE_LIBVDPAU</visible> @@ -438,11 +428,10 @@ <constraints> <options>refreshchangedelays</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="videoplayer.adjustrefreshrate" operator="!is">0</dependency> <!-- ADJUST_REFRESHRATE_OFF --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="videoplayer.adjustrefreshrate" operator="!is">0</dependency> <!-- ADJUST_REFRESHRATE_OFF --> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="videoplayer.usedisplayasclock" type="boolean" label="13510" help=""> <level>2</level> @@ -458,11 +447,10 @@ <option label="13503">2</option> <!-- SYNC_RESAMPLE --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="videoplayer.usedisplayasclock" operator="is">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="videoplayer.usedisplayasclock" operator="is">true</dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="videoplayer.maxspeedadjust" type="number" label="13504" help=""> <level>4</level> @@ -472,16 +460,15 @@ <step>0.1</step> <maximum>10.0</maximum> </constraints> - <control type="spinner" format="number"> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="videoplayer.usedisplayasclock" operator="is">true</condition> - <condition setting="videoplayer.synctype" operator="is">2</condition> <!-- SYNC_RESAMPLE --> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="videoplayer.usedisplayasclock" operator="is">true</condition> + <condition setting="videoplayer.synctype" operator="is">2</condition> <!-- SYNC_RESAMPLE --> + </and> + </dependency> + </dependencies> + <control type="spinner" format="number" /> </setting> <setting id="videoplayer.resamplequality" type="integer" label="13505" help=""> <level>4</level> @@ -494,16 +481,15 @@ <option label="13509">3</option> <!-- RESAMPLE_REALLYHIGH --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="videoplayer.usedisplayasclock" operator="is">true</condition> - <condition setting="videoplayer.synctype" operator="is">2</condition> <!-- SYNC_RESAMPLE --> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="videoplayer.usedisplayasclock" operator="is">true</condition> + <condition setting="videoplayer.synctype" operator="is">2</condition> <!-- SYNC_RESAMPLE --> + </and> + </dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="videoplayer.errorinaspect" type="integer" label="22021" help=""> <level>2</level> @@ -512,9 +498,10 @@ <minimum label="231">0</minimum> <step>1</step> <maximum>20</maximum> - <formatlabel>14047</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14047</formatlabel> + </control> </setting> <setting id="videoplayer.stretch43" type="integer" label="173" help=""> <level>1</level> @@ -622,11 +609,10 @@ <step>2</step> <maximum>74</maximum> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="update" setting="subtitles.font" /> - </dependencies> - </control> + <dependencies> + <dependency type="update" setting="subtitles.font" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="subtitles.style" type="integer" label="736" help=""> <level>1</level> @@ -639,11 +625,10 @@ <option label="741">3</option> <!-- FONT_STYLE_BOLD | FONT_STYLE_ITALICS --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="subtitles.color" type="integer" label="737" help=""> <level>1</level> @@ -660,11 +645,10 @@ <option label="767">7</option> <!-- Grey --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="subtitles.charset" type="string" label="735" help=""> <level>1</level> @@ -672,11 +656,10 @@ <constraints> <options>charsets</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="IsUsingTTFSubtitles" setting="subtitles.font" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="subtitles.overrideassfonts" type="boolean" label="21368" help=""> <level>1</level> @@ -687,15 +670,16 @@ <setting id="subtitles.custompath" type="path" label="21366" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <heading>657</heading> <constraints> + <allowempty>true</allowempty> <writable>false</writable> <sources> <source>videos</source> </sources> </constraints> - <control type="button" format="path" /> + <control type="button" format="path"> + <heading>657</heading> + </control> </setting> <setting id="subtitles.align" type="integer" label="21460" help=""> <level>1</level> @@ -741,17 +725,23 @@ <setting id="scrapers.moviesdefault" type="addon" label="21413" help=""> <level>4</level> <default>metadata.themoviedb.org</default> - <addontype>xbmc.metadata.scraper.movies</addontype> + <constraints> + <addontype>xbmc.metadata.scraper.movies</addontype> + </constraints> </setting> <setting id="scrapers.tvshowsdefault" type="addon" label="21414" help=""> <level>4</level> <default>metadata.tvdb.com</default> - <addontype>xbmc.metadata.scraper.tvshows</addontype> + <constraints> + <addontype>xbmc.metadata.scraper.tvshows</addontype> + </constraints> </setting> <setting id="scrapers.musicvideosdefault" type="addon" label="21415" help=""> <level>4</level> <default>metadata.musicvideos.theaudiodb.com</default> - <addontype>xbmc.metadata.scraper.musicvideos</addontype> + <constraints> + <addontype>xbmc.metadata.scraper.musicvideos</addontype> + </constraints> <updates> <update type="change" /> </updates> @@ -784,19 +774,15 @@ <group id="3"> <setting id="pvrmanager.channelmanager" type="action" label="19199" help=""> <level>1</level> - <control> - <dependencies> - <dependency type="enable" setting="pvrmanager.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="pvrmanager.enabled">true</dependency> + </dependencies> </setting> <setting id="pvrmanager.channelscan" type="action" label="19117" help=""> <level>1</level> - <control> - <dependencies> - <dependency type="enable" setting="pvrmanager.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="pvrmanager.enabled">true</dependency> + </dependencies> </setting> <setting id="pvrmanager.resetdb" type="action" label="19185" help=""> <level>2</level> @@ -830,29 +816,29 @@ <minimum>1</minimum> <step>1</step> <maximum>10</maximum> - <formatlabel>14045</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14045</formatlabel> + </control> </setting> </group> <group id="2"> <setting id="pvrmenu.iconpath" type="path" label="19018" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <heading>657</heading> <constraints> + <allowempty>true</allowempty> <writable>false</writable> </constraints> - <control type="button" format="path" /> + <control type="button" format="path"> + <heading>657</heading> + </control> </setting> <setting id="pvrmenu.searchicons" type="action" label="19167" help=""> <level>1</level> - <control> - <dependencies> - <dependency type="enable" setting="pvrmanager.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="pvrmanager.enabled">true</dependency> + </dependencies> </setting> </group> </category> @@ -876,9 +862,10 @@ <minimum>1</minimum> <step>1</step> <maximum>14</maximum> - <formatlabel>17999</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>17999</formatlabel> + </control> </setting> </group> <group id="2"> @@ -889,9 +876,10 @@ <minimum>15</minimum> <step>15</step> <maximum>2880</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="epg.preventupdateswhileplayingtv" type="boolean" label="19230" help=""> <level>1</level> @@ -940,9 +928,10 @@ <minimum>1</minimum> <step>1</step> <maximum>60</maximum> - <formatlabel>14045</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14045</formatlabel> + </control> </setting> <setting id="pvrplayback.confirmchannelswitch" type="boolean" label="19281" help=""> <level>1</level> @@ -955,9 +944,10 @@ <minimum>0</minimum> <step>250</step> <maximum>10000</maximum> - <formatlabel>14046</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14046</formatlabel> + </control> </setting> </group> </category> @@ -970,9 +960,10 @@ <minimum>1</minimum> <step>1</step> <maximum>720</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="pvrrecord.defaultpriority" type="integer" label="19173" help=""> <level>1</level> @@ -991,9 +982,10 @@ <minimum>1</minimum> <step>1</step> <maximum>365</maximum> - <formatlabel>17999</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>17999</formatlabel> + </control> </setting> <setting id="pvrrecord.marginstart" type="integer" label="19175" help=""> <level>1</level> @@ -1002,9 +994,10 @@ <minimum>0</minimum> <step>1</step> <maximum>60</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="pvrrecord.marginend" type="integer" label="19176" help=""> <level>1</level> @@ -1013,9 +1006,10 @@ <minimum>0</minimum> <step>1</step> <maximum>60</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> </group> <group id="2"> @@ -1040,14 +1034,17 @@ <minimum label="351">0</minimum> <step>5</step> <maximum>360</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="pvrpowermanagement.setwakeupcmd" type="string" label="19245" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> + <constraints> + <allowempty>true</allowempty> + </constraints> <control type="edit" format="string" /> </setting> <setting id="pvrpowermanagement.prewakeup" type="integer" label="19246" help=""> @@ -1057,9 +1054,10 @@ <minimum label="351">0</minimum> <step>1</step> <maximum>60</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> </group> <group id="3"> @@ -1086,12 +1084,13 @@ <setting id="pvrparental.pin" type="string" label="19261" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="integer" attributes="hidden,new" delayed="false"> - <dependencies> - <dependency type="enable" setting="pvrparental.enabled">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="pvrparental.enabled">true</dependency> + </dependencies> + <control type="edit" format="integer" attributes="hidden,new" delayed="false" /> </setting> <setting id="pvrparental.duration" type="integer" label="19260" help=""> <level>1</level> @@ -1100,12 +1099,12 @@ <minimum>5</minimum> <step>5</step> <maximum>1200</maximum> - <formatlabel>14045</formatlabel> </constraints> + <dependencies> + <dependency type="enable" setting="pvrparental.enabled">true</dependency> + </dependencies> <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="pvrparental.enabled">true</dependency> - </dependencies> + <formatlabel>14045</formatlabel> </control> </setting> </group> @@ -1138,12 +1137,16 @@ <setting id="musiclibrary.albumsscraper" type="addon" label="20193" help=""> <level>1</level> <default>metadata.album.universal</default> - <addontype>xbmc.metadata.scraper.albums</addontype> + <constraints> + <addontype>xbmc.metadata.scraper.albums</addontype> + </constraints> </setting> <setting id="musiclibrary.artistsscraper" type="addon" label="20194" help=""> <level>1</level> <default>metadata.artists.universal</default> - <addontype>xbmc.metadata.scraper.artists</addontype> + <constraints> + <addontype>xbmc.metadata.scraper.artists</addontype> + </constraints> </setting> <setting id="musiclibrary.updateonstartup" type="boolean" label="22000" help=""> <level>1</level> @@ -1197,9 +1200,10 @@ <minimum>77</minimum> <step>1</step> <maximum>101</maximum> - <formatlabel>14050</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14050</formatlabel> + </control> </setting> <setting id="musicplayer.replaygainnogainpreamp" type="integer" label="642" help=""> <level>2</level> @@ -1208,9 +1212,10 @@ <minimum>77</minimum> <step>1</step> <maximum>101</maximum> - <formatlabel>14050</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14050</formatlabel> + </control> </setting> <setting id="musicplayer.replaygainavoidclipping" type="boolean" label="643" help=""> <level>2</level> @@ -1225,30 +1230,31 @@ <minimum label="351">0</minimum> <step>1</step> <maximum>15</maximum> - <formatlabel>14045</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14045</formatlabel> + </control> </setting> <setting id="musicplayer.crossfadealbumtracks" type="boolean" label="13400" help=""> <level>1</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="musicplayer.crossfade" operator="!is">0</condition> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="musicplayer.crossfade" operator="!is">0</condition> + </and> + </dependency> + </dependencies> </setting> </group> <group id="4"> <setting id="musicplayer.visualisation" type="addon" label="250" help=""> <level>0</level> <default>visualization.glspectrum</default> - <addontype>xbmc.player.musicviz</addontype> - <allowempty>true</allowempty> + <constraints> + <addontype>xbmc.player.musicviz</addontype> + <allowempty>true</allowempty> + </constraints> </setting> </group> </category> @@ -1261,42 +1267,56 @@ <setting id="musicfiles.trackformat" type="string" label="13307" help=""> <level>2</level> <default>[%N. ]%A - %T</default> - <heading>16016</heading> - <control type="edit" format="string" /> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.trackformatright" type="string" label="13387" help=""> <level>2</level> <default>%D</default> - <heading>16016</heading> - <control type="edit" format="string" /> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.nowplayingtrackformat" type="string" label="13307" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> - <heading>16016</heading> - <control type="edit" format="string" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.nowplayingtrackformatright" type="string" label="13387" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> - <heading>16016</heading> - <control type="edit" format="string" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.librarytrackformat" type="string" label="13307" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> - <heading>16016</heading> - <control type="edit" format="string" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.librarytrackformatright" type="string" label="13387" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> - <heading>16016</heading> - <control type="edit" format="string" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="musicfiles.findremotethumbs" type="boolean" label="14059" help=""> <level>0</level> @@ -1323,15 +1343,19 @@ <setting id="audiocds.recordingpath" type="path" label="20000" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <heading>657</heading> - <control type="button" format="path" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="button" format="path"> + <heading>657</heading> + </control> </setting> <setting id="audiocds.trackpathformat" type="string" label="13307" help=""> <level>2</level> <default>%A/%A - %B/[%N. ][%A - ]%T</default> - <heading>16016</heading> - <control type="edit" format="string" /> + <control type="edit" format="string"> + <heading>16016</heading> + </control> </setting> <setting id="audiocds.encoder" type="integer" label="621" help=""> <level>2</level> @@ -1352,16 +1376,15 @@ <option label="603">3</option> <!-- CDDARIP_QUALITY_EXTREME --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="audiocds.encoder" operator="!is">2</condition> <!-- CDDARIP_ENCODER_WAV --> - <condition setting="audiocds.encoder" operator="!is">3</condition> <!-- CDDARIP_ENCODER_FLAC --> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="audiocds.encoder" operator="!is">2</condition> <!-- CDDARIP_ENCODER_WAV --> + <condition setting="audiocds.encoder" operator="!is">3</condition> <!-- CDDARIP_ENCODER_FLAC --> + </and> + </dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="audiocds.bitrate" type="integer" label="623" help=""> <level>2</level> @@ -1370,18 +1393,18 @@ <minimum>128</minimum> <step>32</step> <maximum>320</maximum> - <formatlabel>14048</formatlabel> </constraints> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="audiocds.encoder" operator="!is">2</condition> <!-- CDDARIP_ENCODER_WAV --> + <condition setting="audiocds.encoder" operator="!is">3</condition> <!-- CDDARIP_ENCODER_FLAC --> + <condition setting="audiocds.quality" operator="is">0</condition> <!-- CDDARIP_QUALITY_CBR --> + </and> + </dependency> + </dependencies> <control type="spinner" format="string"> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="audiocds.encoder" operator="!is">2</condition> <!-- CDDARIP_ENCODER_WAV --> - <condition setting="audiocds.encoder" operator="!is">3</condition> <!-- CDDARIP_ENCODER_FLAC --> - <condition setting="audiocds.quality" operator="is">0</condition> <!-- CDDARIP_QUALITY_CBR --> - </and> - </dependency> - </dependencies> + <formatlabel>14048</formatlabel> </control> </setting> <setting id="audiocds.compressionlevel" type="integer" label="665" help=""> @@ -1392,11 +1415,10 @@ <step>1</step> <maximum>8</maximum> </constraints> - <control type="spinner" format="integer"> - <dependencies> - <dependency type="enable" setting="audiocds.encoder">3</dependency> <!-- CDDARIP_ENCODER_FLAC --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="audiocds.encoder">3</dependency> <!-- CDDARIP_ENCODER_FLAC --> + </dependencies> + <control type="spinner" format="integer" /> </setting> <setting id="audiocds.ejectonrip" type="boolean" label="14099" help=""> <level>1</level> @@ -1414,11 +1436,9 @@ <setting id="karaoke.autopopupselector" type="boolean" label="22037" help=""> <level>2</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> </setting> </group> <group id="2"> @@ -1428,11 +1448,10 @@ <constraints> <options>fonts</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="karaoke.fontheight" type="integer" label="22031" help=""> <level>2</level> @@ -1442,12 +1461,11 @@ <step>2</step> <maximum>74</maximum> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - <dependency type="update" setting="karaoke.font" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + <dependency type="update" setting="karaoke.font" /> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="karaoke.fontcolors" type="integer" label="22032" help=""> <level>2</level> @@ -1460,11 +1478,10 @@ <option label="22043">3</option> <!-- black/white --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="karaoke.charset" type="string" label="22033" help=""> <level>2</level> @@ -1472,29 +1489,24 @@ <constraints> <options>charsets</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> </group> <group id="3"> <setting id="karaoke.export" type="action" label="22038" help=""> <level>2</level> - <control> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> </setting> <setting id="karaoke.importcsv" type="action" label="22036" help=""> <level>2</level> - <control> - <dependencies> - <dependency type="enable" setting="karaoke.enabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="karaoke.enabled">true</dependency> + </dependencies> </setting> </group> </category> @@ -1511,7 +1523,9 @@ <setting id="mymusic.defaultlibview" type="string" label="0" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> + <constraints> + <allowempty>true</allowempty> + </constraints> </setting> </group> </category> @@ -1555,9 +1569,10 @@ <minimum>1</minimum> <step>1</step> <maximum>100</maximum> - <formatlabel>14045</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14045</formatlabel> + </control> </setting> <setting id="slideshow.displayeffects" type="boolean" label="12379" help=""> <level>0</level> @@ -1581,16 +1596,16 @@ <setting id="weather.addon" type="addon" label="24029" help=""> <level>0</level> <default>weather.wunderground</default> - <addontype>xbmc.python.weather</addontype> - <allowempty>true</allowempty> + <constraints> + <addontype>xbmc.python.weather</addontype> + <allowempty>true</allowempty> + </constraints> </setting> <setting id="weather.addonsettings" type="action" label="21417" help=""> <level>0</level> - <control type="button" format="action"> - <dependencies> - <dependency type="enable" on="property" name="AddonHasSettings" setting="weather.addon" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="AddonHasSettings" setting="weather.addon" /> + </dependencies> </setting> </group> </category> @@ -1614,11 +1629,9 @@ <setting id="services.upnpannounce" type="boolean" label="20188" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable" setting="services.upnpserver">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.upnpserver">true</dependency> + </dependencies> </setting> <setting id="services.upnprenderer" type="boolean" label="21881" help=""> <level>1</level> @@ -1650,27 +1663,31 @@ <setting id="services.webserverusername" type="string" label="1048" help=""> <level>2</level> <default>xbmc</default> - <allowempty>true</allowempty> - <control type="edit" format="string"> - <dependencies> - <dependency type="enable" setting="services.webserver">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="services.webserver">true</dependency> + </dependencies> + <control type="edit" format="string" /> </setting> <setting id="services.webserverpassword" type="string" label="733" help=""> <level>2</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="string" attributes="hidden"> - <dependencies> - <dependency type="enable" setting="services.webserver">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="services.webserver">true</dependency> + </dependencies> + <control type="edit" format="string" attributes="hidden" /> </setting> <setting id="services.webskin" type="addon" label="199" help=""> <level>1</level> <default>webinterface.default</default> - <addontype>xbmc.gui.webinterface</addontype> + <constraints> + <addontype>xbmc.gui.webinterface</addontype> + </constraints> </setting> </group> </category> @@ -1695,11 +1712,10 @@ <step>1</step> <maximum>65535</maximum> </constraints> - <control type="edit" format="integer"> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> + <control type="edit" format="integer" /> </setting> <setting id="services.esportrange" type="integer" label="793" help=""> <visible>HAS_EVENT_SERVER</visible> @@ -1710,11 +1726,10 @@ <step>1</step> <maximum>100</maximum> </constraints> - <control type="spinner" format="integer"> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> + <control type="spinner" format="integer" /> </setting> <setting id="services.esmaxclients" type="integer" label="797" help=""> <visible>HAS_EVENT_SERVER</visible> @@ -1725,20 +1740,17 @@ <step>1</step> <maximum>100</maximum> </constraints> - <control type="spinner" format="integer"> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> + <control type="spinner" format="integer" /> </setting> <setting id="services.esallinterfaces" type="boolean" label="794" help=""> <level>1</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> </setting> <setting id="services.esinitialdelay" type="integer" label="795" help=""> <visible>HAS_EVENT_SERVER</visible> @@ -1749,11 +1761,10 @@ <step>5</step> <maximum>10000</maximum> </constraints> - <control type="spinner" format="integer"> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> + <control type="spinner" format="integer" /> </setting> <setting id="services.escontinuousdelay" type="integer" label="796" help=""> <visible>HAS_EVENT_SERVER</visible> @@ -1764,11 +1775,10 @@ <step>5</step> <maximum>10000</maximum> </constraints> - <control type="spinner" format="integer"> - <dependencies> - <dependency type="enable" setting="services.esenabled">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.esenabled">true</dependency> + </dependencies> + <control type="spinner" format="integer" /> </setting> </group> </category> @@ -1791,21 +1801,20 @@ <setting id="services.useairplaypassword" type="boolean" label="1272" help=""> <level>1</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" setting="services.airplay">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="services.airplay">true</dependency> + </dependencies> </setting> <setting id="services.airplaypassword" type="string" label="733" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="string" attributes="hidden"> - <dependencies> - <dependency type="enable" setting="services.useairplaypassword">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="services.useairplaypassword">true</dependency> + </dependencies> + <control type="edit" format="string" attributes="hidden" /> </setting> </group> </category> @@ -1841,12 +1850,11 @@ <constraints> <options>resolutions</options> </constraints> - <control type="spinner" format="string" delayed="true"> - <dependencies> - <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> - <dependency type="update" setting="videoscreen.screen" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> + <dependency type="update" setting="videoscreen.screen" /> + </dependencies> + <control type="spinner" format="string" delayed="true" /> </setting> <setting id="videoscreen.screenmode" type="string" label="243" help=""> <visible>IsStandAlone</visible> @@ -1858,31 +1866,26 @@ <updates> <update type="change" /> </updates> - <control type="spinner" format="string" delayed="true"> - <dependencies> - <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> - <dependency type="update" setting="videoscreen.screen" /> - <dependency type="update" setting="videoscreen.resolution" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> + <dependency type="update" setting="videoscreen.screen" /> + <dependency type="update" setting="videoscreen.resolution" /> + </dependencies> + <control type="spinner" format="string" delayed="true" /> </setting> <setting id="videoscreen.fakefullscreen" type="boolean" label="14083" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="videoscreen.screen" operator="!is">-1</dependency> <!-- DM_WINDOWED --> + </dependencies> </setting> <setting id="videoscreen.blankdisplays" type="boolean" label="13130" help=""> <level>1</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" on="property" name="IsFullscreen" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="IsFullscreen" /> + </dependencies> </setting> </group> <group id="2"> @@ -1959,76 +1962,64 @@ <setting id="audiooutput.ac3passthrough" type="boolean" label="364" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <or> - <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> - <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> + <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> + </or> + </dependency> + </dependencies> </setting> <setting id="audiooutput.dtspassthrough" type="boolean" label="254" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <or> - <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> - <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> + <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> + </or> + </dependency> + </dependencies> </setting> <setting id="audiooutput.passthroughaac" type="boolean" label="299" help=""> <level>2</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable"> - <or> - <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> - <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> + <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> + </or> + </dependency> + </dependencies> </setting> <setting id="audiooutput.multichannellpcm" type="boolean" label="348" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable" setting="audiooutput.mode">2</dependency> <!-- AUDIO_HDMI --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="audiooutput.mode">2</dependency> <!-- AUDIO_HDMI --> + </dependencies> </setting> <setting id="audiooutput.truehdpassthrough" type="boolean" label="349" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable" setting="audiooutput.mode">2</dependency> <!-- AUDIO_HDMI --> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="audiooutput.mode">2</dependency> <!-- AUDIO_HDMI --> + </dependencies> </setting> <setting id="audiooutput.dtshdpassthrough" type="boolean" label="347" help=""> <level>2</level> <default>true</default> - <control> - <dependencies> - <dependency type="enable"> - <and> - <condition setting="audiooutput.dtspassthrough">true</condition> - <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> - </and> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <and> + <condition setting="audiooutput.dtspassthrough">true</condition> + <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> + </and> + </dependency> + </dependencies> </setting> </group> <group id="2"> @@ -2046,16 +2037,15 @@ <constraints> <options>audiodevicespassthrough</options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable"> - <or> - <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> - <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> - </or> - </dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable"> + <or> + <condition setting="audiooutput.mode">1</condition> <!-- AUDIO_IEC958 --> + <condition setting="audiooutput.mode">2</condition> <!-- AUDIO_HDMI --> + </or> + </dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> </group> <group id="3"> @@ -2077,11 +2067,9 @@ <group id="1"> <setting id="input.peripherals" type="action" label="35000" help=""> <level>1</level> - <control> - <dependencies> - <dependency type="enable" on="property" name="HasPeripherals" /> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="HasPeripherals" /> + </dependencies> </setting> </group> <group id="2"> @@ -2118,21 +2106,21 @@ <option label="1185">4</option> <!-- PROXY_SOCKS5_REMOTE --> </options> </constraints> - <control type="spinner" format="string"> - <dependencies> - <dependency type="enable" setting="network.usehttpproxy">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="network.usehttpproxy">true</dependency> + </dependencies> + <control type="spinner" format="string" /> </setting> <setting id="network.httpproxyserver" type="string" label="706" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="string"> - <dependencies> - <dependency type="enable" setting="network.usehttpproxy">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="network.usehttpproxy">true</dependency> + </dependencies> + <control type="edit" format="string" /> </setting> <setting id="network.httpproxyport" type="integer" label="730" help=""> <level>1</level> @@ -2142,31 +2130,32 @@ <step>1</step> <maximum>65535</maximum> </constraints> - <control type="edit" format="integer"> - <dependencies> - <dependency type="enable" setting="network.usehttpproxy">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="network.usehttpproxy">true</dependency> + </dependencies> + <control type="edit" format="integer" /> </setting> <setting id="network.httpproxyusername" type="string" label="1048" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="string"> - <dependencies> - <dependency type="enable" setting="network.usehttpproxy">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="network.usehttpproxy">true</dependency> + </dependencies> + <control type="edit" format="string" /> </setting> <setting id="network.httpproxypassword" type="string" label="733" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <control type="edit" format="string" attributes="hidden"> - <dependencies> - <dependency type="enable" setting="network.usehttpproxy">true</dependency> - </dependencies> - </control> + <constraints> + <allowempty>true</allowempty> + </constraints> + <dependencies> + <dependency type="enable" setting="network.usehttpproxy">true</dependency> + </dependencies> + <control type="edit" format="string" attributes="hidden" /> </setting> </group> <group id="2"> @@ -2177,9 +2166,10 @@ <minimum label="351">0</minimum> <step>512</step> <maximum>102400</maximum> - <formatlabel>14048</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14048</formatlabel> + </control> </setting> </group> </category> @@ -2192,9 +2182,10 @@ <minimum label="351">0</minimum> <step>5</step> <maximum>120</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="powermanagement.shutdowntime" type="integer" label="357" help=""> <level>2</level> @@ -2203,9 +2194,10 @@ <minimum label="351">0</minimum> <step>5</step> <maximum>120</maximum> - <formatlabel>14044</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14044</formatlabel> + </control> </setting> <setting id="powermanagement.shutdownstate" type="integer" label="13008" help=""> <level>2</level> @@ -2231,18 +2223,19 @@ </setting> <setting id="debug.setextraloglevel" type="action" label="666" help=""> <level>1</level> - <control type="button" format="action"> - <dependencies> - <dependency type="enable" setting="debug.showloginfo">true</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" setting="debug.showloginfo">true</dependency> + </dependencies> </setting> <setting id="debug.screenshotpath" type="path" label="20004" help=""> <level>1</level> <default></default> - <allowempty>true</allowempty> - <heading>657</heading> - <control type="button" format="path" /> + <constraints> + <allowempty>true</allowempty> + </constraints> + <control type="button" format="path"> + <heading>657</heading> + </control> </setting> </group> </category> @@ -2257,11 +2250,9 @@ <setting id="masterlock.startuplock" type="boolean" label="20076" help=""> <level>2</level> <default>false</default> - <control> - <dependencies> - <dependency type="enable" on="property" name="ProfileLockMode" operator="!is">0</dependency> - </dependencies> - </control> + <dependencies> + <dependency type="enable" on="property" name="ProfileLockMode" operator="!is">0</dependency> + </dependencies> </setting> <setting id="masterlock.maxretries" type="integer" label="12364" help=""> <level>4</level> @@ -2285,9 +2276,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>4096</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> </group> <group id="2"> @@ -2298,9 +2290,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> <setting id="cachevideo.lan" type="integer" label="14027" help=""> <level>4</level> @@ -2309,9 +2302,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> <setting id="cachevideo.internet" type="integer" label="14028" help=""> <level>4</level> @@ -2320,9 +2314,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> </group> <group id="3"> @@ -2333,9 +2328,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>4096</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> <setting id="cacheaudio.lan" type="integer" label="14031" help=""> <level>4</level> @@ -2344,9 +2340,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>4096</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> <setting id="cacheaudio.internet" type="integer" label="14032" help=""> <level>4</level> @@ -2355,9 +2352,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>4096</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> </group> <group id="4"> @@ -2368,9 +2366,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> <setting id="cachedvd.lan" type="integer" label="14060" help=""> <level>4</level> @@ -2379,9 +2378,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> </group> <group id="5"> @@ -2392,9 +2392,10 @@ <minimum label="351">0</minimum> <step>256</step> <maximum>16384</maximum> - <formatlabel>14049</formatlabel> </constraints> - <control type="spinner" format="string" /> + <control type="spinner" format="string"> + <formatlabel>14049</formatlabel> + </control> </setting> </group> </category> @@ -2403,7 +2404,9 @@ <setting id="system.playlistspath" type="path" label="20006" help=""> <level>4</level> <default></default> - <allowempty>true</allowempty> + <constraints> + <allowempty>true</allowempty> + </constraints> </setting> </group> </category> diff --git a/xbmc/settings/Setting.cpp b/xbmc/settings/Setting.cpp index dc8bb65169..41b026155b 100644 --- a/xbmc/settings/Setting.cpp +++ b/xbmc/settings/Setting.cpp @@ -31,11 +31,17 @@ #define XML_ELM_DEFAULT "default" #define XML_ELM_VALUE "value" -#define XML_ELM_CONSTRAINTS "constraints" -#define XML_ELM_OPTIONS "options" -#define XML_ELM_MINIMUM "minimum" -#define XML_ELM_STEP "step" -#define XML_ELM_MAXIMUM "maximum" +#define XML_ELM_CONTROL "control" +#define XML_ELM_CONSTRAINTS "constraints" +#define XML_ELM_OPTIONS "options" +#define XML_ELM_OPTION "option" +#define XML_ELM_MINIMUM "minimum" +#define XML_ELM_STEP "step" +#define XML_ELM_MAXIMUM "maximum" +#define XML_ELM_DEPENDENCIES "dependencies" +#define XML_ELM_DEPENDENCY "dependency" +#define XML_ELM_UPDATES "updates" +#define XML_ELM_UPDATE "update" CSetting::CSetting(const std::string &id, CSettingsManager *settingsManager /* = NULL */) : ISetting(id, settingsManager), @@ -81,7 +87,23 @@ bool CSetting::Deserialize(const TiXmlNode *node, bool update /* = false */) if (m_level < (int)SettingLevelBasic || m_level > (int)SettingLevelInternal) m_level = SettingLevelStandard; - const TiXmlElement *control = node->FirstChildElement("control"); + const TiXmlNode *dependencies = node->FirstChild(XML_ELM_DEPENDENCIES); + if (dependencies != NULL) + { + const TiXmlNode *dependencyNode = dependencies->FirstChild(XML_ELM_DEPENDENCY); + while (dependencyNode != NULL) + { + CSettingDependency dependency(m_settingsManager); + if (dependency.Deserialize(dependencyNode)) + m_dependencies.push_back(dependency); + else + CLog::Log(LOGWARNING, "CSetting: error reading <dependency> tag of \"%s\"", m_id.c_str()); + + dependencyNode = dependencyNode->NextSibling(XML_ELM_DEPENDENCY); + } + } + + const TiXmlElement *control = node->FirstChildElement(XML_ELM_CONTROL); if (control != NULL) { if (!m_control.Deserialize(control, update) || @@ -90,28 +112,12 @@ bool CSetting::Deserialize(const TiXmlNode *node, bool update /* = false */) CLog::Log(LOGERROR, "CSetting: error reading <control> tag of \"%s\"", m_id.c_str()); return false; } - - const TiXmlNode *dependencies = control->FirstChild("dependencies"); - if (dependencies != NULL) - { - const TiXmlNode *dependencyNode = dependencies->FirstChild("dependency"); - while (dependencyNode != NULL) - { - CSettingDependency dependency(m_settingsManager); - if (dependency.Deserialize(dependencyNode)) - m_dependencies.push_back(dependency); - else - CLog::Log(LOGWARNING, "CSetting: error reading <dependency> tag of \"%s\"", m_id.c_str()); - - dependencyNode = dependencyNode->NextSibling("dependency"); - } - } } - const TiXmlNode *updates = node->FirstChild("updates"); + const TiXmlNode *updates = node->FirstChild(XML_ELM_UPDATES); if (updates != NULL) { - const TiXmlElement *updateElem = updates->FirstChildElement("update"); + const TiXmlElement *updateElem = updates->FirstChildElement(XML_ELM_UPDATE); while (updateElem != NULL) { CSettingUpdate update; @@ -123,7 +129,7 @@ bool CSetting::Deserialize(const TiXmlNode *node, bool update /* = false */) else CLog::Log(LOGWARNING, "CSetting: error reading <update> tag of \"%s\"", m_id.c_str()); - updateElem = updateElem->NextSiblingElement("update"); + updateElem = updateElem->NextSiblingElement(XML_ELM_UPDATE); } } @@ -409,6 +415,13 @@ bool CSettingInt::Deserialize(const TiXmlNode *node, bool update /* = false */) return false; } + if (m_control.GetFormat() == SettingControlFormatString) + { + const TiXmlNode *control = node->FirstChild(XML_ELM_CONTROL); + if (control != NULL) + XMLUtils::GetInt(control, "formatlabel", m_format); + } + const TiXmlNode *constraints = node->FirstChild(XML_ELM_CONSTRAINTS); if (constraints != NULL) { @@ -421,7 +434,7 @@ bool CSettingInt::Deserialize(const TiXmlNode *node, bool update /* = false */) else { m_options.clear(); - const TiXmlElement *optionElement = options->FirstChildElement("option"); + const TiXmlElement *optionElement = options->FirstChildElement(XML_ELM_OPTION); while (optionElement != NULL) { std::pair<int, int> entry; @@ -431,7 +444,7 @@ bool CSettingInt::Deserialize(const TiXmlNode *node, bool update /* = false */) m_options.push_back(entry); } - optionElement = optionElement->NextSiblingElement("option"); + optionElement = optionElement->NextSiblingElement(XML_ELM_OPTION); } } } @@ -449,16 +462,11 @@ bool CSettingInt::Deserialize(const TiXmlNode *node, bool update /* = false */) // get maximum XMLUtils::GetInt(constraints, XML_ELM_MAXIMUM, m_max); - if (m_control.GetFormat() == SettingControlFormatString) + if (m_control.GetFormat() == SettingControlFormatString && m_labelMin < 0) { - XMLUtils::GetInt(constraints, "formatlabel", m_format); - - if (m_labelMin < 0) - { - CStdString strFormat; - if (XMLUtils::GetString(constraints, "format", strFormat) && !strFormat.empty()) - m_strFormat = strFormat; - } + CStdString strFormat; + if (XMLUtils::GetString(constraints, "format", strFormat) && !strFormat.empty()) + m_strFormat = strFormat; } } @@ -792,25 +800,20 @@ bool CSettingString::Deserialize(const TiXmlNode *node, bool update /* = false * CLog::Log(LOGERROR, "CSettingString: invalid <control> of \"%s\"", m_id.c_str()); return false; } - - // get allowempty (needs to be parsed before parsing the default value) - XMLUtils::GetBoolean(node, "allowempty", m_allowEmpty); - // get heading - XMLUtils::GetInt(node, "heading", m_heading); - - // get the default value - CStdString value; - if (XMLUtils::GetString(node, XML_ELM_DEFAULT, value)) - m_value = m_default = value; - else if (!update && !m_allowEmpty) + + const TiXmlNode *control = node->FirstChild(XML_ELM_CONTROL); + if (control != NULL) { - CLog::Log(LOGERROR, "CSettingString: error reading the default value of \"%s\"", m_id.c_str()); - return false; + // get heading + XMLUtils::GetInt(control, "heading", m_heading); } const TiXmlNode *constraints = node->FirstChild(XML_ELM_CONSTRAINTS); if (constraints != NULL) { + // get allowempty (needs to be parsed before parsing the default value) + XMLUtils::GetBoolean(constraints, "allowempty", m_allowEmpty); + // get the entries const TiXmlNode *options = constraints->FirstChild(XML_ELM_OPTIONS); if (options != NULL && options->FirstChild() != NULL && @@ -818,6 +821,16 @@ bool CSettingString::Deserialize(const TiXmlNode *node, bool update /* = false * m_optionsFiller = options->FirstChild()->ValueStr(); } + // get the default value + CStdString value; + if (XMLUtils::GetString(node, XML_ELM_DEFAULT, value)) + m_value = m_default = value; + else if (!update && !m_allowEmpty) + { + CLog::Log(LOGERROR, "CSettingString: error reading the default value of \"%s\"", m_id.c_str()); + return false; + } + return true; } diff --git a/xbmc/settings/SettingAddon.cpp b/xbmc/settings/SettingAddon.cpp index bcf6dd38d6..4a60657350 100644 --- a/xbmc/settings/SettingAddon.cpp +++ b/xbmc/settings/SettingAddon.cpp @@ -68,15 +68,19 @@ bool CSettingAddon::Deserialize(const TiXmlNode *node, bool update /* = false */ CLog::Log(LOGERROR, "CSettingAddon: error reading the default value of \"%s\"", m_id.c_str()); return false; } - - // get the addon type + + bool ok = false; CStdString strAddonType; - bool ok = XMLUtils::GetString(node, "addontype", strAddonType); - if (ok) + const TiXmlNode *constraints = node->FirstChild("constraints"); + if (constraints != NULL) { - m_addonType = ADDON::TranslateType(strAddonType); - if (m_addonType == ADDON::ADDON_UNKNOWN) - ok = false; + // get the addon type + if (XMLUtils::GetString(constraints, "addontype", strAddonType)) + { + m_addonType = ADDON::TranslateType(strAddonType); + if (m_addonType != ADDON::ADDON_UNKNOWN) + ok = true; + } } if (!ok && !update) |