v16 Button to switch between colored and white media flags
#1
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
Reply
#2
I fixed it by creating two includes for the controls, then used the Skin.HasSetting in myvideonav.xml cheers
Reply

Logout Mark Read Team Forum Stats Members Help
Button to switch between colored and white media flags0