<?xml version="1.0" encoding="UTF-8"?>
<includes>
    <include name="ButtonForValues">
        <param name="buttonid" default="200" />
        <param name="controlid" default="210" />

        <definition>
            <control type="button" id="$PARAM[buttonid]">
                <description>Skin Settings Initialisation</description>
                <visible>!Skin.HasSetting(RevolveConfiguration) + String.IsEmpty(Skin.String(Revolve.Configuration))</visible>
                <texturenofocus></texturenofocus>
                <texturefocus></texturefocus>
                <include content="DefaultSettingsForValues" />
                <onfocus>SetFocus($PARAM[controlid])</onfocus>
            </control>

            <control type="button" id="$PARAM[buttonid]">
                <description>Skin Settings Migration</description>
                <visible>[Skin.HasSetting(RevolveConfiguration) | StringCompare(Skin.String(Revolve.Configuration),3.0.2)] + !StringCompare(Skin.String(Revolve.Configuration),4.1.1)</visible>
                <texturenofocus></texturenofocus>
                <texturefocus></texturefocus>
                <include content="MigratedValues" />
                <onfocus>SetFocus($PARAM[controlid])</onfocus>
            </control>

            <control type="button" id="$PARAM[buttonid]">
                <description>Skin Settings Evasion</description>
                <visible>StringCompare(Skin.String(Revolve.Configuration),4.1.1)</visible>
                <texturenofocus></texturenofocus>
                <texturefocus></texturefocus>
                <onfocus>SetFocus($PARAM[controlid])</onfocus>
            </control>
        </definition>
    </include>

    <include name="DefaultSettingsForValues">
        <definition>
            <onfocus>Skin.ResetSettings</onfocus>
            
            <include content="BackgroundSettingsDefaultValues" />
            <include content="ColorsSettingsForSkinSettings" />
            <include content="HomeMenuItemsSettingsDefaultValues" />
            <include content="CircleItemsSettingsForSkinSettings" />
            <include content="ExitMenuItemsDefaultValues" />
            <include content="MediaSettingsDefaultValues" />
            <include content="MiscellaneousSettingsForSkinSettings" />
            <include content="DebugSettingsDefaultValues" />

            <onfocus>Skin.SetString(Revolve.Configuration,4.1.1)</onfocus>
        </definition>
    </include>
    
    <include name="MigratedValues">
        <definition>
            <include content="ExitMenuItemsDefaultValues" />

            <include content="BackgroundSettingsMigratedValues" />
            <include content="HomeMenuItemsSettingsMigratedValues" />
            <include content="MediaSettingsMigratedValues" />
            <include content="DebugSettingsDefaultValues" />
            
            <onfocus>Skin.SetString(Revolve.Configuration,4.1.1)</onfocus>
        </definition>
    </include>
    
    <include name="BackgroundSettingsDefaultValues">
        <definition>
            <onfocus>Skin.SetBool(Background.Image.Active)</onfocus>
            <onfocus>Skin.Reset(Background.Image.Faded)</onfocus>
            <onfocus>Skin.Reset(Background.Image.WeatherResource.Path)</onfocus>
            <onfocus>Skin.SetBool(Background.Image.FanartForFiles)</onfocus>
            <onfocus>Skin.SetBool(Background.Visualiser.Active)</onfocus>
            <onfocus>Skin.Reset(Background.Visualiser.Faded)</onfocus>
            <onfocus>Skin.SetBool(Background.Video.Active)</onfocus>
            <onfocus>Skin.Reset(Background.Video.Faded)</onfocus>

            <onfocus>Skin.SetString(Background.Animation.Level,2)</onfocus>
        </definition>
    </include>

    <include name="BackgroundSettingsMigratedValues">
        <definition>
            <onfocus condition="Skin.HasSetting(Background.ImageActive)">Skin.SetBool(Background.Image.Active)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.ImageActive)">Skin.Reset(Background.Image.Active)</onfocus>
            <onfocus condition="Skin.HasSetting(Background.ImageFaded)">Skin.SetBool(Background.Image.Faded)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.ImageFaded)">Skin.Reset(Background.Image.Faded)</onfocus>
            <onfocus condition="Skin.HasSetting(Background.ImageFanartForFiles)">Skin.SetBool(Background.Image.FanartForFiles)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.ImageFanartForFiles)">Skin.Reset(Background.Image.FanartForFiles)</onfocus>
            <onfocus>Skin.SetString(Background.Image.WeatherResource.Path,$INFO[Skin.String(Background.WeatherImageResource)])</onfocus>

            <onfocus condition="Skin.HasSetting(Background.VisualiserActive)">Skin.SetBool(Background.Visualiser.Active)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.VisualiserActive)">Skin.Reset(Background.Visualiser.Active)</onfocus>
            <onfocus condition="Skin.HasSetting(Background.VisualiserFaded)">Skin.SetBool(Background.Visualiser.Faded)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.VisualiserFaded)">Skin.Reset(Background.Visualiser.Faded)</onfocus>

            <onfocus condition="Skin.HasSetting(Background.VideoActive)">Skin.SetBool(Background.Video.Active)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.VideoActive)">Skin.Reset(Background.Video.Active)</onfocus>
            <onfocus condition="Skin.HasSetting(Background.VideoFaded)">Skin.SetBool(Background.Video.Faded)</onfocus>
            <onfocus condition="!Skin.HasSetting(Background.VideoFaded)">Skin.Reset(Background.Video.Faded)</onfocus>

            <onfocus>Skin.SetString(Background.Animation.Level,$INFO[Skin.String(Background.AnimationLevel)])</onfocus>
        </definition>
    </include>
    
    <include name="ColorsSettingsForSkinSettings">
        <definition>
            <onfocus>Skin.Reset(Colors.PrimaryColorTheme)</onfocus>
            <onfocus>Skin.Reset(Colors.BackgroundColorTheme)</onfocus>

            <onfocus>Skin.Reset(Colors.MainColorCustomValue)</onfocus>
            <onfocus>Skin.Reset(Colors.SelectColorCustomValue)</onfocus>
            <onfocus>Skin.Reset(Colors.HighlightColorCustomValue)</onfocus>
            <onfocus>Skin.Reset(Colors.SecondaryColorCustomValue)</onfocus>
            <onfocus>Skin.Reset(Colors.TextColorCustomValue)</onfocus>
            <onfocus>Skin.Reset(Colors.BackgroundColorCustomValue)</onfocus>

            <onfocus>Skin.Reset(Colors.ButtonAreaSeparate)</onfocus>
        </definition>
    </include>

    <include name="HomeMenuItemsSettingsDefaultValues">
        <definition>
            <onfocus>Skin.SetBool(PlayDiscOption.Active)</onfocus>
            <onfocus>Skin.Reset(PlayDiscOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(FavouritesOption.Active)</onfocus>
            <onfocus>Skin.Reset(FavouritesOption.CustomWindow)</onfocus>
            <onfocus>Skin.Reset(FavouritesOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(Custom01Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom02Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom03Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom04Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom05Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom06Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom07Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom08Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom09Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom10Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom11Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom12Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom13Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom14Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom15Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom16Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom17Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom18Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom19Option.Active)</onfocus>
            <onfocus>Skin.Reset(Custom20Option.Active)</onfocus>
            <onfocus>Skin.SetBool(TVOption.Active)</onfocus>
            <onfocus>Skin.Reset(TVOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(RadioOption.Active)</onfocus>
            <onfocus>Skin.Reset(RadioOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(VideosOption.Active)</onfocus>
            <onfocus>Skin.Reset(VideosOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(VideosOption.ImmutablePath)</onfocus>
            <onfocus>Skin.Reset(MoviesOption.Active)</onfocus>
            <onfocus>Skin.Reset(MoviesOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(TVShowsOption.Active)</onfocus>
            <onfocus>Skin.Reset(TVShowsOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(MusicVideosOption.Active)</onfocus>
            <onfocus>Skin.Reset(MusicVideosOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(CustomVideosOption.Active)</onfocus>
            <onfocus>Skin.Reset(CustomVideosOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(MusicOption.Active)</onfocus>
            <onfocus>Skin.Reset(MusicOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(MusicOption.ImmutablePath)</onfocus>
            <onfocus>Skin.Reset(AlbumsOption.Active)</onfocus>
            <onfocus>Skin.Reset(AlbumsOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(CustomMusicOption.Active)</onfocus>
            <onfocus>Skin.Reset(CustomMusicOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(BooksOption.Active)</onfocus>
            <onfocus>Skin.Reset(BooksOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(PicturesOption.Active)</onfocus>
            <onfocus>Skin.Reset(PicturesOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(CustomPicturesOption.Active)</onfocus>
            <onfocus>Skin.Reset(CustomPicturesOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(GamesOption.Active)</onfocus>
            <onfocus>Skin.Reset(GamesOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(ProgramsOption.Active)</onfocus>
            <onfocus>Skin.Reset(ProgramsOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(WeatherOption.Active)</onfocus>
            <onfocus>Skin.Reset(WeatherOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(FileManagerOption.Active)</onfocus>
            <onfocus>Skin.Reset(FileManagerOption.BackgroundImage)</onfocus>
            <onfocus>Skin.Reset(AddonsOption.Active)</onfocus>
            <onfocus>Skin.Reset(AddonsOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(SettingsOption.Active)</onfocus>
            <onfocus>Skin.Reset(SettingsOption.BackgroundImage)</onfocus>
            <onfocus>Skin.SetBool(ExitOption.Active)</onfocus>
            <onfocus>Skin.Reset(ExitOption.BackgroundImage)</onfocus>
        </definition>
    </include>

    <include name="HomeMenuItemsSettingsMigratedValues">
        <definition>
            <onfocus condition="Skin.HasSetting(VideosOption.ImmutablePath)">Skin.Reset(VideosOption.ImmutablePath)</onfocus>
            <onfocus condition="!Skin.HasSetting(VideosOption.ImmutablePath)">Skin.SetBool(VideosOption.ImmutablePath)</onfocus>
            <onfocus condition="Skin.HasSetting(MusicOption.ImmutablePath)">Skin.Reset(MusicOption.ImmutablePath)</onfocus>
            <onfocus condition="!Skin.HasSetting(MusicOption.ImmutablePath)">Skin.SetBool(MusicOption.ImmutablePath)</onfocus>
        </definition>
    </include>
    
    <include name="CircleItemsSettingsForSkinSettings">
        <definition>
            <onfocus>Skin.Reset(CircleNextAired.Enable)</onfocus>
            <onfocus>Skin.Reset(CircleNextAired.NotInvisible)</onfocus>
            <onfocus>Skin.SetString(CircleMovieOption.Name,$LOCALIZE[31721] $LOCALIZE[31711])</onfocus>
            <onfocus>Skin.SetString(CircleMovieOption.Source,LatestMovie.%d)</onfocus>
            <onfocus>Skin.Reset(CircleMovieOption.NotInvisible)</onfocus>
            <onfocus>Skin.SetString(CircleEpisodeOption.Name,$LOCALIZE[31722] $LOCALIZE[31711])</onfocus>
            <onfocus>Skin.SetString(CircleEpisodeOption.Source,LatestEpisode.%d)</onfocus>
            <onfocus>Skin.Reset(CircleEpisodeOption.NotInvisible)</onfocus>
            <onfocus>Skin.SetString(CircleAlbumOption.Name,$LOCALIZE[31725] $LOCALIZE[31711])</onfocus>
            <onfocus>Skin.SetString(CircleAlbumOption.Source,LatestAlbum.%d)</onfocus>
            <onfocus>Skin.Reset(CircleAlbumOption.NotInvisible)</onfocus>
            <onfocus>Skin.Reset(CircleExitMenu.Enable)</onfocus>
        </definition>
    </include>

    <include name="ExitMenuItemsDefaultValues">
        <definition>
            <onfocus>Skin.SetBool(ExitMenu.ShutdownOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.ExitOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.LogOffOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.RestartOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.SuspendOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.HibernateOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.RebootOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.PowerdownOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.CustomTimerOption.Active)</onfocus>
            <onfocus>Skin.SetBool(ExitMenu.MasterModeOption.Active)</onfocus>
            <onfocus>Skin.Reset(ExitMenu.SettingsOption.Active)</onfocus>
        </definition>
    </include>

    <include name="MediaSettingsDefaultValues">
        <definition>
            <onfocus condition="System.HasAddon(script.cu.lrclyrics)">Skin.SetString(Media.MusicLyricsAddon.Script,script.cu.lrclyrics)</onfocus>
            <onfocus condition="!System.HasAddon(script.cu.lrclyrics)">Skin.Reset(Media.MusicLyricsAddon.Script)</onfocus>
            <onfocus>Skin.Reset(Media.ArtistSlideshowVisualization.Active)</onfocus>
            <onfocus>Skin.SetBool(Media.PlayerArtwork.Visible)</onfocus>
            <onfocus>Skin.SetBool(Media.PlayerSeekBar.Visible)</onfocus>
            <onfocus>Skin.Reset(Media.OverlayBackground.Visible)</onfocus>
        </definition>
    </include>

    <include name="MediaSettingsMigratedValues">
        <definition>
            <onfocus condition="!String.IsEmpty(AddonLyrics)">Skin.SetString(Media.MusicLyricsAddon.Script,$INFO[Skin.String(AddonLyrics)])</onfocus>
            <onfocus condition="!String.IsEmpty(Music.LyricsAddon)">Skin.SetString(Media.MusicLyricsAddon.Script,$INFO[Skin.String(Music.LyricsAddon)])</onfocus>
            <onfocus>Skin.Reset(Media.ArtistSlideshowVisualization.Active)</onfocus>
            <onfocus condition="Skin.HasSetting(PlayerArtwork.Visible)">Skin.SetBool(Media.PlayerArtwork.Visible)</onfocus>
            <onfocus condition="!Skin.HasSetting(PlayerArtwork.Visible)">Skin.Reset(Media.PlayerArtwork.Visible)</onfocus>
            <onfocus condition="Skin.HasSetting(Player.SeekBarTransparent)">Skin.Reset(Media.PlayerSeekBar.Visible)</onfocus>
            <onfocus condition="!Skin.HasSetting(Player.SeekBarTransparent)">Skin.SetBool(Media.PlayerSeekBar.Visible)</onfocus>
            <onfocus condition="Skin.HasSetting(Overlay.BackgroundVisible)">Skin.SetBool(Media.OverlayBackground.Visible)</onfocus>
            <onfocus condition="!Skin.HasSetting(Overlay.BackgroundVisible)">Skin.Reset(Media.OverlayBackground.Visible)</onfocus>
        </definition>
    </include>

    <include name="MiscellaneousSettingsForSkinSettings">
        <definition>
            <onfocus>Skin.SetBool(TitleScreen.Visible)</onfocus>
            <onfocus>Skin.SetBool(SideMenu.Grouped)</onfocus>
            <onfocus>Skin.SetBool(SideMenu.Visible)</onfocus>
            <onfocus>Skin.SetBool(SideMenu.GlobalSearch)</onfocus>
            <onfocus>Skin.SetBool(ViewScrollbar.Visible)</onfocus>
            <onfocus>Skin.SetBool(BackButton.Visible)</onfocus>
            <onfocus>Skin.SetBool(RSSFeed.BackgroundVisible)</onfocus>
            <onfocus>Skin.SetBool(MediaIcons.Visible)</onfocus>
            <onfocus>Skin.SetString(BusyAnimation.Type,A)</onfocus>
            <onfocus>Skin.SetBool(NoInformationLabel.Visible)</onfocus>
            <onfocus>Skin.SetString(Thumbnails.Type,C)</onfocus>
            <onfocus>Skin.Reset(Thumbnails.NameVisible)</onfocus>
            <onfocus>Skin.SetBool(Landscape.DescriptionVisible)</onfocus>
            <onfocus>Skin.Reset(Settings.DialogInfoAutoRefresh)</onfocus>
            <onfocus>Skin.Reset(Settings.DialogInfoAutoScroll)</onfocus>
            <onfocus>Skin.SetBool(Keyboard.AutoCompleteActive)</onfocus>
            <onfocus>Skin.SetBool(Settings.HelpVisible)</onfocus>
        </definition>
    </include>
    
    <include name="DebugSettingsDefaultValues">
        <definition>
            <onfocus>Skin.Reset(Debug.Grid.Visible)</onfocus>
            <onfocus>Skin.Reset(Debug.Info.Visible)</onfocus>
            <onfocus>Skin.SetString(Debug.Info.AdditionalType,N)</onfocus>
            <onfocus>Skin.Reset(Debug.ListBorder.Visible)</onfocus>
            <onfocus>Skin.Reset(Background.Visualiser.RunHidden)</onfocus>
        </definition>
    </include>
</includes>
