aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/UI/Views/Main
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ava/UI/Views/Main')
-rw-r--r--src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml89
-rw-r--r--src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs6
-rw-r--r--src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml39
-rw-r--r--src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml.cs6
-rw-r--r--src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml13
5 files changed, 107 insertions, 46 deletions
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml
index d5b5efcd..30358ada 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml
@@ -7,8 +7,7 @@
mc:Ignorable="d"
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
x:DataType="viewModels:MainWindowViewModel"
- x:Class="Ryujinx.Ava.UI.Views.Main.MainMenuBarView"
- x:CompileBindings="True">
+ x:Class="Ryujinx.Ava.UI.Views.Main.MainMenuBarView">
<Design.DataContext>
<viewModels:MainWindowViewModel />
</Design.DataContext>
@@ -25,12 +24,12 @@
</Menu.ItemsPanel>
<MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarFile}">
<MenuItem
- Command="{ReflectionBinding OpenFile}"
+ Command="{Binding OpenFile}"
Header="{locale:Locale MenuBarFileOpenFromFile}"
IsEnabled="{Binding EnableNonGameRunningControls}"
ToolTip.Tip="{locale:Locale LoadApplicationFileTooltip}" />
<MenuItem
- Command="{ReflectionBinding OpenFolder}"
+ Command="{Binding OpenFolder}"
Header="{locale:Locale MenuBarFileOpenUnpacked}"
IsEnabled="{Binding EnableNonGameRunningControls}"
ToolTip.Tip="{locale:Locale LoadApplicationFolderTooltip}" />
@@ -42,11 +41,11 @@
</MenuItem>
<Separator />
<MenuItem
- Command="{ReflectionBinding OpenRyujinxFolder}"
+ Command="{Binding OpenRyujinxFolder}"
Header="{locale:Locale MenuBarFileOpenEmuFolder}"
ToolTip.Tip="{locale:Locale OpenRyujinxFolderTooltip}" />
<MenuItem
- Command="{ReflectionBinding OpenLogsFolder}"
+ Command="{Binding OpenLogsFolder}"
Header="{locale:Locale MenuBarFileOpenLogsFolder}"
ToolTip.Tip="{locale:Locale OpenRyujinxLogsTooltip}" />
<Separator />
@@ -57,35 +56,75 @@
</MenuItem>
<MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarOptions}">
<MenuItem
- Command="{ReflectionBinding ToggleFullscreen}"
+ Padding="-10,0,0,0"
+ Command="{Binding ToggleFullscreen}"
Header="{locale:Locale MenuBarOptionsToggleFullscreen}"
InputGesture="F11" />
- <MenuItem>
+ <MenuItem
+ Padding="0"
+ Command="{Binding ToggleStartGamesInFullscreen}"
+ Header="{locale:Locale MenuBarOptionsStartGamesInFullscreen}">
<MenuItem.Icon>
- <CheckBox IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}"
- MinWidth="250">
- <TextBlock Text="{locale:Locale MenuBarOptionsStartGamesInFullscreen}"/>
- </CheckBox>
+ <CheckBox
+ MinWidth="{DynamicResource CheckBoxSize}"
+ MinHeight="{DynamicResource CheckBoxSize}"
+ IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}"
+ Padding="0" />
</MenuItem.Icon>
+ <MenuItem.Styles>
+ <Style Selector="Viewbox#PART_IconPresenter">
+ <Setter Property="MaxHeight" Value="36" />
+ <Setter Property="MinHeight" Value="36" />
+ <Setter Property="MaxWidth" Value="36" />
+ <Setter Property="MinWidth" Value="36" />
+ </Style>
+ <Style Selector="ContentPresenter#PART_HeaderPresenter">
+ <Setter Property="Padding" Value="-10,0,0,0" />
+ </Style>
+ </MenuItem.Styles>
</MenuItem>
- <MenuItem IsVisible="{Binding ShowConsoleVisible}">
+ <MenuItem
+ Padding="0"
+ IsVisible="{Binding ShowConsoleVisible}"
+ Command="{Binding ToggleShowConsole}"
+ Header="{locale:Locale MenuBarOptionsShowConsole}">
<MenuItem.Icon>
- <CheckBox IsChecked="{Binding ShowConsole, Mode=TwoWay}"
- MinWidth="250">
- <TextBlock Text="{locale:Locale MenuBarOptionsShowConsole}"/>
- </CheckBox>
+ <CheckBox
+ MinWidth="{DynamicResource CheckBoxSize}"
+ MinHeight="{DynamicResource CheckBoxSize}"
+ IsChecked="{Binding ShowConsole, Mode=TwoWay}"
+ Padding="0" />
</MenuItem.Icon>
+ <MenuItem.Styles>
+ <Style Selector="Viewbox#PART_IconPresenter">
+ <Setter Property="MaxHeight" Value="36" />
+ <Setter Property="MinHeight" Value="36" />
+ <Setter Property="MaxWidth" Value="36" />
+ <Setter Property="MinWidth" Value="36" />
+ </Style>
+ <Style Selector="ContentPresenter#PART_HeaderPresenter">
+ <Setter Property="Padding" Value="-10,0,0,0" />
+ </Style>
+ </MenuItem.Styles>
</MenuItem>
<Separator />
- <MenuItem Name="ChangeLanguageMenuItem" Header="{locale:Locale MenuBarOptionsChangeLanguage}" />
- <MenuItem Name="ToggleFileTypesMenuItem" Header="{locale:Locale MenuBarShowFileTypes}" />
+ <MenuItem
+ Name="ChangeLanguageMenuItem"
+ Padding="-10,0,0,0"
+ Header="{locale:Locale MenuBarOptionsChangeLanguage}" />
+ <MenuItem
+ Name="ToggleFileTypesMenuItem"
+ Padding="-10,0,0,0"
+ Header="{locale:Locale MenuBarShowFileTypes}" />
<Separator />
<MenuItem
Click="OpenSettings"
+ Padding="-10,0,0,0"
Header="{locale:Locale MenuBarOptionsSettings}"
ToolTip.Tip="{locale:Locale OpenSettingsTooltip}" />
<MenuItem
- Command="{ReflectionBinding ManageProfiles}"
+ Command="{Binding ManageProfiles}"
+ Padding="-10,0,0,0"
Header="{locale:Locale MenuBarOptionsManageUserProfiles}"
IsEnabled="{Binding EnableNonGameRunningControls}"
ToolTip.Tip="{locale:Locale OpenProfileManagerTooltip}" />
@@ -113,7 +152,7 @@
InputGesture="Escape"
IsEnabled="{Binding IsGameRunning}"
ToolTip.Tip="{locale:Locale StopEmulationTooltip}" />
- <MenuItem Command="{ReflectionBinding SimulateWakeUpMessage}" Header="{locale:Locale MenuBarOptionsSimulateWakeUpMessage}" />
+ <MenuItem Command="{Binding SimulateWakeUpMessage}" Header="{locale:Locale MenuBarOptionsSimulateWakeUpMessage}" />
<Separator />
<MenuItem
Name="ScanAmiiboMenuItem"
@@ -122,12 +161,12 @@
Header="{locale:Locale MenuBarActionsScanAmiibo}"
IsEnabled="{Binding IsAmiiboRequested}" />
<MenuItem
- Command="{ReflectionBinding TakeScreenshot}"
+ Command="{Binding TakeScreenshot}"
Header="{locale:Locale MenuBarFileToolsTakeScreenshot}"
InputGesture="{Binding ScreenshotKey}"
IsEnabled="{Binding IsGameRunning}" />
<MenuItem
- Command="{ReflectionBinding HideUi}"
+ Command="{Binding HideUi}"
Header="{locale:Locale MenuBarFileToolsHideUi}"
InputGesture="{Binding ShowUiKey}"
IsEnabled="{Binding IsGameRunning}" />
@@ -138,8 +177,8 @@
</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 Command="{Binding InstallFirmwareFromFile}" Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromFile}" />
+ <MenuItem Command="{Binding InstallFirmwareFromFolder}" Header="{locale:Locale MenuBarFileToolsInstallFirmwareFromDirectory}" />
</MenuItem>
<MenuItem Header="{locale:Locale MenuBarToolsManageFileTypes}" IsVisible="{Binding ManageFileTypesVisible}">
<MenuItem Header="{locale:Locale MenuBarToolsInstallFileTypes}" Click="InstallFileTypes_Click"/>
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs
index ae52f071..af8c4dab 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainMenuBarView.axaml.cs
@@ -30,8 +30,8 @@ namespace Ryujinx.Ava.UI.Views.Main
{
InitializeComponent();
- ToggleFileTypesMenuItem.Items = GenerateToggleFileTypeItems();
- ChangeLanguageMenuItem.Items = GenerateLanguageMenuItems();
+ ToggleFileTypesMenuItem.ItemsSource = GenerateToggleFileTypeItems();
+ ChangeLanguageMenuItem.ItemsSource = GenerateLanguageMenuItems();
}
private CheckBox[] GenerateToggleFileTypeItems()
@@ -45,7 +45,7 @@ namespace Ryujinx.Ava.UI.Views.Main
{
Content = $".{fileName}",
IsChecked = ((FileTypes)item).GetConfigValue(ConfigurationState.Instance.Ui.ShownFileTypes),
- Command = MiniCommand.Create(() => ViewModel.ToggleFileType(fileName)),
+ Command = MiniCommand.Create(() => Window.ToggleFileType(fileName)),
});
}
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
index 16705695..58e06a1c 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml
@@ -8,7 +8,6 @@
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Ryujinx.Ava.UI.Views.Main.MainStatusBarView"
- x:CompileBindings="True"
x:DataType="viewModels:MainWindowViewModel">
<Design.DataContext>
<viewModels:MainWindowViewModel />
@@ -46,7 +45,7 @@
Margin="0,0,5,0"
VerticalAlignment="Center"
Background="Transparent"
- Command="{ReflectionBinding LoadApplications}">
+ Click="Refresh_OnClick">
<ui:SymbolIcon
Width="50"
Height="100"
@@ -64,7 +63,7 @@
Grid.Column="2"
Height="6"
VerticalAlignment="Center"
- Foreground="{DynamicResource HighlightColor}"
+ Foreground="{DynamicResource SystemAccentColorLight2}"
IsVisible="{Binding StatusBarVisible}"
Maximum="{Binding StatusBarProgressMaximum}"
Value="{Binding StatusBarProgressValue}" />
@@ -93,6 +92,7 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -109,6 +109,7 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -125,20 +126,32 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
- <ui:ToggleSplitButton
+ <ToggleSplitButton
Name="VolumeStatus"
Padding="5,0,5,0"
HorizontalAlignment="Left"
VerticalAlignment="Center"
VerticalContentAlignment="Center"
- Background="{DynamicResource ThemeContentBackgroundColor}"
- BorderThickness="0"
Content="{Binding VolumeStatusText}"
IsChecked="{Binding VolumeMuted}"
- IsVisible="{Binding !ShowLoadProgress}">
- <ui:ToggleSplitButton.Flyout>
+ IsVisible="{Binding !ShowLoadProgress}"
+ Background="Transparent"
+ BorderThickness="0"
+ CornerRadius="0">
+ <ToggleSplitButton.Styles>
+ <Style Selector=":checked">
+ <Style Selector="^:checked ContentPresenter">
+ <Setter Property="Foreground" Value="{DynamicResource ThemeForegroundColor}" />
+ </Style>
+ </Style>
+ <Style Selector="Border#SeparatorBorder">
+ <Setter Property="Opacity" Value="0" />
+ </Style>
+ </ToggleSplitButton.Styles>
+ <ToggleSplitButton.Flyout>
<Flyout Placement="Bottom" ShowMode="TransientWithDismissOnPointerMoveAway">
<Grid Margin="0">
<Slider
@@ -156,13 +169,14 @@
Value="{Binding Volume}" />
</Grid>
</Flyout>
- </ui:ToggleSplitButton.Flyout>
- </ui:ToggleSplitButton>
+ </ToggleSplitButton.Flyout>
+ </ToggleSplitButton>
<Border
Width="2"
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -177,6 +191,7 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -191,6 +206,7 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -205,6 +221,7 @@
Height="12"
Margin="0"
BorderBrush="Gray"
+ Background="Gray"
BorderThickness="1"
IsVisible="{Binding !ShowLoadProgress}" />
<TextBlock
@@ -229,4 +246,4 @@
Text="{locale:Locale StatusBarSystemVersion}" />
</StackPanel>
</Grid>
-</UserControl> \ No newline at end of file
+</UserControl>
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml.cs b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml.cs
index 0640869c..a0acc277 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml.cs
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainStatusBarView.axaml.cs
@@ -1,6 +1,7 @@
using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
+using Avalonia.Interactivity;
using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common.Configuration;
using Ryujinx.Common.Logging;
@@ -48,5 +49,10 @@ namespace Ryujinx.Ava.UI.Views.Main
ConfigurationState.Instance.Graphics.AspectRatio.Value = (int)aspectRatio + 1 > Enum.GetNames(typeof(AspectRatio)).Length - 1 ? AspectRatio.Fixed4x3 : aspectRatio + 1;
}
+
+ private void Refresh_OnClick(object sender, RoutedEventArgs e)
+ {
+ Window.LoadApplications();
+ }
}
}
diff --git a/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml b/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml
index f7dbf2b2..f5a17742 100644
--- a/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml
+++ b/src/Ryujinx.Ava/UI/Views/Main/MainViewControls.axaml
@@ -9,7 +9,6 @@
xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="Ryujinx.Ava.UI.Views.Main.MainViewControls"
- x:CompileBindings="True"
x:DataType="viewModels:MainWindowViewModel">
<Design.DataContext>
<viewModels:MainWindowViewModel />
@@ -23,7 +22,7 @@
MinWidth="40"
Margin="5,2,0,2"
VerticalAlignment="Stretch"
- Command="{ReflectionBinding SetListMode}"
+ Command="{Binding SetListMode}"
IsEnabled="{Binding IsGrid}">
<ui:FontIcon
Margin="0"
@@ -37,7 +36,7 @@
MinWidth="40"
Margin="5,2,5,2"
VerticalAlignment="Stretch"
- Command="{ReflectionBinding SetGridMode}"
+ Command="{Binding SetGridMode}"
IsEnabled="{Binding IsList}">
<ui:FontIcon
Margin="0"
@@ -79,13 +78,13 @@
KeyUp="SearchBox_OnKeyUp"
Text="{Binding SearchText}"
Watermark="{locale:Locale MenuSearch}" />
- <ui:DropDownButton
+ <DropDownButton
Width="150"
HorizontalAlignment="Right"
VerticalAlignment="Center"
Content="{Binding SortName}"
DockPanel.Dock="Right">
- <ui:DropDownButton.Flyout>
+ <DropDownButton.Flyout>
<Flyout Placement="Bottom">
<StackPanel
Margin="0"
@@ -164,8 +163,8 @@
Tag="Descending" />
</StackPanel>
</Flyout>
- </ui:DropDownButton.Flyout>
- </ui:DropDownButton>
+ </DropDownButton.Flyout>
+ </DropDownButton>
<TextBlock
Margin="10,0"
HorizontalAlignment="Right"