Basic functionality

This commit is contained in:
theDeadMan 2017-12-21 14:16:56 +00:00
parent d863512fd2
commit 2543096a78
42 changed files with 204 additions and 186 deletions

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<window>
<defaultcontrol always="true">50</defaultcontrol>
<views>50,51</views>
<controls>
<include>globalBackground</include>
<control type="group" id="9999">
@ -174,7 +175,7 @@
<colordiffuse>overlay</colordiffuse>
<aspectratio>stretch</aspectratio>
</control>
<control type="panel" id="50">
<control type="panel" id="51">
<visible>!String.IsEqual(container.folderpath,addons://)</visible>
<posx>0</posx>
<posy>73</posy>
@ -299,7 +300,7 @@
<colordiffuse></colordiffuse>
</control>
<control type="image">
<visible>!isempty(ListItem.AddonSummary)</visible>
<visible>!String.IsEmpty(ListItem.AddonSummary)</visible>
<posx>0</posx>
<posy>577</posy>
<width>8-col</width>

View File

@ -83,7 +83,7 @@
</item>
<item id="6">
<label>$LOCALIZE[20126] $INFO[system.profilename]</label>
<visible>System.HasLoginScreen | IntegerGreaterThan(System.ProfileCount,1)</visible>
<visible>System.HasLoginScreen | Integer.IsGreater(System.ProfileCount,1)</visible>
<visible>System.Loggedon</visible>
<thumb></thumb>
<onclick>dialog.close(all,true)</onclick>

View File

@ -26,7 +26,7 @@
<bordersize>6,0,0,0</bordersize>
</control>
<control type="label" id="30">
<visible>!StringCompare(control.getlabel(30),control.getlabel(31))</visible>
<visible>!String.IsEqual(control.getlabel(30),control.getlabel(31))</visible>
<description>heading</description>
<posx>24</posx>
<posy>0</posy>
@ -43,7 +43,7 @@
</animation>
</control>
<control type="label">
<visible>StringCompare(control.getlabel(30),control.getlabel(31))</visible>
<visible>String.IsEqual(control.getlabel(30),control.getlabel(31))</visible>
<description>heading</description>
<posx>24</posx>
<posy>0</posy>

View File

@ -30,7 +30,7 @@
<label>$LOCALIZE[1036]</label>
</control>
<control type="label">
<visible>!IntegerGreaterThan(Container(450).NumItems,0)</visible>
<visible>!Integer.IsGreater(Container(450).NumItems,0)</visible>
<posx>0</posx>
<posy>45</posy>
<width>8-col</width>

View File

@ -51,7 +51,7 @@
<posx>col-1-begin</posx>
<posy>0</posy>
<control type="label" id="311">
<visible>String.IsEmpty(Container(5000).ListItem.Label) | String.IsEmpty(Control.GetLabel(312).index(1))</visible>
<visible>String.String.IsEmpty(Container(5000).ListItem.Label) | String.String.IsEmpty(Control.GetLabel(312).index(1))</visible>
<description>header label</description>
<posx>0</posx>
<posy>-18</posy>

View File

@ -28,7 +28,7 @@
</control>
<control type="label" id="401">
<description>heading</description>
<visible>!StringCompare(control.getlabel(401),control.getlabel(402))</visible>
<visible>!String.IsEqual(control.getlabel(401),control.getlabel(402))</visible>
<posx>24</posx>
<posy>0</posy>
<font>itemSubTitle</font>
@ -44,7 +44,7 @@
</animation>
</control>
<control type="label">
<visible>StringCompare(control.getlabel(401),control.getlabel(402))</visible>
<visible>String.IsEqual(control.getlabel(401),control.getlabel(402))</visible>
<posx>24</posx>
<posy>0</posy>
<font>itemSubTitle</font>

View File

@ -39,7 +39,7 @@
<aspectratio>stretch</aspectratio>
</control>
<control type="label">
<visible>IsEmpty(Window.Property(IsRadio))</visible>
<visible>String.IsEmpty(Window.Property(IsRadio))</visible>
<posx>24</posx>
<posy>0</posy>
<width>16-col</width>
@ -51,7 +51,7 @@
<shadowcolor></shadowcolor>
</control>
<control type="label">
<visible>!IsEmpty(Window.Property(IsRadio))</visible>
<visible>!String.IsEmpty(Window.Property(IsRadio))</visible>
<posx>24</posx>
<posy>0</posy>
<width>16-col</width>
@ -266,7 +266,7 @@
<ondown>34</ondown>
</control>
<control type="button" id="34">
<visible>IsEmpty(Window.Property(IsRadio))</visible>
<visible>String.IsEmpty(Window.Property(IsRadio))</visible>
<description>TV/Radio Button</description>
<posx>0</posx>
<posy>14-row</posy>
@ -278,7 +278,7 @@
<ondown>31</ondown>
</control>
<control type="button" id="34">
<visible>!IsEmpty(Window.Property(IsRadio))</visible>
<visible>!String.IsEmpty(Window.Property(IsRadio))</visible>
<description>TV/Radio Button</description>
<posx>0</posx>
<posy>14-row</posy>

View File

@ -194,7 +194,9 @@
<font>buttonTitle</font>
<textcolor>textActive</textcolor>
<shadowcolor></shadowcolor>
<label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
<label>$INFO[ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel,(,) - ]$INFO[ListItem.ChannelName]</label>
</control>
</itemlayout>
<focusedlayout height="2-row" width="8-col">
@ -230,7 +232,9 @@
<textcolor>black</textcolor>
<selectedcolor>black</selectedcolor>
<shadowcolor></shadowcolor>
<label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
<label>$INFO[ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel,(,) - ]$INFO[ListItem.ChannelName]</label>
</control>
</focusedlayout>
</control>
@ -285,7 +289,9 @@
<font>buttonTitle</font>
<textcolor>textActive</textcolor>
<shadowcolor></shadowcolor>
<label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
<label>$INFO[ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel,(,) - ]$INFO[ListItem.ChannelName]</label>
</control>
</itemlayout>
<focusedlayout height="2-row" width="8-col">
@ -321,7 +327,9 @@
<textcolor>black</textcolor>
<selectedcolor>black</selectedcolor>
<shadowcolor></shadowcolor>
<label>$INFO[ListItem.ChannelNumber,(,) - ]$INFO[ListItem.ChannelName]</label>
<label>$INFO[ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel
ListItem.ChannelNumberLabel,(,) - ]$INFO[ListItem.ChannelName]</label>
</control>
</focusedlayout>
</control>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<window>
<visible>!window.isactive(videoosd) + !window.isactive(osdvideosettings) + !window.isactive(osdaudiosettings) + !Window.IsActive(DialogSubtitles.xml) + !Window.IsVisible(fullscreeninfo) + [VideoPlayer.IsFullscreen + !Window.IsVisible(visualisation)] + [!IsEmpty(Player.SeekNumeric) | Player.Seeking | Player.DisplayAfterSeek | Player.Paused | Player.Forwarding | Player.Rewinding]</visible>
<visible>!window.isactive(videoosd) + !window.isactive(osdvideosettings) + !window.isactive(osdaudiosettings) + !Window.IsActive(DialogSubtitles.xml) + !Window.IsVisible(fullscreeninfo) + [VideoPlayer.IsFullscreen + !Window.IsVisible(visualisation)] + [!String.IsEmpty(Player.SeekNumeric) | Player.Seeking | Player.DisplayAfterSeek | Player.Paused | Player.Forwarding | Player.Rewinding]</visible>
<controls>
<control type="image">
<include>dimensionsFullscreen</include>
@ -12,7 +12,7 @@
<posx>col-1-begin</posx>
<posy>row-20-begin</posy>
<control type="label">
<visible>!IsEmpty(Player.SeekNumeric)</visible>
<visible>!String.IsEmpty(Player.SeekNumeric)</visible>
<posx>0</posx>
<posy>12</posy>
<width>24-col</width>
@ -80,7 +80,7 @@
<orientation>horizontal</orientation>
</control>
<control type="label">
<visible>stringcompare(VideoPlayer.TVShowTitle,Player.title)</visible>
<visible>String.IsEqual(VideoPlayer.TVShowTitle,Player.title)</visible>
<posx>0</posx>
<posy>1-row</posy>
<width>18-col</width>
@ -91,7 +91,7 @@
<shadowcolor></shadowcolor>
</control>
<control type="label">
<visible>!stringcompare(VideoPlayer.TVShowTitle,Player.title)</visible>
<visible>!String.IsEqual(VideoPlayer.TVShowTitle,Player.title)</visible>
<posx>0</posx>
<posy>1-row</posy>
<width>18-col</width>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<window>
<defaultcontrol always="true">9000</defaultcontrol>
<onload condition="!IntegerGreaterThan(container(3).numitems,0) + !IntegerGreaterThan(container(6).numitems,0)">control.SetFocus(9999)</onload>
<onload condition="!Integer.IsGreater(container(3).numitems,0) + !Integer.IsGreater(container(6).numitems,0)">control.SetFocus(9999)</onload>
<controls>
<!--background-->
<include condition="!Player.HasVideo">globalBackground</include>

View File

@ -7,7 +7,7 @@
<controls>
<!--background-->
<control type="image">
<visible>!Substring(Container.folderpath,plugin) + !container.content(episodes)</visible>
<visible>!String.Contains(Container.folderpath,plugin) + !container.content(episodes)</visible>
<posx>0</posx>
<posy>0</posy>
<include>dimensionsFullscreen</include>
@ -16,7 +16,7 @@
<aspectratio>stretch</aspectratio>
</control>
<control type="image">
<visible>Substring(Container.folderpath,plugin) | container.content(episodes)</visible>
<visible>String.Contains(Container.folderpath,plugin) | container.content(episodes)</visible>
<posx>0</posx>
<posy>0</posy>
<include>dimensionsFullscreen</include>
@ -26,7 +26,7 @@
</control>
<!--movie / tv show fanart-->
<control type="group">
<include condition="!Substring(Container.folderpath,plugin) + !container.content(episodes)">itemShowcase</include>
<include condition="!String.Contains(Container.folderpath,plugin) + !container.content(episodes)">itemShowcase</include>
<!--music video-->
<control type="group">
<visible>container.content(musicvideos)</visible>
@ -77,7 +77,7 @@
</control>
<!--content is movie, music video or tvshow (from XBMC Library)-->
<control type="group">
<visible>!Substring(Container.folderpath,plugin) + !container.content(episodes)</visible>
<visible>!String.Contains(Container.folderpath,plugin) + !container.content(episodes)</visible>
<posx>1200</posx>
<posy>0</posy>
<animation type="Windowopen">
@ -342,7 +342,7 @@
<!--content is tvshow episode or content is from a plugin-->
<control type="group">
<visible>Substring(Container.folderpath,plugin) | container.content(episodes)</visible>
<visible>String.Contains(Container.folderpath,plugin) | container.content(episodes)</visible>
<!--animations-->
<include>modalDialogInOut</include>
<!--thumbnail if available-->
@ -513,7 +513,7 @@
<onclick>sendclick(2003,8)</onclick>
</item>
<item id="2">
<visible>!Substring(Container.folderpath,plugin)</visible>
<visible>!String.Contains(Container.folderpath,plugin)</visible>
<label>31076</label>
<label2></label2>
<thumb></thumb>

View File

@ -9,7 +9,7 @@
<!--fanart (if available)-->
<control type="image">
<visible>SubString(ListItem.label,fanart)</visible>
<visible>String.Contains(ListItem.label,fanart)</visible>
<include>dimensionsFullscreen</include>
<texture>$INFO[listitem.thumb]</texture>
<colordiffuse>6affffff</colordiffuse>
@ -17,7 +17,7 @@
<fadetime>400</fadetime>
</control>
<control type="image">
<visible>!SubString(ListItem.label,fanart)</visible>
<visible>!String.Contains(ListItem.label,fanart)</visible>
<include>dimensionsFullscreen</include>
<texture>$INFO[listitem.FileNameAndPath]</texture>
<colordiffuse>ffffffff</colordiffuse>
@ -27,7 +27,7 @@
<!--poster (if available)-->
<control type="image">
<visible>SubString(ListItem.label,remote art)</visible>
<visible>String.Contains(ListItem.label,remote art)</visible>
<include>dimensionsFullscreen</include>
<texture>$INFO[listitem.thumb]</texture>
<colordiffuse>6affffff</colordiffuse>

View File

@ -26,25 +26,25 @@
<include file="Includes_mediaShowcase.xml"/>
<!--view type conditions-->
<expression name="isVideoList">!Substring(container.folderpath,special://profile/playlists/video) + !Substring(container.folderpath,videodb://) + !Substring(container.folderpath,plugin://) |container.content(files) | isempty(container.content) | container.content(playlists) | container.content(addons)</expression>
<expression name="isMovie">container.content(movies) + [Substring(container.folderpath,videodb://) | Substring(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isAddonMovieOrTVshow">!Substring(container.folderpath,videodb://) + Substring(container.folderpath,plugin://) + [container.content(movies) | container.content(tvshows)]</expression>
<expression name="isVideoList">!String.Contains(container.folderpath,special://profile/playlists/video) + !String.Contains(container.folderpath,videodb://) + !String.Contains(container.folderpath,plugin://) |container.content(files) | String.IsEmpty(container.content) | container.content(playlists) | container.content(addons)</expression>
<expression name="isMovie">container.content(movies) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isAddonMovieOrTVshow">!String.Contains(container.folderpath,videodb://) + String.Contains(container.folderpath,plugin://) + [container.content(movies) | container.content(tvshows)]</expression>
<expression name="isTVShow">container.content(tvshows) + [Substring(container.folderpath,videodb://) | Substring(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isSeason">container.content(seasons) + Substring(container.folderpath,videodb://)</expression>
<expression name="isEpisode">container.content(episodes) + !Substring(Container.folderpath,plugin)</expression>
<expression name="isMusicVideo">container.content(musicvideos) + !Substring(Container.folderpath,plugin)</expression>
<expression name="isTVShow">container.content(tvshows) + [String.Contains(container.folderpath,videodb://) | String.Contains(container.folderpath,special://profile/playlists/video)]</expression>
<expression name="isSeason">container.content(seasons) + String.Contains(container.folderpath,videodb://)</expression>
<expression name="isEpisode">container.content(episodes) + !String.Contains(Container.folderpath,plugin)</expression>
<expression name="isMusicVideo">container.content(musicvideos) + !String.Contains(Container.folderpath,plugin)</expression>
<expression name="isMusicList">!Substring(container.folderpath,musicdb://) | Substring(container.foldername,Files) | container.content(files) | container.content(addons) | [container.content(playlists) + !Substring(Container.folderpath,special://profile/playlists)] | Substring(Container.folderpath,plugin://)</expression>
<expression name="isMusicArtist">container.content(artists) + [Substring(container.folderpath,musicdb://) | Substring(Container.folderpath,special://profile/playlists)]</expression>
<expression name="isMusicArtistCatalogue">container.content(albums) + Substring(container.folderpath,albumartistsonly)</expression>
<expression name="isMusicAlbum">container.content(albums) + [Substring(container.folderpath,musicdb://) | Substring(Container.folderpath,special://profile/playlists)]</expression>
<expression name="isMusicGenre">container.content(genres) + Substring(container.folderpath,musicdb://)</expression>
<expression name="isMusicSong">container.content(songs) + Substring(Container.folderpath,musicdb://)</expression>
<expression name="isMusicPlaylist">container.content(songs) + [Substring(Container.folderpath,.xsp) | Substring(Container.foldername,PartyMode) | Substring(Container.folderpath,playlistmusic://)]</expression>
<expression name="isMusicList">!String.Contains(container.folderpath,musicdb://) | String.Contains(container.foldername,Files) | container.content(files) | container.content(addons) | [container.content(playlists) + !String.Contains(Container.folderpath,special://profile/playlists)] | String.Contains(Container.folderpath,plugin://)</expression>
<expression name="isMusicArtist">container.content(artists) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression>
<expression name="isMusicArtistCatalogue">container.content(albums) + String.Contains(container.folderpath,albumartistsonly)</expression>
<expression name="isMusicAlbum">container.content(albums) + [String.Contains(container.folderpath,musicdb://) | String.Contains(Container.folderpath,special://profile/playlists)]</expression>
<expression name="isMusicGenre">container.content(genres) + String.Contains(container.folderpath,musicdb://)</expression>
<expression name="isMusicSong">container.content(songs) + String.Contains(Container.folderpath,musicdb://)</expression>
<expression name="isMusicPlaylist">container.content(songs) + [String.Contains(Container.folderpath,.xsp) | String.Contains(Container.foldername,PartyMode) | String.Contains(Container.folderpath,playlistmusic://)]</expression>
<!--weather-->
<expression name="hasWeather">!isempty(Window(Weather).Property(WeatherProvider)) + !String.isempty(weather.temperature) + !String.isempty(weather.conditions)</expression>
<expression name="hasWeather">!String.IsEmpty(Window(Weather).Property(WeatherProvider)) + !String.String.IsEmpty(weather.temperature) + !String.String.IsEmpty(weather.conditions)</expression>
<!--item fanart-->
<include name="itemFanart">
@ -85,12 +85,12 @@
<!--keyboard autocomplete-->
<include name="AutoComplete">
<control type="group">
<visible>!String.IsEmpty(Control.GetLabel(312).index(1)) + !Control.IsVisible(313)</visible>
<visible>!String.String.IsEmpty(Control.GetLabel(312).index(1)) + !Control.IsVisible(313)</visible>
<posx>0</posx>
<posy>0</posy>
<control type="group">
<animation effect="fade" time="300" tween="cubic" start="0" end="100" reversible="false" condition="!String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
<animation effect="fade" time="150" tween="cubic" start="100" end="0" reversible="false" condition="String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
<animation effect="fade" time="300" tween="cubic" start="0" end="100" reversible="false" condition="!String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
<animation effect="fade" time="150" tween="cubic" start="100" end="0" reversible="false" condition="String.String.IsEmpty(Container(5000).ListItem.Label)">Conditional</animation>
</control>
<control type="panel" id="5000">
<posx>col-5-begin</posx>
@ -218,7 +218,7 @@
<effect type="zoom" start="100" end="80" center="960,540" easing="in" tween="back" time="240" />
<effect type="fade" start="100" end="0" time="240" />
</animation>
<visible>!Window.IsActive(startup) + !isempty(container.foldername) + !IntegerGreaterThan(container.numitems,0) + !ListItem.IsParentFolder | window.isactive(busydialog)</visible>
<visible>!Window.IsActive(startup) + !String.IsEmpty(container.foldername) + !Integer.IsGreater(container.numitems,0) + !ListItem.IsParentFolder | window.isactive(busydialog)</visible>
<control type="image">
<texture>colors/black.png</texture>
<include>dimensionsFullscreen</include>

View File

@ -40,12 +40,11 @@
<control type="label">
<posx>col-1-begin</posx>
<posy>row-1-begin</posy>
<width>1-col</width>
<height>1-col</height>
<width>73</width>
<height>73</height>
<font>symbolVeryLarge</font>
<aligny>center</aligny>
<textcolor>textActive</textcolor>
<shadowcolor></shadowcolor>
<label>$VAR[menuLogo]</label>
</control>
<control type="list" id="9001">

View File

@ -13,7 +13,7 @@
<onclick>RunScript(script.globalsearch,movies=true&amp;tvshows=true&amp;episodes=true)</onclick>
</control>
<control type="button" id="3">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort by</description>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<focusedcolor>textActive</focusedcolor>
@ -22,7 +22,7 @@
<onclick>sendclick(videos,3)</onclick>
</control>
<control type="togglebutton" id="4">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort direction</description>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<alttexturefocus colordiffuse="highlight">colors/white.png</alttexturefocus>
@ -100,7 +100,7 @@
<onclick>RunScript(script.globalsearch,artists=true&amp;albums=true)</onclick>
</control>
<control type="button" id="3">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort by</description>
<width>6-col</width>
<focusedcolor>textActive</focusedcolor>
@ -109,7 +109,7 @@
<onclick>sendclick(music,3)</onclick>
</control>
<control type="togglebutton" id="4">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort direction</description>
<label>31109</label>
<altlabel>31110</altlabel>
@ -164,7 +164,7 @@
<include name="picturesSideMenu">
<!--sorting-->
<control type="button" id="3">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort by</description>
<width>6-col</width>
<focusedcolor>textActive</focusedcolor>
@ -173,7 +173,7 @@
<onclick>sendclick(pictures,3)</onclick>
</control>
<control type="togglebutton" id="4">
<visible>!isempty(Container.SortMethod)</visible>
<visible>!String.IsEmpty(Container.SortMethod)</visible>
<description>Sort direction</description>
<label>31109</label>
<altlabel>31110</altlabel>

View File

@ -28,35 +28,35 @@
</animation>
<!--movement-->
<animation effect="slide" time="200" end="0,0" condition="Control.HasFocus(999981)">condition</animation>
<animation effect="slide" time="200" end="-1354,0" condition="Control.HasFocus(999982) + !isempty(listitem.tagline)">condition</animation><!--fanart1 has tagline-->
<animation effect="slide" time="200" end="-500,0" condition="Control.HasFocus(999982) + isempty(listitem.tagline)">condition</animation><!--fanart 1 no tagline-->
<animation effect="slide" time="200" end="-2896,0" condition="Control.HasFocus(999983) + !isempty(listitem.tagline)">condition</animation><!--cast has tagline-->
<animation effect="slide" time="200" end="-2042,0" condition="Control.HasFocus(999983) + isempty(listitem.tagline)">condition</animation><!--cast no tagline-->
<animation effect="slide" time="200" end="-4458,0" condition="Control.HasFocus(999984) + !isempty(listitem.tagline)">condition</animation><!--fanart2 has tagline-->
<animation effect="slide" time="200" end="-3604,0" condition="Control.HasFocus(999984) + isempty(listitem.tagline)">condition</animation><!--fanart2 no tagline-->
<animation effect="slide" time="200" end="-5650,0" condition="Control.HasFocus(999985) + !isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--discart has tagline-->
<animation effect="slide" time="200" end="-4796,0" condition="Control.HasFocus(999985) + isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--discart no tagline-->
<animation effect="slide" time="200" end="-5946,0" condition="Control.HasFocus(999985) + !isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-5092,0" condition="Control.HasFocus(999985) + isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-6844,0" condition="Control.HasFocus(999986) + !isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-6844,0" condition="Control.HasFocus(999986) + isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-7428,0" condition="Control.HasFocus(999986) + !isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-6578,0" condition="Control.HasFocus(999986) + isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-8328,0" condition="Control.HasFocus(999987) + !isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-8328,0" condition="Control.HasFocus(999987) + isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-8912,0" condition="Control.HasFocus(999987) + !isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-8062,0" condition="Control.HasFocus(999987) + isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-9812,0" condition="Control.HasFocus(999988) + !isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-9812,0" condition="Control.HasFocus(999988) + isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-10396,0" condition="Control.HasFocus(999988) + !isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-9546,0" condition="Control.HasFocus(999988) + isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-11296,0" condition="Control.HasFocus(999989) + !isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-11296,0" condition="Control.HasFocus(999989) + isempty(listitem.tagline) + !isempty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-11880,0" condition="Control.HasFocus(999989) + !isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-11562,0" condition="Control.HasFocus(999989) + isempty(listitem.tagline) + isempty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-1354,0" condition="Control.HasFocus(999982) + !String.IsEmpty(listitem.tagline)">condition</animation><!--fanart1 has tagline-->
<animation effect="slide" time="200" end="-500,0" condition="Control.HasFocus(999982) + String.IsEmpty(listitem.tagline)">condition</animation><!--fanart 1 no tagline-->
<animation effect="slide" time="200" end="-2896,0" condition="Control.HasFocus(999983) + !String.IsEmpty(listitem.tagline)">condition</animation><!--cast has tagline-->
<animation effect="slide" time="200" end="-2042,0" condition="Control.HasFocus(999983) + String.IsEmpty(listitem.tagline)">condition</animation><!--cast no tagline-->
<animation effect="slide" time="200" end="-4458,0" condition="Control.HasFocus(999984) + !String.IsEmpty(listitem.tagline)">condition</animation><!--fanart2 has tagline-->
<animation effect="slide" time="200" end="-3604,0" condition="Control.HasFocus(999984) + String.IsEmpty(listitem.tagline)">condition</animation><!--fanart2 no tagline-->
<animation effect="slide" time="200" end="-5650,0" condition="Control.HasFocus(999985) + !String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--discart has tagline-->
<animation effect="slide" time="200" end="-4796,0" condition="Control.HasFocus(999985) + String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--discart no tagline-->
<animation effect="slide" time="200" end="-5946,0" condition="Control.HasFocus(999985) + !String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-5092,0" condition="Control.HasFocus(999985) + String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-6844,0" condition="Control.HasFocus(999986) + !String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-6844,0" condition="Control.HasFocus(999986) + String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-7428,0" condition="Control.HasFocus(999986) + !String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-6578,0" condition="Control.HasFocus(999986) + String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-8328,0" condition="Control.HasFocus(999987) + !String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-8328,0" condition="Control.HasFocus(999987) + String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-8912,0" condition="Control.HasFocus(999987) + !String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-8062,0" condition="Control.HasFocus(999987) + String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-9812,0" condition="Control.HasFocus(999988) + !String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-9812,0" condition="Control.HasFocus(999988) + String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-10396,0" condition="Control.HasFocus(999988) + !String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-9546,0" condition="Control.HasFocus(999988) + String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<animation effect="slide" time="200" end="-11296,0" condition="Control.HasFocus(999989) + !String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--has tagline + has discart-->
<animation effect="slide" time="200" end="-11296,0" condition="Control.HasFocus(999989) + String.IsEmpty(listitem.tagline) + !String.IsEmpty(listitem.art(discart))">condition</animation><!--NO TAGLINE + HAS DISCART-->
<animation effect="slide" time="200" end="-11880,0" condition="Control.HasFocus(999989) + !String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart has tagline-->
<animation effect="slide" time="200" end="-11562,0" condition="Control.HasFocus(999989) + String.IsEmpty(listitem.tagline) + String.IsEmpty(listitem.art(discart))">condition</animation><!--no discart no tagline-->
<control type="label">
<visible>!isempty(listitem.tagline)</visible>
<visible>!String.IsEmpty(listitem.tagline)</visible>
<posx>col-1-begin</posx>
<posy>0</posy>
<width>756</width>
@ -69,7 +69,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(ListItem.art(poster))</visible>
<visible>!String.IsEmpty(ListItem.art(poster))</visible>
<posx>0</posx>
<width>504</width>
<height>756</height>
@ -81,7 +81,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(ListItem.art(fanart))</visible>
<visible>!String.IsEmpty(ListItem.art(fanart))</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[listitem.art(fanart)]</texture>
@ -134,7 +134,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[container(99999).ListItemNoWrap(0).filenameandpath,,]</texture>
@ -145,7 +145,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(listitem.art(discart))</visible>
<visible>!String.IsEmpty(listitem.art(discart))</visible>
<width>756</width>
<height>756</height>
<texture>$INFO[listitem.art(discart)]</texture>
@ -154,7 +154,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(container(99999).ListItemNoWrap(1).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(1).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[container(99999).ListItemNoWrap(1).filenameandpath,,]</texture>
@ -165,7 +165,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(container(99999).ListItemNoWrap(2).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(2).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[container(99999).ListItemNoWrap(2).filenameandpath,,]</texture>
@ -176,7 +176,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(container(99999).ListItemNoWrap(3).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(3).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[container(99999).ListItemNoWrap(3).filenameandpath,,]</texture>
@ -187,7 +187,7 @@
</control>
<control type="image">
<posx>2-col</posx>
<visible>!isempty(container(99999).ListItemNoWrap(4).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(4).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1344</width>
<height>756</height>
<texture>$INFO[container(99999).ListItemNoWrap(4).filenameandpath,,]</texture>
@ -229,35 +229,35 @@
<onback>8000</onback>
</control>
<control type="button" id="999985">
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1-col</width>
<height>12</height>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<onback>8000</onback>
</control>
<control type="button" id="999986">
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1-col</width>
<height>12</height>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<onback>8000</onback>
</control>
<control type="button" id="999987">
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1-col</width>
<height>12</height>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<onback>8000</onback>
</control>
<control type="button" id="999988">
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1-col</width>
<height>12</height>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>
<onback>8000</onback>
</control>
<control type="button" id="999989">
<visible>!isempty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<visible>!String.IsEmpty(container(99999).ListItemNoWrap(0).filenameandpath) + !Skin.HasSetting(disableExtendedFanart)</visible>
<width>1-col</width>
<height>12</height>
<texturefocus colordiffuse="highlight">colors/white.png</texturefocus>

View File

@ -4,31 +4,30 @@
<!--folder titles-->
<variable name="listTitle">
<value condition="Window.isactive(Videos) + Container.Content(musicvideos)">$LOCALIZE[20389] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + [Container.Content(movies) | container.content(tvshows)] + Substring(Container.folderpath,special://profile/playlists/video)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + Substring(Container.folderpath,plugin)">$INFO[container.foldername] $INFO[ListItem.TVShowTitle,- ,] $INFO[ListItem.season,$LOCALIZE[31011] ,]</value>
<value condition="Window.isactive(Videos) + [Container.Content(movies) | container.content(tvshows)] + String.Contains(Container.folderpath,special://profile/playlists/video)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + String.Contains(Container.folderpath,plugin)">$INFO[container.foldername] $INFO[ListItem.TVShowTitle,- ,] $INFO[ListItem.season,$LOCALIZE[31011] ,]</value>
<value condition="Window.isactive(Videos) + Container.Content(movies)">$LOCALIZE[20342] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + Container.Content(tvshows)">$LOCALIZE[31216] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Videos) + [Container.Content(seasons) | Container.Content(episodes)]">$LOCALIZE[20343]</value>
<value condition="Window.isactive(Videos) + !isEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Videos) + isEmpty(container.foldername)">$LOCALIZE[31012]</value>
<value condition="Window.isactive(Music) + Substring(Container.folderpath,special://profile/playlists)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE]</value>
<value condition="Window.isactive(Music) + Container.Content(albums) + Substring(Container.folderpath,special://profile/playlists/music)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + SubString(container.folderpath,addons://)">$LOCALIZE[31058]</value>
<value condition="Window.isactive(Music) + SubString(container.folderpath,plugin://)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Videos) + !String.IsEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Videos) + String.IsEmpty(container.foldername)">$LOCALIZE[31012]</value>
<value condition="Window.isactive(Music) + String.Contains(Container.folderpath,special://profile/playlists)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE]</value>
<value condition="Window.isactive(Music) + Container.Content(albums) + String.Contains(Container.folderpath,special://profile/playlists/music)">[CAPITALIZE]$INFO[container.foldername][/CAPITALIZE] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + String.Contains(container.folderpath,addons://)">$LOCALIZE[31058]</value>
<value condition="Window.isactive(Music) + String.Contains(container.folderpath,plugin://)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Music) + Container.Content(albums)">$LOCALIZE[31038] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + Container.Content(artists)">$LOCALIZE[31024] [LOWERCASE][COLOR highlight]$LOCALIZE[31054] $INFO[container.sortmethod] $INFO[Container.SortOrder,(,)][/COLOR][/LOWERCASE]</value>
<value condition="Window.isactive(Music) + Container.Content(songs)">$LOCALIZE[31182]</value>
<value condition="Window.isactive(Music) + !container.content(genres) + SubString(container.folderpath,musicdb://genres)">$LOCALIZE[31199] [COLOR highlight]$INFO[container.foldername][/COLOR]</value>
<value condition="Window.isactive(Music) + !isEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Music) + isEmpty(container.foldername)">$LOCALIZE[31053]</value>
<value condition="Window.isactive(Music) + !container.content(genres) + String.Contains(container.folderpath,musicdb://genres)">$LOCALIZE[31199] [COLOR highlight]$INFO[container.foldername][/COLOR]</value>
<value condition="Window.isactive(Music) + !String.IsEmpty(container.foldername)">$INFO[container.foldername]</value>
<value condition="Window.isactive(Music) + String.IsEmpty(container.foldername)">$LOCALIZE[31053]</value>
<value condition="Window.isactive(Weather)">$LOCALIZE[31197]</value>
<value condition="Window.isactive(TVchannels) | Window.isactive(TVGuide)">$LOCALIZE[31006] [COLOR highlight]$LOCALIZE[31078][/COLOR]</value>
<value condition="Window.isactive(RadioChannels)">$LOCALIZE[31164] [COLOR highlight]$LOCALIZE[31078][/COLOR]</value>
<value condition="Window.isactive(TVRecordings)">$LOCALIZE[31006] [COLOR highlight]$LOCALIZE[31165][/COLOR]</value>
<value condition="Window.isactive(programs)">$LOCALIZE[10506]</value>
<value condition="Window.isactive(musicplaylist) | Window.isactive(videoplaylist)">$LOCALIZE[31123]</value>
<value condition="Window.isactive(pictures)">$LOCALIZE[31056]</value>
<value condition="Window.isactive(pictures)">$LOCALIZE[31056]</value>
</variable>
<variable name="listSubTitle">
<value condition="Window.isactive(Videos)">$INFO[container.Numitems,, $LOCALIZE[31014]] $VAR[unwatchedOnly]</value>
@ -38,13 +37,13 @@
<value condition="Window.isactive(TVRecordings)">$INFO[container.numitems] $LOCALIZE[31165]</value>
<value condition="Window.isactive(programs)">$INFO[container.Numitems,, $LOCALIZE[31145]]</value>
<value condition="Window.isactive(musicplaylist) | Window.isactive(videoplaylist)">$INFO[container.Numitems,, $LOCALIZE[31014]]</value>
<value condition="Window.isactive(pictures) + IntegerGreaterThan(container.Numitems,0) + Container.HasFolders">$INFO[container.Numitems,, $LOCALIZE[31038]]</value>
<value condition="Window.isactive(pictures) + IntegerGreaterThan(container.Numitems,0) + !Container.HasFolders">$INFO[container.foldername,,] $INFO[container.Numitems,(, $LOCALIZE[31050])]</value>
<value condition="Window.isactive(pictures) + Integer.IsGreater(container.Numitems,0) + Container.HasFolders">$INFO[container.Numitems,, $LOCALIZE[31038]]</value>
<value condition="Window.isactive(pictures) + Integer.IsGreater(container.Numitems,0) + !Container.HasFolders">$INFO[container.foldername,,] $INFO[container.Numitems,(, $LOCALIZE[31050])]</value>
</variable>
<!--list view item detail / subheader-->
<variable name="itemDetail">
<value condition="Container.Content(movies)">$INFO[Listitem.duration,, $LOCALIZE[31018]]</value>
<value condition="Container.Content(tvshows) + !isempty(listitem.property(totalseasons))">[B]$INFO[ListItem.Property(TotalSeasons)][/B] $LOCALIZE[31188] • [B]$INFO[ListItem.Property(NumEpisodes)][/B] $LOCALIZE[31189]</value>
<value condition="Container.Content(tvshows) + !String.IsEmpty(listitem.property(totalseasons))">[B]$INFO[ListItem.Property(TotalSeasons)][/B] $LOCALIZE[31188] • [B]$INFO[ListItem.Property(NumEpisodes)][/B] $LOCALIZE[31189]</value>
<value condition="Container.Content(seasons)">$INFO[ListItem.Property(TotalEpisodes)] $LOCALIZE[31189]</value>
<value condition="Container.Content(artists)">$INFO[ListItem.Property(Artist_Genre)]</value>
<value/>
@ -79,26 +78,26 @@
</variable>
<!--Star rating for music tracks-->
<variable name="starRating">
<value condition="stringcompare(MusicPlayer.UserRating,1)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,2)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,3)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,4)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,5)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,6)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,7)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,8)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,9)"></value>
<value condition="stringcompare(MusicPlayer.UserRating,10)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,1)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,2)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,3)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,4)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,5)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,6)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,7)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,8)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,9)"></value>
<value condition="String.IsEqual(MusicPlayer.UserRating,10)"></value>
<value></value>
</variable>
<!--home background location-->
<variable name="homeBackgroundLocation">
<value condition="!isempty(Skin.String(homeBackground))">$INFO[Skin.String(homeBackground)]</value>
<value condition="!String.IsEmpty(Skin.String(homeBackground))">$INFO[Skin.String(homeBackground)]</value>
<value>special://skin/extras/homeBackgrounds</value>
</variable>
<!--menu logos-->
<variable name="menuLogo">
<value condition="window.isactive(pictures)"></value>
<value condition="Window.IsActive(pictures)"></value>
<value condition="window.isactive(music) | window.isactive(radiochannels) | window.isactive(radioguide) | window.isactive(radiorecordings) | window.isactive(radiotimers) | window.isactive(musicplaylist)"></value>
<value condition="window.isactive(videos) | window.isactive(tvchannels) | window.isactive(tvrecordings) | window.isactive(tvguide) | window.isactive(tvtimers) | window.isactive(videoplaylist)"></value>
</variable>

View File

@ -3,6 +3,7 @@
<defaultcontrol always="true">9999</defaultcontrol>
<include>fadeInOut</include>
<onload>Skin.SetString(recentitems,music)</onload>
<views>50,51,52,53,54,55</views>
<controls>
<include>globalBackground</include>
<control type="group">

View File

@ -7,6 +7,7 @@
<animation type="windowClose">
<effect type="fade" start="100" end="0" time="300"/>
</animation>
<views>50</views>
<controls>
<include>globalBackground</include>
<!--page container group-->

View File

@ -29,7 +29,7 @@
<onback>9000</onback>
<rulerlayout height="2-row" width="216">
<control type="label" id="2">
<visible>SubString(ListItem.Label,:)</visible>
<visible>String.Contains(ListItem.Label,:)</visible>
<posx>0</posx>
<posy>12</posy>
<width>216</width>

View File

@ -6,6 +6,7 @@
<animation type="windowClose">
<effect type="fade" start="100" end="0" time="300"/>
</animation>
<views>50</views>
<controls>
<include>globalBackground</include>
<!--page container group-->
@ -49,7 +50,7 @@
<texture fallback="colors/black.png" diffuse="masks/circle.png" border="0">$INFO[Listitem.thumb]</texture>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount) + !ListItem.IsResumable</visible>
<visible>!String.IsEmpty(ListItem.playcount) + !ListItem.IsResumable</visible>
<posx>16</posx>
<posy>2</posy>
<width>66</width>
@ -107,7 +108,7 @@
<texture fallback="colors/white.png" diffuse="masks/circle.png" border="0">$INFO[Listitem.thumb]</texture>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount) + !ListItem.IsResumable</visible>
<visible>!String.IsEmpty(ListItem.playcount) + !ListItem.IsResumable</visible>
<posx>16</posx>
<posy>2</posy>
<width>66</width>
@ -156,7 +157,7 @@
<height>1-row</height>
<texturebg colordiffuse="textboxInactive">colors/black.png</texturebg>
<midtexture colordiffuse="highlight">colors/white.png</midtexture>
<info>PVR.backenddiskspaceprogr</info><visible>!IntegerGreaterThan(PVR.backenddiskspaceprogr,100)</visible>
<info>PVR.backenddiskspaceprogr</info><visible>!Integer.IsGreater(PVR.backenddiskspaceprogr,100)</visible>
</control>
<control type="label">
<posx>0</posx>

View File

@ -106,7 +106,7 @@
<texture fallback="colors/white.png" diffuse="masks/circle.png" border="0">colors/offblack.png</texture>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount) + !ListItem.IsResumable</visible>
<visible>!String.IsEmpty(ListItem.playcount) + !ListItem.IsResumable</visible>
<posx>16</posx>
<posy>2</posy>
<width>66</width>
@ -164,7 +164,7 @@
<height>48</height>
<texturebg colordiffuse="textboxInactive">colors/black.png</texturebg>
<midtexture colordiffuse="highlight">colors/white.png</midtexture>
<info>PVR.backenddiskspaceprogr</info><visible>!IntegerGreaterThan(PVR.backenddiskspaceprogr,100)</visible>
<info>PVR.backenddiskspaceprogr</info><visible>!Integer.IsGreater(PVR.backenddiskspaceprogr,100)</visible>
</control>
<control type="label">
<posx>0</posx>

View File

@ -3,6 +3,7 @@
<defaultcontrol always="true">9999</defaultcontrol>
<onload condition="Skin.hassetting(stopVideoOnMenu) + !Player.HasAudio">PlayerControl(stop)</onload>
<include>fadeInOut</include>
<views>50</views>
<controls>
<include>globalBackground</include>
<!--page container group-->

View File

@ -4,6 +4,7 @@
<onload condition="Skin.hassetting(stopVideoOnMenu) + !Player.HasAudio">PlayerControl(stop)</onload>
<onload>Skin.SetString(recentitems,video)</onload>
<include>fadeInOut</include>
<views>50,51,52,53,54,58</views>
<controls>
<include>globalBackground</include>
<!--page container group-->

View File

@ -39,13 +39,13 @@
<label>[COLOR highlight]$LOCALIZE[31200][/COLOR] $INFO[Window.Property(Location)]</label>
<textcolor>textActive</textcolor>
<shadowcolor></shadowcolor>
<animation type="Conditional" condition="isempty(Window.Property(location))" loop="false" reversible="true">
<animation type="Conditional" condition="String.IsEmpty(Window.Property(location))" loop="false" reversible="true">
<effect type="rotatey" end="180" center="auto" tween="back" easing="out" time="2000"/>
<effect type="fade" start="100" end="30" time="800"/>
</animation>
</control>
<control type="group">
<animation type="Conditional" condition="isempty(Window.Property(location))" loop="false" reversible="true">
<animation type="Conditional" condition="String.IsEmpty(Window.Property(location))" loop="false" reversible="true">
<effect type="rotatey" end="180" center="auto" tween="back" easing="out" time="3500"/>
<effect type="fade" start="100" end="30" time="800"/>
</animation>
@ -102,7 +102,7 @@
<!--remaining forecast begins-->
<control type="group">
<animation type="Conditional" condition="isempty(Window.Property(location))" loop="false" reversible="true">
<animation type="Conditional" condition="String.IsEmpty(Window.Property(location))" loop="false" reversible="true">
<effect type="slide" start="0,0" end="0,400" time="1500" tween="back" easing="out"/>
<effect type="fade" start="100" end="0" time="300"/>
</animation>

View File

@ -9,7 +9,7 @@
<control type="group">
<posx>col-1-begin</posx>
<posy>row-1-begin</posy>
<animation type="Conditional" condition="IntegerGreaterThan(container.numitems,0)">
<animation type="Conditional" condition="Integer.IsGreater(container.numitems,0)">
<effect type="fade" start="0" end="100" time="300"/>
</animation>
<!--source title-->

View File

@ -236,7 +236,7 @@
<onclick>PlayerControl(next)</onclick>
</item>
<item>
<enabled>System.GetBool(pvrmanager.enabled) + Player.CanRecord</enabled>
<enabled>System.GetBool(pvrmanager.enabled) + PVR.CanRecordPlayingChannel</enabled>
<label2></label2>
<thumb></thumb>
<onclick>PlayerControl(record)</onclick>

View File

@ -2,7 +2,7 @@
<includes>
<include name="addonposters">
<control type="group">
<control type="panel" id="50">
<control type="panel" id="54">
<visible>$EXP[isAddonMovieOrTVshow]</visible>
<posx>90</posx>
<posy>row-5-begin</posy>
@ -37,7 +37,7 @@
<colordiffuse>ffffffff</colordiffuse>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -94,7 +94,7 @@
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>

View File

@ -172,7 +172,7 @@
<textcolor>textActive</textcolor>
<label>$LOCALIZE[31223]</label>
</control>
<control type="panel" id="50">
<control type="panel" id="54">
<visible>$EXP[isMusicAlbum]</visible>
<posx>col-1-begin</posx>
<posy>row-21-begin</posy>
@ -208,7 +208,7 @@
<colordiffuse>ffFFFFFF</colordiffuse>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -254,7 +254,7 @@
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>

View File

@ -38,7 +38,7 @@
<label>$INFO[container.foldername]</label>
</control>
</control>
<control type="panel" id="50">
<control type="panel" id="52">
<visible>$EXP[isMusicArtistCatalogue]</visible>
<posx>col-1-begin</posx>
<posy>row-11-begin</posy>
@ -72,7 +72,7 @@
<colordiffuse>ffFFFFFF</colordiffuse>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -129,7 +129,7 @@
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>

View File

@ -4,7 +4,7 @@
<include name="musicartist">
<control type="group">
<!--content-->
<control type="panel" id="50">
<control type="panel" id="51">
<visible>$EXP[isMusicArtist]</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>

View File

@ -3,11 +3,11 @@
<include name="episodes">
<!--fanart-->
<control type="group">
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
<visible>String.Contains(container.folderpath,videodb://) + !String.IsEmpty(container.folderpath) + container.content(episodes) + !String.Contains(Container.folderpath,plugin)</visible>
<posy>0</posy>
<posx>0</posx>
<control type="image">
<visible>!isempty(container.art(season.poster))</visible>
<visible>!String.IsEmpty(container.art(season.poster))</visible>
<posx>0</posx>
<posy>0</posy>
<width>960</width>
@ -22,7 +22,7 @@
</animation>
</control>
<control type="image">
<visible>isempty(container.art(season.poster))</visible>
<visible>String.IsEmpty(container.art(season.poster))</visible>
<posx>-966</posx>
<posy>0</posy>
<width>1920</width>
@ -54,7 +54,7 @@
</control>
<!--overlay-->
<control type="group">
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
<visible>String.Contains(container.folderpath,videodb://) + !String.IsEmpty(container.folderpath) + container.content(episodes) + !String.Contains(Container.folderpath,plugin)</visible>
<posx>949</posx>
<posy>0</posy>
<control type="image">
@ -78,7 +78,7 @@
<control type="group">
<posx>col-13-begin</posx>
<posy>row-5-begin</posy>
<visible>Substring(container.folderpath,videodb://) + !isempty(container.folderpath) + container.content(episodes) + !Substring(Container.folderpath,plugin)</visible>
<visible>String.Contains(container.folderpath,videodb://) + !String.IsEmpty(container.folderpath) + container.content(episodes) + !String.Contains(Container.folderpath,plugin)</visible>
<control type="label">
<posx>24</posx>
<posy>0</posy>
@ -93,7 +93,7 @@
<!--episode synopsis & thumb-->
<control type="group">
<!--tvhsow library-sourced episode list-->
<control type="panel" id="52">
<control type="panel" id="53">
<visible>$EXP[isEpisode]</visible>
<posx>954</posx>
<posy>row-8-begin</posy>
@ -162,7 +162,7 @@
<scroll>false</scroll>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>11-col</posx>
<posy>0</posy>
<width>1-col</width>
@ -236,7 +236,7 @@
<scroll>false</scroll>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>11-col</posx>
<posy>0</posy>
<width>1-col</width>
@ -252,7 +252,7 @@
</control>
<!--Plugin-sourced Episode list-->
<control type="panel" id="52">
<visible>Substring(Container.folderpath,plugin)</visible>
<visible>String.Contains(Container.folderpath,plugin)</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>
<width>24-col</width>
@ -292,7 +292,7 @@
<label>$INFO[ListItem.Label]</label>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>23-col</posx>
<posy>0</posy>
<width>1-col</width>
@ -339,7 +339,7 @@
<label>$INFO[ListItem.Label]</label>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>23-col</posx>
<posy>0</posy>
<width>1-col</width>

View File

@ -56,12 +56,10 @@
<item>
<label>special://skin/extras/playlists/recentMovies.xsp</label>
<property name="textTitle">31176</property>
</item>
<item>
<label>special://skin/extras/playlists/inprogressMovies.xsp</label>
<property name="textTitle">31132</property>
</item>
</content>
</control>
@ -188,7 +186,7 @@
<textcolor>textActive</textcolor>
<label>$LOCALIZE[31224]</label>
</control>
<control type="panel" id="50">
<control type="panel" id="51">
<visible>$EXP[isMovie]</visible>
<posx>90</posx>
<posy>row-21-begin</posy>
@ -224,7 +222,7 @@
<colordiffuse>ffffffff</colordiffuse>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -257,7 +255,7 @@
<label>$INFO[ListItem.year]</label>
</control>
<control type="group">
<visible>String.IsEmpty(ListItem.PlayCount)</visible>
<visible>String.String.IsEmpty(ListItem.PlayCount)</visible>
<posx>166</posx>
<posy>6</posy>
<control type="image">
@ -305,7 +303,7 @@
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -336,7 +334,7 @@
<label>$INFO[ListItem.year]</label>
</control>
<control type="group">
<visible>String.IsEmpty(ListItem.PlayCount)</visible>
<visible>String.String.IsEmpty(ListItem.PlayCount)</visible>
<posx>166</posx>
<posy>6</posy>
<control type="image">

View File

@ -2,7 +2,7 @@
<includes>
<!--Music genre browser-->
<include name="musicgenre">
<control type="panel" id="50">
<control type="panel" id="55">
<visible>$EXP[isMusicGenre]</visible>
<posx>col-1-begin</posx>
<posy>row-5-begin</posy>

View File

@ -2,10 +2,10 @@
<includes>
<include name="seasons">
<control type="group">
<visible>!isempty(container.folderpath) + container.content(seasons) + !container.content(episodes)</visible>
<visible>!String.IsEmpty(container.folderpath) + container.content(seasons) + !container.content(episodes)</visible>
<!--fanart-->
<control type="group">
<visible>!Substring(Container.folderpath,plugin)</visible>
<visible>!String.Contains(Container.folderpath,plugin)</visible>
<posy>-100</posy>
<include>itemFanart</include>
<control type="image">
@ -21,7 +21,7 @@
</animation>
<!--title-->
<control type="group">
<visible>!Substring(Container.folderpath,plugin)</visible>
<visible>!String.Contains(Container.folderpath,plugin)</visible>
<posx>col-1-begin</posx>
<posy>row-4-begin</posy>
<control type="label">
@ -49,7 +49,7 @@
</control>
<!--overlay-->
<control type="group">
<visible>!Substring(Container.folderpath,plugin)</visible>
<visible>!String.Contains(Container.folderpath,plugin)</visible>
<posy>row-15-begin</posy>
<posy>0</posy>
<include>globalBackground</include>

View File

@ -48,7 +48,7 @@
<label>$VAR[songViewArtist]</label>
</control>
</control>
<control type="panel" id="50">
<control type="panel" id="53">
<visible>$EXP[isMusicSong]</visible>
<posx>col-10-begin</posx>
<posy>row-9-begin</posy>

View File

@ -189,7 +189,7 @@
<textcolor>textActive</textcolor>
<label>$LOCALIZE[31225]</label>
</control>
<control type="panel" id="50">
<control type="panel" id="52">
<visible>$EXP[isTVShow] + !$EXP[isMovie]</visible>
<posx>90</posx>
<posy>row-21-begin</posy>
@ -225,7 +225,7 @@
<colordiffuse>ffffffff</colordiffuse>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>
@ -317,7 +317,7 @@
<bordersize>6</bordersize>
</control>
<control type="textbox">
<visible>isempty(listitem.title)</visible>
<visible>String.IsEmpty(listitem.title)</visible>
<posx>24</posx>
<posy>3-row</posy>
<width>228</width>

View File

@ -3,7 +3,7 @@
<include name="videofiles">
<!--fanart-->
<control type="group">
<visible>Substring(Container.folderpath,plugin) + !$EXP[isAddonMovieOrTVshow]</visible>
<visible>String.Contains(Container.folderpath,plugin) + !$EXP[isAddonMovieOrTVshow]</visible>
<control type="image">
<include>dimensionsFullscreen</include>
<aspectratio scalediffuse="false">stretch</aspectratio>
@ -54,7 +54,7 @@
<label>$INFO[ListItem.Label]</label>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>23-col-gutter</posx>
<posy>0</posy>
<width>1-col</width>
@ -101,7 +101,7 @@
<label>$INFO[ListItem.Label]</label>
</control>
<control type="label">
<visible>!isempty(ListItem.playcount)</visible>
<visible>!String.IsEmpty(ListItem.playcount)</visible>
<posx>23-col-gutter</posx>
<posy>0</posy>
<width>1-col</width>

View File

@ -2,6 +2,6 @@
<window type="dialog" id="1107">
<onload>Dialog.Close(all,true)</onload>
<onload>control.setfocus(9000)</onload>
<visible>[Window.IsActive(videos) | window.IsActive(music)] + isempty(container.folderpath)</visible>
<visible>[Window.IsActive(videos) | window.IsActive(music)] + String.IsEmpty(container.folderpath)</visible>
<controls></controls>
</window>

View File

@ -10,7 +10,7 @@
<control type="group">
<!--fanart-->
<control type="image">
<visible>isempty(Window(Visualisation).Property(ArtistSlideshow))</visible>
<visible>String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow))</visible>
<posx>0</posx>
<posy>0</posy>
<include>dimensionsFullscreen</include>
@ -21,7 +21,7 @@
</control>
<!--artist slideshow (if active)-->
<control type="multiimage">
<visible>!isempty(Window(Visualisation).Property(ArtistSlideshow))</visible>
<visible>!String.IsEmpty(Window(Visualisation).Property(ArtistSlideshow))</visible>
<include>dimensionsFullscreen</include>
<aspectratio>scale</aspectratio>
<timeperimage>15000</timeperimage>
@ -46,7 +46,7 @@
<control type="group">
<posx>col-1-begin</posx>
<posy>row-23-begin</posy>
<animation type="conditional" condition="!StringCompare(MusicPlayer.Time,00:00)">
<animation type="conditional" condition="!String.IsEqual(MusicPlayer.Time,00:00)">
<effect type="slide" start="0,500" end="0,0" tween="sine" time="400"/>
</animation>
<!--coverart (or channel art if radio)-->

View File

@ -4,11 +4,19 @@
- Preparing for Leia compatibility
- [COMPLETE] xbmc.gui bump to 5.13.0
- [COMPLETE] deprecated infolabel System.HasModalDialog
- [COMPLETE] removal of deprecated infolabel System.HasModalDialog
- [COMPLETE] MyPVRGuide.xml: Removed view id's 11,12 and 13
- [COMPLETE] Removed hyphen as none value
- [COMPLETE] Rename DialogPVRGuideOSD.xml --> DialogPVRChannelGuide
- [COMPLETE] Remove instances of <onclick>noop</onclick>
- [COMPLETE] Removal of deprecated 'stringcompare()'
- [COMPLETE] Removal of deprecated 'substring()'
- [COMPLETE] Removal of deprecated 'IntegerGreaterThan()'
- [COMPLETE] Player.CanRecord -> PVR.CanRecordPlayingChannel
- [COMPLETE] ListItem.ChannelNumber -> ListItem.ChannelNumberLabel
- [COMPLETE] isempty() -> string.isempty()
- new window: MyGames.xml

View File

@ -57,7 +57,7 @@
</shortcut>
<shortcut>
<visible>!Library.HasContent(Video)</visible>
<label>10006</label>
<label>3</label>
<label2>32034</label2>
<icon>DefaultAddon.png</icon>
<thumb />
@ -65,7 +65,7 @@
</shortcut>
<shortcut>
<visible>Library.HasContent(Music)</visible>
<label>10005</label>
<label>2</label>
<label2>32034</label2>
<icon>DefaultAddon.png</icon>
<thumb />
@ -73,7 +73,7 @@
</shortcut>
<shortcut>
<visible>!Library.HasContent(Music)</visible>
<label>10005</label>
<label>2</label>
<label2>32034</label2>
<icon>DefaultAddon.png</icon>
<thumb />