SettingsWindow.axaml 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <window:StyleableWindow
  2. x:Class="Ryujinx.Ava.UI.Windows.SettingsWindow"
  3. xmlns="https://github.com/avaloniaui"
  4. xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
  5. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  6. xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
  7. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  8. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  9. xmlns:window="clr-namespace:Ryujinx.Ava.UI.Windows"
  10. xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
  11. xmlns:settings="clr-namespace:Ryujinx.Ava.UI.Views.Settings"
  12. xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
  13. Width="1100"
  14. Height="768"
  15. MinWidth="800"
  16. MinHeight="480"
  17. WindowStartupLocation="CenterOwner"
  18. x:DataType="viewModels:SettingsViewModel"
  19. mc:Ignorable="d"
  20. Focusable="True">
  21. <Design.DataContext>
  22. <viewModels:SettingsViewModel />
  23. </Design.DataContext>
  24. <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600">
  25. <Grid.RowDefinitions>
  26. <RowDefinition Height="Auto" />
  27. <RowDefinition />
  28. <RowDefinition Height="Auto" />
  29. </Grid.RowDefinitions>
  30. <ContentPresenter
  31. x:Name="ContentPresenter"
  32. Grid.Row="1"
  33. IsVisible="False"
  34. KeyboardNavigation.IsTabStop="False"/>
  35. <Grid Name="Pages" IsVisible="False" Grid.Row="2">
  36. <settings:SettingsUiView Name="UiPage" />
  37. <settings:SettingsInputView Name="InputPage" />
  38. <settings:SettingsHotkeysView Name="HotkeysPage" />
  39. <settings:SettingsSystemView Name="SystemPage" />
  40. <settings:SettingsCPUView Name="CpuPage" />
  41. <settings:SettingsGraphicsView Name="GraphicsPage" />
  42. <settings:SettingsAudioView Name="AudioPage" />
  43. <settings:SettingsNetworkView Name="NetworkPage" />
  44. <settings:SettingsLoggingView Name="LoggingPage" />
  45. </Grid>
  46. <ui:NavigationView
  47. Grid.Row="1"
  48. IsSettingsVisible="False"
  49. Name="NavPanel"
  50. IsBackEnabled="False"
  51. PaneDisplayMode="Left"
  52. Margin="2,10,10,0"
  53. VerticalAlignment="Stretch"
  54. HorizontalAlignment="Stretch"
  55. OpenPaneLength="200">
  56. <ui:NavigationView.MenuItems>
  57. <ui:NavigationViewItem
  58. IsSelected="True"
  59. Content="{locale:Locale SettingsTabGeneral}"
  60. Tag="UiPage"
  61. IconSource="New" />
  62. <ui:NavigationViewItem
  63. Content="{locale:Locale SettingsTabInput}"
  64. Tag="InputPage"
  65. IconSource="Games" />
  66. <ui:NavigationViewItem
  67. Content="{locale:Locale SettingsTabHotkeys}"
  68. Tag="HotkeysPage"
  69. IconSource="Keyboard" />
  70. <ui:NavigationViewItem
  71. Content="{locale:Locale SettingsTabSystem}"
  72. Tag="SystemPage"
  73. IconSource="Settings" />
  74. <ui:NavigationViewItem
  75. Content="{locale:Locale SettingsTabCpu}"
  76. Tag="CpuPage">
  77. <ui:NavigationViewItem.IconSource>
  78. <ui:FontIconSource
  79. FontFamily="avares://Ryujinx.Ava/Assets/Fonts#Segoe Fluent Icons"
  80. Glyph="{helpers:GlyphValueConverter Chip}" />
  81. </ui:NavigationViewItem.IconSource>
  82. </ui:NavigationViewItem>
  83. <ui:NavigationViewItem
  84. Content="{locale:Locale SettingsTabGraphics}"
  85. Tag="GraphicsPage"
  86. IconSource="Image" />
  87. <ui:NavigationViewItem
  88. Content="{locale:Locale SettingsTabAudio}"
  89. IconSource="Audio"
  90. Tag="AudioPage" />
  91. <ui:NavigationViewItem
  92. Content="{locale:Locale SettingsTabNetwork}"
  93. Tag="NetworkPage"
  94. IconSource="Globe" />
  95. <ui:NavigationViewItem
  96. Content="{locale:Locale SettingsTabLogging}"
  97. Tag="LoggingPage"
  98. IconSource="Document" />
  99. </ui:NavigationView.MenuItems>
  100. <ui:NavigationView.Styles>
  101. <Style Selector="Grid#PlaceholderGrid">
  102. <Setter Property="Height" Value="40" />
  103. </Style>
  104. <Style Selector="ui|NavigationViewItem ui|SymbolIcon">
  105. <Setter Property="FlowDirection" Value="LeftToRight" />
  106. </Style>
  107. </ui:NavigationView.Styles>
  108. </ui:NavigationView>
  109. <ReversibleStackPanel
  110. Grid.Row="2"
  111. Margin="10"
  112. Spacing="10"
  113. Orientation="Horizontal"
  114. HorizontalAlignment="Right"
  115. ReverseOrder="{Binding IsMacOS}">
  116. <Button
  117. HotKey="Enter"
  118. Classes="accent"
  119. Content="{locale:Locale SettingsButtonOk}"
  120. Command="{Binding OkButton}" />
  121. <Button
  122. HotKey="Escape"
  123. Content="{locale:Locale SettingsButtonCancel}"
  124. Command="{Binding CancelButton}" />
  125. <Button
  126. Content="{locale:Locale SettingsButtonApply}"
  127. Command="{Binding ApplyButton}" />
  128. </ReversibleStackPanel>
  129. </Grid>
  130. </window:StyleableWindow>