settings: move <addontype> tag into <constraints> tag
authormontellese <montellese@xbmc.org>
Sat, 18 May 2013 10:51:35 +0000 (12:51 +0200)
committermontellese <montellese@xbmc.org>
Tue, 21 May 2013 18:11:37 +0000 (20:11 +0200)
system/settings/settings.xml
xbmc/settings/SettingAddon.cpp

index 7ce627e..49ee1f5 100644 (file)
@@ -6,7 +6,9 @@
         <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>
         <setting id="screensaver.mode" type="addon" label="356" help="">
           <level>0</level>
           <default>screensaver.xbmc.builtin.dim</default>
-          <addontype>xbmc.ui.screensaver</addontype>
           <constraints>
+            <addontype>xbmc.ui.screensaver</addontype>
             <allowempty>true</allowempty>
           </constraints>
           <updates>
         <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>
         <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>
         <setting id="musicplayer.visualisation" type="addon" label="250" help="">
           <level>0</level>
           <default>visualization.glspectrum</default>
-          <addontype>xbmc.player.musicviz</addontype>
           <constraints>
+            <addontype>xbmc.player.musicviz</addontype>
             <allowempty>true</allowempty>
           </constraints>
         </setting>
         <setting id="weather.addon" type="addon" label="24029" help="">
           <level>0</level>
           <default>weather.wunderground</default>
-          <addontype>xbmc.python.weather</addontype>
           <constraints>
+            <addontype>xbmc.python.weather</addontype>
             <allowempty>true</allowempty>
           </constraints>
         </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>
index bcf6dd3..4a60657 100644 (file)
@@ -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)