<window:StyleableWindow
    x:Class="Ryujinx.Ava.Ui.Windows.MainWindow"
    xmlns="https://github.com/avaloniaui"
    xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
    xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
    xmlns:models="clr-namespace:Ryujinx.Ava.Ui.Models"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:viewModels="clr-namespace:Ryujinx.Ava.Ui.ViewModels"
    xmlns:window="clr-namespace:Ryujinx.Ava.Ui.Windows"
    Title="Ryujinx"
    Height="785"
    Width="1280"
    d:DesignHeight="720"
    d:DesignWidth="1280"
    MinWidth="1024"
    MinHeight="680"
    WindowStartupLocation="CenterScreen"
    x:CompileBindings="True"
    x:DataType="viewModels:MainWindowViewModel"
    mc:Ignorable="d">
    <Window.Styles>
        <Style Selector="TitleBar:fullscreen">
            <Setter Property="Background" Value="#000000" />
        </Style>
    </Window.Styles>
    <Design.DataContext>
        <viewModels:MainWindowViewModel />
    </Design.DataContext>
    <Window.Resources>
        <controls:BitmapArrayValueConverter x:Key="ByteImage" />
    </Window.Resources>
    <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <controls:OffscreenTextBox Name="HiddenTextBox" Grid.Row="0" />
        <ContentControl Grid.Row="1"
                        Focusable="False"
                        IsVisible="False"
                        KeyboardNavigation.IsTabStop="False">
            <ui:ContentDialog Name="ContentDialog"
                              KeyboardNavigation.IsTabStop="False"
                              IsPrimaryButtonEnabled="True"
                              IsSecondaryButtonEnabled="True"
                              IsVisible="True" />
        </ContentControl>
        <StackPanel IsVisible="False" Grid.Row="0">
            <controls:HotKeyControl Name="FullscreenHotKey" Command="{ReflectionBinding ToggleFullscreen}" />
            <controls:HotKeyControl Name="FullscreenHotKey2" Command="{ReflectionBinding ToggleFullscreen}" />
            <controls:HotKeyControl Name="DockToggleHotKey" Command="{ReflectionBinding ToggleDockMode}" />
            <controls:HotKeyControl Name="ExitHotKey" Command="{ReflectionBinding ExitCurrentState}" />
        </StackPanel>
        <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
                <RowDefinition Height="Auto" />
            </Grid.RowDefinitions>
            <StackPanel
                Grid.Row="0"
                Margin="0"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                IsVisible="{Binding ShowMenuAndStatusBar}"
                Orientation="Vertical">
                <DockPanel HorizontalAlignment="Stretch">
                    <Menu
                        Name="Menu"
                        Margin="0"
                        Height="35"
                        HorizontalAlignment="Left">
                        <Menu.ItemsPanel>
                            <ItemsPanelTemplate>
                                <DockPanel HorizontalAlignment="Stretch" Margin="0" />
                            </ItemsPanelTemplate>
                        </Menu.ItemsPanel>
                        <MenuItem
                            VerticalAlignment="Center"
                            Header="{locale:Locale MenuBarFile}">
                            <MenuItem IsEnabled="{Binding EnableNonGameRunningControls}"
                                      Command="{ReflectionBinding OpenFile}"
                                      Header="{locale:Locale MenuBarFileOpenFromFile}"
                                      ToolTip.Tip="{locale:Locale LoadApplicationFileTooltip}" />
                            <MenuItem IsEnabled="{Binding EnableNonGameRunningControls}"
                                      Command="{ReflectionBinding OpenFolder}"
                                      Header="{locale:Locale MenuBarFileOpenUnpacked}"
                                      ToolTip.Tip="{locale:Locale LoadApplicationFolderTooltip}" />
                            <MenuItem Header="{locale:Locale MenuBarFileOpenApplet}"
                                      IsEnabled="{Binding IsAppletMenuActive}">
                                <MenuItem Command="{ReflectionBinding OpenMiiApplet}" Header="Mii Edit Applet"
                                          ToolTip.Tip="{locale:Locale MenuBarFileOpenAppletOpenMiiAppletToolTip}" />
                            </MenuItem>
                            <Separator />
                            <MenuItem Command="{ReflectionBinding OpenRyujinxFolder}"
                                      Header="{locale:Locale MenuBarFileOpenEmuFolder}"
                                      ToolTip.Tip="{locale:Locale OpenRyujinxFolderTooltip}" />
                            <MenuItem Command="{ReflectionBinding OpenLogsFolder}"
                                      Header="{locale:Locale MenuBarFileOpenLogsFolder}"
                                      ToolTip.Tip="{locale:Locale OpenRyujinxLogsTooltip}" />
                            <Separator />
                            <MenuItem Command="{ReflectionBinding CloseWindow}"
                                      Header="{locale:Locale MenuBarFileExit}"
                                      ToolTip.Tip="{locale:Locale ExitTooltip}" />
                        </MenuItem>
                        <MenuItem
                            VerticalAlignment="Center"
                            Header="{locale:Locale MenuBarOptions}">
                            <MenuItem Command="{ReflectionBinding ToggleFullscreen}"
                                      Header="{locale:Locale MenuBarOptionsToggleFullscreen}" InputGesture="F11" />
                            <MenuItem Header="{locale:Locale MenuBarOptionsStartGamesInFullscreen}">
                                <MenuItem.Icon>
                                    <CheckBox IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}" />
                                </MenuItem.Icon>
                            </MenuItem>
                            <MenuItem Header="{locale:Locale MenuBarOptionsShowConsole}">
                                <MenuItem.Icon>
                                    <CheckBox IsChecked="{Binding ShowConsole, Mode=TwoWay}" />
                                </MenuItem.Icon>
                            </MenuItem>
                            <Separator />
                            <MenuItem Header="{locale:Locale MenuBarOptionsChangeLanguage}">
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="en_US"
                                          Header="American English" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="pt_BR"
                                          Header="Brazilian Portuguese" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="es_ES"
                                          Header="Castilian Spanish" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="fr_FR"
                                          Header="French" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="de_DE"
                                          Header="German" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="el_GR"
                                          Header="Greek" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="it_IT"
                                          Header="Italian" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ko_KR"
                                          Header="Korean" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="ru_RU"
                                          Header="Russian" />
                                <MenuItem Command="{ReflectionBinding ChangeLanguage}" CommandParameter="tr_TR"
                                          Header="Turkish" />
                            </MenuItem>
                            <Separator />
                            <MenuItem Command="{ReflectionBinding OpenSettings}"
                                      Header="{locale:Locale MenuBarOptionsSettings}"
                                      ToolTip.Tip="{locale:Locale OpenSettingsTooltip}" />
                            <MenuItem Command="{ReflectionBinding ManageProfiles}"
                                      IsEnabled="{Binding EnableNonGameRunningControls}"
                                      Header="{locale:Locale MenuBarOptionsManageUserProfiles}"
                                      ToolTip.Tip="{locale:Locale OpenProfileManagerTooltip}" />
                        </MenuItem>
                        <MenuItem
                            VerticalAlignment="Center"
                            Header="{locale:Locale MenuBarActions}"
                            Name="ActionsMenuItem"
                            IsEnabled="{Binding IsGameRunning}">
                            <MenuItem
                                Click="PauseEmulation_Click"
                                Header="{locale:Locale MenuBarOptionsPauseEmulation}"
                                IsEnabled="{Binding !IsPaused}"
                                IsVisible="{Binding !IsPaused}"
                                InputGesture="{Binding PauseKey}" />
                            <MenuItem
                                Click="ResumeEmulation_Click"
                                Header="{locale:Locale MenuBarOptionsResumeEmulation}"
                                IsEnabled="{Binding IsPaused}"
                                IsVisible="{Binding IsPaused}"
                                InputGesture="{Binding PauseKey}" />
                            <MenuItem
                                Click="StopEmulation_Click"
                                Header="{locale:Locale MenuBarOptionsStopEmulation}"
                                ToolTip.Tip="{locale:Locale StopEmulationTooltip}"
                                IsEnabled="{Binding IsGameRunning}" InputGesture="Escape" />
                            <MenuItem Command="{ReflectionBinding SimulateWakeUpMessage}"
                                      Header="{locale:Locale MenuBarOptionsSimulateWakeUpMessage}" />
                            <Separator />
                            <MenuItem
                                Name="ScanAmiiboMenuItem"
                                AttachedToVisualTree="ScanAmiiboMenuItem_AttachedToVisualTree"
                                Command="{ReflectionBinding OpenAmiiboWindow}"
                                Header="{locale:Locale MenuBarActionsScanAmiibo}"
                                IsEnabled="{Binding IsAmiiboRequested}" />
                            <MenuItem Command="{ReflectionBinding TakeScreenshot}"
                                      IsEnabled="{Binding IsGameRunning}"
                                      Header="{locale:Locale MenuBarFileToolsTakeScreenshot}"
                                      InputGesture="{Binding ScreenshotKey}" />
                            <MenuItem Command="{ReflectionBinding HideUi}"
                                      IsEnabled="{Binding IsGameRunning}"
                                      Header="{locale:Locale MenuBarFileToolsHideUi}"
                                      InputGesture="{Binding ShowUiKey}" />
                            <MenuItem Command="{ReflectionBinding  OpenCheatManagerForCurrentApp}"
                                      IsEnabled="{Binding IsGameRunning}"
                                      Header="{locale:Locale GameListContextMenuManageCheat}" />
                        </MenuItem>
                        <MenuItem
                            VerticalAlignment="Center"
                            Header="{locale:Locale MenuBarTools}">
                            <MenuItem Header="{locale:Locale MenuBarToolsInstallFirmware}"
                                      IsEnabled="{Binding EnableNonGameRunningControls}">
                                <MenuItem Command="{ReflectionBinding InstallFirmwareFromFile}"
                                          Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromFile}" />
                                <MenuItem Command="{ReflectionBinding InstallFirmwareFromFolder}"
                                          Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromDirectory}" />
                            </MenuItem>
                        </MenuItem>
                        <MenuItem
                            VerticalAlignment="Center"
                            Header="{locale:Locale MenuBarHelp}">
                            <MenuItem
                                Name="UpdateMenuItem"
                                Command="{ReflectionBinding CheckForUpdates}"
                                Header="{locale:Locale MenuBarHelpCheckForUpdates}"
                                ToolTip.Tip="{locale:Locale CheckUpdatesTooltip}" />
                            <Separator />
                            <MenuItem Command="{ReflectionBinding OpenAboutWindow}"
                                      Header="{locale:Locale MenuBarHelpAbout}"
                                      ToolTip.Tip="{locale:Locale OpenAboutTooltip}" />
                        </MenuItem>
                    </Menu>
                </DockPanel>
            </StackPanel>
            <ContentControl
                Name="Content"
                Grid.Row="1"
                Padding="0"
                IsVisible="{Binding ShowContent}"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                BorderBrush="{DynamicResource ThemeControlBorderColor}"
                BorderThickness="0,0,0,0"
                DockPanel.Dock="Top">
                <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto" />
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <DockPanel Grid.Row="0" HorizontalAlignment="Stretch" Margin="0,0,0,5">
                        <Button
                            IsEnabled="{Binding IsGrid}" VerticalAlignment="Stretch" MinWidth="40" Width="40"
                            Margin="5,2,0,2" Command="{ReflectionBinding SetListMode}">
                            <ui:FontIcon FontFamily="avares://FluentAvalonia/Fonts#Symbols"
                                         VerticalAlignment="Center"
                                         Margin="0"
                                         Glyph="{controls:GlyphValueConverter List}"
                                         HorizontalAlignment="Stretch" />
                        </Button>
                        <Button
                            IsEnabled="{Binding IsList}" VerticalAlignment="Stretch" MinWidth="40" Width="40"
                            Margin="5,2,5,2" Command="{ReflectionBinding SetGridMode}">
                            <ui:FontIcon FontFamily="avares://FluentAvalonia/Fonts#Symbols"
                                         VerticalAlignment="Center"
                                         Margin="0"
                                         Glyph="{controls:GlyphValueConverter Grid}"
                                         HorizontalAlignment="Stretch" />
                        </Button>
                        <TextBlock Text="{locale:Locale IconSize}"
                                   VerticalAlignment="Center" Margin="10,0"
                                   ToolTip.Tip="{locale:Locale IconSizeTooltip}" />
                        <Slider Width="150" Margin="5,-10,5 ,0" Height="35"
                                ToolTip.Tip="{locale:Locale IconSizeTooltip}"
                                VerticalAlignment="Center" Minimum="1" Maximum="4" IsSnapToTickEnabled="True"
                                TickFrequency="1" Value="{Binding GridSizeScale}" />
                        <CheckBox Margin="0" IsChecked="{Binding ShowNames, Mode=TwoWay}" VerticalAlignment="Center"
                                  IsVisible="{Binding IsGrid}">
                            <TextBlock Text="{locale:Locale CommonShowNames}" Margin="5,3,0,0" />
                        </CheckBox>
                        <TextBox
                            Name="SearchBox"
                            DockPanel.Dock="Right"
                            VerticalAlignment="Center"
                            MinWidth="200"
                            Margin="5,0,5,0"
                            HorizontalAlignment="Right"
                            KeyUp="SearchBox_OnKeyUp"
                            Text="{Binding SearchText}"
                            Watermark="{locale:Locale MenuSearch}" />
                        <ui:DropDownButton DockPanel.Dock="Right"
                                           HorizontalAlignment="Right" Width="150" VerticalAlignment="Center"
                                           Content="{Binding SortName}">
                            <ui:DropDownButton.Flyout>
                                <Flyout Placement="Bottom">
                                    <StackPanel Orientation="Vertical" HorizontalAlignment="Stretch" Margin="0">
                                        <StackPanel>
                                            <RadioButton Tag="Favorite"
                                                         IsChecked="{Binding IsSortedByFavorite, Mode=OneTime}"
                                                         GroupName="Sort"
                                                         Content="{locale:Locale CommonFavorite}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="Title" GroupName="Sort"
                                                         IsChecked="{Binding  IsSortedByTitle, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderApplication}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="Developer" GroupName="Sort"
                                                         IsChecked="{Binding  IsSortedByDeveloper, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderDeveloper}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="TotalTimePlayed" GroupName="Sort"
                                                         IsChecked="{Binding  IsSortedByTimePlayed, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderTimePlayed}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="LastPlayed" GroupName="Sort"
                                                         IsChecked="{Binding IsSortedByLastPlayed, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderLastPlayed}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="FileType" GroupName="Sort"
                                                         IsChecked="{Binding  IsSortedByType, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderFileExtension}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="FileSize" GroupName="Sort"
                                                         IsChecked="{Binding IsSortedBySize, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderFileSize}"
                                                         Checked="Sort_Checked" />
                                            <RadioButton Tag="Path" GroupName="Sort"
                                                         IsChecked="{Binding IsSortedByPath, Mode=OneTime}"
                                                         Content="{locale:Locale GameListHeaderPath}"
                                                         Checked="Sort_Checked" />
                                        </StackPanel>
                                        <Border HorizontalAlignment="Stretch" Margin="5" Height="2" BorderBrush="White"
                                                Width="60" BorderThickness="0,1,0,0">
                                            <Separator HorizontalAlignment="Stretch" Height="0" />
                                        </Border>
                                        <RadioButton Tag="Ascending" IsChecked="{Binding IsAscending, Mode=OneTime}"
                                                     GroupName="Order"
                                                     Content="{locale:Locale OrderAscending}" Checked="Order_Checked" />
                                        <RadioButton Tag="Descending" GroupName="Order"
                                                     IsChecked="{Binding !IsAscending, Mode=OneTime}"
                                                     Content="{locale:Locale OrderDescending}" Checked="Order_Checked" />
                                    </StackPanel>
                                </Flyout>
                            </ui:DropDownButton.Flyout>
                        </ui:DropDownButton>
                        <TextBlock DockPanel.Dock="Right" HorizontalAlignment="Right"
                                   Text="{locale:Locale CommonSort}" VerticalAlignment="Center" Margin="10,0" />
                    </DockPanel>
                    <controls:GameListView
                        x:Name="GameList"
                        Grid.Row="1"
                        HorizontalContentAlignment="Stretch"
                        HorizontalAlignment="Stretch"
                        VerticalContentAlignment="Stretch"
                        VerticalAlignment="Stretch"
                        IsVisible="{Binding IsList}" />
                    <controls:GameGridView
                        x:Name="GameGrid"
                        Grid.Row="1"
                        HorizontalContentAlignment="Stretch"
                        HorizontalAlignment="Stretch"
                        VerticalContentAlignment="Stretch"
                        VerticalAlignment="Stretch"
                        IsVisible="{Binding IsGrid}" />
                </Grid>
            </ContentControl>
            <Grid Grid.Row="1"
                  VerticalAlignment="Stretch"
                  Background="{DynamicResource ThemeContentBackgroundColor}"
                  IsVisible="{Binding ShowLoadProgress}"
                  ZIndex="1000"
                  HorizontalAlignment="Stretch">
                <Grid
                    HorizontalAlignment="Center"
                    IsVisible="{Binding ShowLoadProgress}"
                    Margin="40"
                    VerticalAlignment="Center">
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="Auto" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <Border
                        Grid.Column="0"
                        Grid.RowSpan="2"
                        IsVisible="{Binding ShowLoadProgress}"
                        Width="256"
                        Height="256"
                        Margin="10"
                        Padding="4"
                        BorderBrush="Black"
                        BorderThickness="2"
                        BoxShadow="4 4 32 8 #40000000"
                        CornerRadius="3">
                        <Image
                            IsVisible="{Binding ShowLoadProgress}"
                            Width="256"
                            Height="256"
                            Source="{Binding SelectedIcon, Converter={StaticResource ByteImage}}" />
                    </Border>
                    <Grid Grid.Column="1"
                          IsVisible="{Binding ShowLoadProgress}"
                          HorizontalAlignment="Stretch"
                          VerticalAlignment="Center">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="Auto" />
                            <RowDefinition Height="Auto" />
                            <RowDefinition Height="Auto" />
                        </Grid.RowDefinitions>
                        <TextBlock
                            IsVisible="{Binding ShowLoadProgress}"
                            Grid.Row="0"
                            Margin="10"
                            FontSize="30"
                            FontWeight="Bold"
                            TextWrapping="Wrap"
                            Text="{Binding LoadHeading}"
                            TextAlignment="Left" />
                        <Border
                            IsVisible="{Binding ShowLoadProgress}"
                            Grid.Row="1"
                            CornerRadius="5"
                            ClipToBounds="True"
                            BorderBrush="{Binding ProgressBarBackgroundColor}"
                            Padding="0"
                            HorizontalAlignment="Stretch"
                            Margin="10"
                            BorderThickness="1">
                            <ProgressBar
                                IsVisible="{Binding ShowLoadProgress}"
                                Height="10"
                                Margin="0"
                                Padding="0"
                                CornerRadius="5"
                                ClipToBounds="True"
                                MinWidth="500"
                                HorizontalAlignment="Stretch"
                                Background="{Binding ProgressBarBackgroundColor}"
                                Foreground="{Binding ProgressBarForegroundColor}"
                                Maximum="{Binding ProgressMaximum}"
                                Minimum="0"
                                IsIndeterminate="{Binding IsLoadingIndeterminate}"
                                Value="{Binding ProgressValue}" />
                        </Border>
                        <TextBlock
                            IsVisible="{Binding ShowLoadProgress}"
                            Grid.Row="2"
                            Margin="10"
                            FontSize="18"
                            Text="{Binding CacheLoadStatus}"
                            TextAlignment="Left" />
                    </Grid>
                </Grid>
            </Grid>
            <Grid
                Name="StatusBar"
                Grid.Row="2"
                Height="30"
                Margin="0,0"
                HorizontalAlignment="Stretch"
                Background="{DynamicResource ThemeContentBackgroundColor}"
                VerticalAlignment="Bottom"
                DockPanel.Dock="Bottom"
                IsVisible="{Binding ShowMenuAndStatusBar}">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="Auto" />
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="Auto" />
                </Grid.ColumnDefinitions>
                <StackPanel Grid.Column="0" IsVisible="{Binding EnableNonGameRunningControls}"
                            VerticalAlignment="Center" Margin="10,0">
                    <Grid Margin="0">
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition />
                        </Grid.ColumnDefinitions>
                        <Button
                            Width="25"
                            Height="25"
                            MinWidth="0"
                            Margin="0,0,5,0"
                            VerticalAlignment="Center"
                            Background="Transparent"
                            Command="{ReflectionBinding LoadApplications}">
                            <ui:SymbolIcon Symbol="Refresh" Height="100" Width="50" />
                        </Button>
                        <TextBlock
                            Name="LoadStatus"
                            Grid.Column="1"
                            Margin="0,0,5,0"
                            VerticalAlignment="Center"
                            IsVisible="{Binding EnableNonGameRunningControls}"
                            Text="{locale:Locale StatusBarGamesLoaded}" />
                        <ProgressBar
                            Name="LoadProgressBar"
                            Grid.Column="2"
                            Height="6"
                            Maximum="{Binding StatusBarProgressMaximum}"
                            Value="{Binding StatusBarProgressValue}"
                            VerticalAlignment="Center"
                            Foreground="{DynamicResource HighlightColor}"
                            IsVisible="{Binding EnableNonGameRunningControls}" />
                    </Grid>
                </StackPanel>
                <StackPanel
                    Grid.Column="1"
                    Margin="10,0"
                    HorizontalAlignment="Left"
                    VerticalAlignment="Center"
                    IsVisible="{Binding IsGameRunning}"
                    Orientation="Horizontal">
                    <TextBlock
                        Name="VsyncStatus"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Foreground="{Binding VsyncColor}"
                        PointerReleased="VsyncStatus_PointerReleased"
                        IsVisible="{Binding !ShowLoadProgress}"
                        Margin="0,0,5,0"
                        Text="VSync"
                        TextAlignment="Left" />
                    <Border
                        Width="2"
                        Margin="2,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <TextBlock
                        Margin="5,0,5,0"
                        Name="DockedStatus"
                        IsVisible="{Binding !ShowLoadProgress}"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        PointerReleased="DockedStatus_PointerReleased"
                        Text="{Binding DockedStatusText}"
                        TextAlignment="Left" />
                    <Border
                        Width="2"
                        Margin="2,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <TextBlock
                        Margin="5,0,5,0"
                        Name="AspectRatioStatus"
                        IsVisible="{Binding !ShowLoadProgress}"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        PointerReleased="AspectRatioStatus_PointerReleased"
                        Text="{Binding AspectRatioStatusText}"
                        TextAlignment="Left" />
                    <Border
                        Width="2"
                        Margin="2,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <ui:ToggleSplitButton
                        Margin="-2,0,-3,0"
                        Padding="5,0,0,5"
                        Name="VolumeStatus"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderBrush="{DynamicResource ThemeContentBackgroundColor}"
                        Background="{DynamicResource ThemeContentBackgroundColor}"
                        IsChecked="{Binding VolumeMuted}"
                        Content="{Binding VolumeStatusText}">
                        <ui:ToggleSplitButton.Flyout>
                            <Flyout Placement="Bottom" ShowMode="TransientWithDismissOnPointerMoveAway">
                                <Grid Margin="0">
                                    <Slider Value="{Binding Volume}"
                                            ToolTip.Tip="{locale:Locale AudioVolumeTooltip}"
                                            Minimum="0"
                                            Maximum="1"
                                            TickFrequency="0.05"
                                            IsSnapToTickEnabled="True"
                                            Padding="0"
                                            Margin="0"
                                            SmallChange="0.01"
                                            LargeChange="0.05"
                                            Width="150" />
                                </Grid>
                            </Flyout>
                        </ui:ToggleSplitButton.Flyout>
                    </ui:ToggleSplitButton>
                    <Border
                        Width="2"
                        Margin="2,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <TextBlock
                        Margin="5,0,5,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Text="{Binding GameStatusText}"
                        TextAlignment="Left" />
                    <Border
                        Width="2"
                        IsVisible="{Binding !ShowLoadProgress}"
                        Margin="2,0"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <TextBlock
                        Margin="5,0,5,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Text="{Binding FifoStatusText}"
                        TextAlignment="Left" />
                    <Border
                        Width="2"
                        Margin="2,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        BorderThickness="1"
                        Height="12"
                        BorderBrush="Gray" />
                    <TextBlock
                        Margin="5,0,5,0"
                        IsVisible="{Binding !ShowLoadProgress}"
                        HorizontalAlignment="Left"
                        VerticalAlignment="Center"
                        Text="{Binding GpuStatusText}"
                        TextAlignment="Left" />
                </StackPanel>
                <StackPanel VerticalAlignment="Center" IsVisible="{Binding ShowFirmwareStatus}" Grid.Column="3"
                            Orientation="Horizontal" Margin="10, 0">
                    <TextBlock
                        Name="FirmwareStatus"
                        HorizontalAlignment="Right"
                        VerticalAlignment="Center"
                        Margin="0"
                        Text="{locale:Locale StatusBarSystemVersion}" />
                </StackPanel>
            </Grid>
        </Grid>
    </Grid>
</window:StyleableWindow>