2007-11-07, 23:19
If you have written a plugin/script and you want to have GUI settings attached to it (by right-clicking on it and selecting "Plugin Settings/Script Settings"), do the following:
1. Under your plugin/script dir create a "resources" dir.
2. Create the file resources/settings.xml. An example of how such a file would look like for a Flickr plugin:
3. As you can see the labels use a resource file. To create one for english (for example), create the file: resources/language/english/strings.xml. For example:
4. The user edited plugin/script settings are stored at special://profile/ settings.xml. For example:
5a. To get the settings values in the plugin do xbmcplugin.getSetting(id). For example:
theKey = xbmcplugin.getSetting("api_key")
5a. To get the settings values in the script do xbmc.getSetting(id). For example:
theKey = xbmc.getSetting("api_key")
check the pydocs.
Good luck!
1. Under your plugin/script dir create a "resources" dir.
2. Create the file resources/settings.xml. An example of how such a file would look like for a Flickr plugin:
Code:
<settings>
<setting id="api_key" type="text" label="30000" default="123456789ABCDEF"/>
<setting id="shared_secret" type="text" label="30001" default="123456789"/>
<setting id="privacy" type="bool" label="30002" default="true"/>
<setting id="perpage" type="enum" label="30003" values="5|10|15|20|25|30" def
ault="3"/>
<setting id="full_details" type="bool" label="30004" default="false"/>
</settings>
3. As you can see the labels use a resource file. To create one for english (for example), create the file: resources/language/english/strings.xml. For example:
Code:
<strings>
<string id="30000">Flickr API Key</string>
<string id="30001">Shared Secret</string>
<string id="30002">Include Adult Content</string>
<string id="30003">Number of Pictures per Page</string>
<string id="30004">Include More Details</string>
</strings>
4. The user edited plugin/script settings are stored at special://profile/ settings.xml. For example:
Code:
<settings>
<setting id="api_key" value="123456789ABCDEF" />
<setting id="shared_secret" value="123456789" />
<setting id="privacy" value="false" />
<setting id="perpage" value="3" />
<setting id="full_details" value="true" />
</settings>
5a. To get the settings values in the plugin do xbmcplugin.getSetting(id). For example:
theKey = xbmcplugin.getSetting("api_key")
5a. To get the settings values in the script do xbmc.getSetting(id). For example:
theKey = xbmc.getSetting("api_key")
check the pydocs.
Good luck!