SettingsWindow.axaml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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:CompileBindings="True"
  19. x:DataType="viewModels:SettingsViewModel"
  20. mc:Ignorable="d"
  21. Focusable="True">
  22. <Design.DataContext>
  23. <viewModels:SettingsViewModel />
  24. </Design.DataContext>
  25. <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch" MinWidth="600">
  26. <Grid.RowDefinitions>
  27. <RowDefinition Height="Auto" />
  28. <RowDefinition />
  29. <RowDefinition Height="Auto" />
  30. </Grid.RowDefinitions>
  31. <ContentPresenter
  32. x:Name="ContentPresenter"
  33. Grid.Row="1"
  34. IsVisible="False"
  35. KeyboardNavigation.IsTabStop="False"/>
  36. <Grid Name="Pages" IsVisible="False" Grid.Row="2">
  37. <settings:SettingsUIView Name="UiPage" />
  38. <settings:SettingsInputView Name="InputPage" />
  39. <settings:SettingsHotkeysView Name="HotkeysPage" />
  40. <settings:SettingsSystemView Name="SystemPage" />
  41. <settings:SettingsCPUView Name="CpuPage" />
  42. <settings:SettingsGraphicsView Name="GraphicsPage" />
  43. <settings:SettingsAudioView Name="AudioPage" />
  44. <settings:SettingsNetworkView Name="NetworkPage" />
  45. <settings:SettingsLoggingView Name="LoggingPage" />
  46. </Grid>
  47. <ui:NavigationView
  48. Grid.Row="1"
  49. IsSettingsVisible="False"
  50. Name="NavPanel"
  51. IsBackEnabled="False"
  52. PaneDisplayMode="Left"
  53. Margin="2,10,10,0"
  54. VerticalAlignment="Stretch"
  55. HorizontalAlignment="Stretch"
  56. OpenPaneLength="200">
  57. <ui:NavigationView.MenuItems>
  58. <ui:NavigationViewItem
  59. IsSelected="True"
  60. Content="{locale:Locale SettingsTabGeneral}"
  61. Tag="UiPage"
  62. Icon="New" />
  63. <ui:NavigationViewItem
  64. Content="{locale:Locale SettingsTabInput}"
  65. Tag="InputPage"
  66. Icon="Games" />
  67. <ui:NavigationViewItem
  68. Content="{locale:Locale SettingsTabHotkeys}"
  69. Tag="HotkeysPage"
  70. Icon="Keyboard" />
  71. <ui:NavigationViewItem
  72. Content="{locale:Locale SettingsTabSystem}"
  73. Tag="SystemPage"
  74. Icon="Settings" />
  75. <ui:NavigationViewItem
  76. Content="{locale:Locale SettingsTabCpu}"
  77. Tag="CpuPage">
  78. <ui:NavigationViewItem.Icon>
  79. <ui:FontIcon
  80. FontFamily="avares://Ryujinx.Ava/Assets/Fonts#Segoe Fluent Icons"
  81. Glyph="{helpers:GlyphValueConverter Chip}" />
  82. </ui:NavigationViewItem.Icon>
  83. </ui:NavigationViewItem>
  84. <ui:NavigationViewItem
  85. Content="{locale:Locale SettingsTabGraphics}"
  86. Tag="GraphicsPage"
  87. Icon="Image" />
  88. <ui:NavigationViewItem
  89. Content="{locale:Locale SettingsTabAudio}"
  90. Icon="Audio"
  91. Tag="AudioPage" />
  92. <ui:NavigationViewItem
  93. Content="{locale:Locale SettingsTabNetwork}"
  94. Tag="NetworkPage"
  95. Icon="Globe" />
  96. <ui:NavigationViewItem
  97. Content="{locale:Locale SettingsTabLogging}"
  98. Tag="LoggingPage"
  99. Icon="Document" />
  100. </ui:NavigationView.MenuItems>
  101. <ui:NavigationView.Styles>
  102. <Style Selector="Grid#PlaceholderGrid">
  103. <Setter Property="Height" Value="40" />
  104. </Style>
  105. </ui:NavigationView.Styles>
  106. </ui:NavigationView>
  107. <ReversibleStackPanel
  108. Grid.Row="2"
  109. Margin="10"
  110. Spacing="10"
  111. Orientation="Horizontal"
  112. HorizontalAlignment="Right"
  113. ReverseOrder="{Binding IsMacOS}">
  114. <Button
  115. HotKey="Enter"
  116. Classes="accent"
  117. Content="{locale:Locale SettingsButtonOk}"
  118. Command="{ReflectionBinding OkButton}" />
  119. <Button
  120. HotKey="Escape"
  121. Content="{locale:Locale SettingsButtonCancel}"
  122. Command="{ReflectionBinding CancelButton}" />
  123. <Button
  124. Content="{locale:Locale SettingsButtonApply}"
  125. Command="{ReflectionBinding ApplyButton}" />
  126. </ReversibleStackPanel>
  127. </Grid>
  128. </window:StyleableWindow>