Kodi Community Forum
v16 Button to switch between colored and white media flags - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Skins Support (https://forum.kodi.tv/forumdisplay.php?fid=67)
+---- Forum: Aeon MQ (https://forum.kodi.tv/forumdisplay.php?fid=68)
+---- Thread: v16 Button to switch between colored and white media flags (/showthread.php?tid=278532)



Button to switch between colored and white media flags - User 263865 - 2016-06-04

Hi
I'm trying to create a topmenu button in aeon mq6 that can switch between colored and white media flags, I used different ways but was not completely successful
basically I have two folders inside flags folder which are colored and white
these are my settings
Code:
<variable name="MediaFlagImages">
    <value condition="Skin.HasSetting(media_flag_Images)">Colored</value>
    <value condition="!Skin.HasSetting(media_flag_Images)">White</value>
    </variable>

Code:
<control type="button" id="92155">
    <include>TopMenuButton</include>
    <label>Media Flags</label>
    <label2>$VAR[MediaFlagImages]</label2>
    <enabled>Skin.HasSetting(media_flag_Images)</enabled>
    <onclick>Skin.ToggleSetting(media_flag_Images)</onclick>
</control>

if I use conditional visiblity for include , only one setting is visible the other is blank
Code:
<include name="FlagsContent">
controls...
<visible>Skin.HasSetting(media_flag_Images)</visible>
</include>

<include name="FlagsContent">
controls...
<visible>!Skin.HasSetting(media_flag_Images)</visible>
</include>

if I use conditional visiblity for individual controls it works, but some flags do not appear, some flag seperators are stuck,
Code:
<include name="FlagsContent">
    <control type="image">
      <!-- Estudio -->
      <height>68</height>
      <include>FlagImage</include>
      <texture>$INFO[ListItem.Studio,flags/colored/studios/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(Control.GetLabel(557))</visible>
    </control>
    <control type="image">
      <!-- Estudio -->
      <height>68</height>
      <include>FlagImage</include>
      <texture>$INFO[ListItem.Studio,flags/white/studios/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(Control.GetLabel(557))</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(Control.GetLabel(557))</visible>
    </control>
    <control type="image">
      <!-- Mpaa -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.Mpaa,flags/colored/mpaa/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.Mpaa)</visible>
    </control>
    <control type="image">
      <!-- Mpaa -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.Mpaa,flags/white/mpaa/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.Mpaa)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.Mpaa)</visible>
    </control>
    <control type="group">
      <width>126</width>
      <height>75</height>
      <visible>!SubString(ListItem.top250,0,Left) + !IsEmpty(ListItem.top250)</visible>
      <control type="image">
        <!-- Top 250 -->        
        <top>9</top>
        <height>54</height>
        <include>FlagImage</include>
        <texture>flags/colored/imdb_250.png</texture>
        <visible>Skin.HasSetting(media_flag_Images)</visible>
      </control>
      <control type="image">
        <!-- Top 250 -->        
        <top>9</top>
        <height>54</height>
        <include>FlagImage</include>
        <texture>flags/white/imdb_250.png</texture>
        <visible>!Skin.HasSetting(media_flag_Images)</visible>
      </control>
      <control type="label">
        <!-- Top 250 info -->
        <top>9</top>
        <font>Font_23a</font>
        <textcolor>FFDAA520</textcolor>
        <include>FlagLabel</include>
        <label>$INFO[ListItem.Top250]</label>
        <visible>Skin.HasSetting(media_flag_Images)</visible>
      </control>
      <control type="label">
        <!-- Top 250 info -->
        <top>9</top>
        <font>Font_23a</font>
        <include>FlagLabel</include>
        <label>$INFO[ListItem.Top250]</label>
        <visible>!Skin.HasSetting(media_flag_Images)</visible>
      </control>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!SubString(ListItem.top250,0,Left) + !IsEmpty(ListItem.top250)</visible>
    </control>
    <control type="image">
      <!-- Codec de video -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoCodec,flags/colored/videocodec/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoCodec)</visible>
    </control>
    <control type="image">
      <!-- Codec de video -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoCodec,flags/white/videocodec/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoCodec)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.VideoCodec)</visible>
    </control>
    <control type="image">
      <!-- Resolucao -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoResolution,flags/colored/resolution/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoResolution)</visible>
    </control>
    <control type="image">
      <!-- Resolucao -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoResolution,flags/white/resolution/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoResolution)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.VideoResolution)</visible>
    </control>
    <control type="image">
      <!-- Aspecto -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoAspect,flags/colored/aspectratio/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoAspect)</visible>
    </control>
    <control type="image">
      <!-- Aspecto -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.VideoAspect,flags/white/aspectratio/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.VideoAspect)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.VideoAspect)</visible>
    </control>
    <control type="image">
      <!-- Codec de audio -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.AudioCodec,flags/colored/audiocodec/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.AudioCodec)</visible>
    </control>
    <control type="image">
      <!-- Codec de audio -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.AudioCodec,flags/white/audiocodec/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.AudioCodec)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.AudioCodec)</visible>
    </control>
    <control type="image">
      <!-- Canais -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.AudioChannels,flags/colored/audiochannels/,.png]</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.AudioChannels)</visible>
    </control>
    <control type="image">
      <!-- Canais -->
      <include>FlagImage</include>
      <texture>$INFO[ListItem.AudioChannels,flags/white/audiochannels/,.png]</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.AudioChannels)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.AudioChannels)</visible>
    </control>
    <control type="image">
      <!-- Trailer -->
      <include>FlagImage</include>
      <texture>flags/colored/trailer.png</texture>
      <visible>Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.Trailer)</visible>
    </control>
    <control type="image">
      <!-- Trailer -->
      <include>FlagImage</include>
      <texture>flags/white/trailer.png</texture>
      <visible>!Skin.HasSetting(media_flag_Images) + !IsEmpty(ListItem.Trailer)</visible>
    </control>
    <control type="image">
      <include>FlagSeparator</include>
      <visible>!IsEmpty(ListItem.Trailer)</visible>
    </control>
    <control type="group">
        <left>0</left>
        <top>0</top>
        <width>126</width>
        <height>75</height>
        <control type="image">
            <!-- % Reproduzido -->
            <include>FlagImage</include>
            <label>$INFO[ListItem.PercentPlayed]%</label>
            <texture>$INFO[ListItem.PercentPlayed,flags/circle/,.png]</texture>
            <visible>!StringCompare(ListItem.PercentPlayed,0)</visible>
        </control>
        <control type="image">
            <left>86</left>
            <top>10</top>
            <width>38</width>
            <height>38</height>
            <aspectratio>keep</aspectratio>
            <fadetime>FanartCrossFadeTime</fadetime>
            <texture colordiffuse="$VAR[value_watchedcolor]">$VAR[value_watchedstyle]</texture>
            <visible>!StringCompare(ListItem.PercentPlayed,0)</visible>
        </control>
    </control>    
    <control type="image">
        <include>FlagSeparator</include>
        <visible>!StringCompare(ListItem.PercentPlayed,0)</visible>
    </control>
    <control type="label">
      <!-- Drive externo -->
      <include>FlagLabel</include>
      <label>$VAR[value_drive]</label>
      <visible>!IsEmpty(Control.GetLabel(556))</visible>
    </control>
  </include>

I have done many different combinations, still not successful, I hope someone could show me the correct way, thanks


RE: Button to switch between colored and white media flags - User 263865 - 2016-06-05

I fixed it by creating two includes for the controls, then used the Skin.HasSetting in myvideonav.xml cheers