forked from Mirror/Ryujinx
2355c2af62
Currently in `MenuMainBarView.axaml` we list all available languages and hardcode the language name with the language key. It's a bit bad beause if we want to add a new language, we have to edit the `csproj` and the `axaml` with the translated language name and the language code. I've put all translations in their respective locale files, add code into `MainMenuBarView` constructor to generate the menu automatically. Now we just have to edit the `csproj` if we want to add a new language.
160 lines
No EOL
8.3 KiB
XML
160 lines
No EOL
8.3 KiB
XML
<UserControl
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
|
|
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">
|
|
<Design.DataContext>
|
|
<viewModels:MainWindowViewModel />
|
|
</Design.DataContext>
|
|
<DockPanel HorizontalAlignment="Stretch">
|
|
<Menu
|
|
Name="Menu"
|
|
Height="35"
|
|
Margin="0"
|
|
HorizontalAlignment="Left">
|
|
<Menu.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<DockPanel Margin="0" HorizontalAlignment="Stretch" />
|
|
</ItemsPanelTemplate>
|
|
</Menu.ItemsPanel>
|
|
<MenuItem VerticalAlignment="Center" Header="{locale:Locale MenuBarFile}">
|
|
<MenuItem
|
|
Command="{ReflectionBinding OpenFile}"
|
|
Header="{locale:Locale MenuBarFileOpenFromFile}"
|
|
IsEnabled="{Binding EnableNonGameRunningControls}"
|
|
ToolTip.Tip="{locale:Locale LoadApplicationFileTooltip}" />
|
|
<MenuItem
|
|
Command="{ReflectionBinding OpenFolder}"
|
|
Header="{locale:Locale MenuBarFileOpenUnpacked}"
|
|
IsEnabled="{Binding EnableNonGameRunningControls}"
|
|
ToolTip.Tip="{locale:Locale LoadApplicationFolderTooltip}" />
|
|
<MenuItem Header="{locale:Locale MenuBarFileOpenApplet}" IsEnabled="{Binding IsAppletMenuActive}">
|
|
<MenuItem
|
|
Click="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
|
|
Click="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>
|
|
<MenuItem.Icon>
|
|
<CheckBox IsChecked="{Binding StartGamesInFullscreen, Mode=TwoWay}"
|
|
MinWidth="250">
|
|
<TextBlock Text="{locale:Locale MenuBarOptionsStartGamesInFullscreen}"/>
|
|
</CheckBox>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<MenuItem IsVisible="{Binding ShowConsoleVisible}">
|
|
<MenuItem.Icon>
|
|
<CheckBox IsChecked="{Binding ShowConsole, Mode=TwoWay}"
|
|
MinWidth="250">
|
|
<TextBlock Text="{locale:Locale MenuBarOptionsShowConsole}"/>
|
|
</CheckBox>
|
|
</MenuItem.Icon>
|
|
</MenuItem>
|
|
<Separator />
|
|
<MenuItem Name="ChangeLanguageMenuItem" Header="{locale:Locale MenuBarOptionsChangeLanguage}">
|
|
</MenuItem>
|
|
<Separator />
|
|
<MenuItem
|
|
Click="OpenSettings"
|
|
Header="{locale:Locale MenuBarOptionsSettings}"
|
|
ToolTip.Tip="{locale:Locale OpenSettingsTooltip}" />
|
|
<MenuItem
|
|
Command="{ReflectionBinding ManageProfiles}"
|
|
Header="{locale:Locale MenuBarOptionsManageUserProfiles}"
|
|
IsEnabled="{Binding EnableNonGameRunningControls}"
|
|
ToolTip.Tip="{locale:Locale OpenProfileManagerTooltip}" />
|
|
</MenuItem>
|
|
<MenuItem
|
|
Name="ActionsMenuItem"
|
|
VerticalAlignment="Center"
|
|
Header="{locale:Locale MenuBarActions}"
|
|
IsEnabled="{Binding IsGameRunning}">
|
|
<MenuItem
|
|
Click="PauseEmulation_Click"
|
|
Header="{locale:Locale MenuBarOptionsPauseEmulation}"
|
|
InputGesture="{Binding PauseKey}"
|
|
IsEnabled="{Binding !IsPaused}"
|
|
IsVisible="{Binding !IsPaused}" />
|
|
<MenuItem
|
|
Click="ResumeEmulation_Click"
|
|
Header="{locale:Locale MenuBarOptionsResumeEmulation}"
|
|
InputGesture="{Binding PauseKey}"
|
|
IsEnabled="{Binding IsPaused}"
|
|
IsVisible="{Binding IsPaused}" />
|
|
<MenuItem
|
|
Click="StopEmulation_Click"
|
|
Header="{locale:Locale MenuBarOptionsStopEmulation}"
|
|
InputGesture="Escape"
|
|
IsEnabled="{Binding IsGameRunning}"
|
|
ToolTip.Tip="{locale:Locale StopEmulationTooltip}" />
|
|
<MenuItem Command="{ReflectionBinding SimulateWakeUpMessage}" Header="{locale:Locale MenuBarOptionsSimulateWakeUpMessage}" />
|
|
<Separator />
|
|
<MenuItem
|
|
Name="ScanAmiiboMenuItem"
|
|
AttachedToVisualTree="ScanAmiiboMenuItem_AttachedToVisualTree"
|
|
Click="OpenAmiiboWindow"
|
|
Header="{locale:Locale MenuBarActionsScanAmiibo}"
|
|
IsEnabled="{Binding IsAmiiboRequested}" />
|
|
<MenuItem
|
|
Command="{ReflectionBinding TakeScreenshot}"
|
|
Header="{locale:Locale MenuBarFileToolsTakeScreenshot}"
|
|
InputGesture="{Binding ScreenshotKey}"
|
|
IsEnabled="{Binding IsGameRunning}" />
|
|
<MenuItem
|
|
Command="{ReflectionBinding HideUi}"
|
|
Header="{locale:Locale MenuBarFileToolsHideUi}"
|
|
InputGesture="{Binding ShowUiKey}"
|
|
IsEnabled="{Binding IsGameRunning}" />
|
|
<MenuItem
|
|
Click="OpenCheatManagerForCurrentApp"
|
|
Header="{locale:Locale GameListContextMenuManageCheat}"
|
|
IsEnabled="{Binding IsGameRunning}" />
|
|
</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"
|
|
IsEnabled="{Binding CanUpdate}"
|
|
Click="CheckForUpdates"
|
|
Header="{locale:Locale MenuBarHelpCheckForUpdates}"
|
|
ToolTip.Tip="{locale:Locale CheckUpdatesTooltip}" />
|
|
<Separator />
|
|
<MenuItem
|
|
Click="OpenAboutWindow"
|
|
Header="{locale:Locale MenuBarHelpAbout}"
|
|
ToolTip.Tip="{locale:Locale OpenAboutTooltip}" />
|
|
</MenuItem>
|
|
</Menu>
|
|
</DockPanel>
|
|
</UserControl> |