SettingsWindow.axaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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 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 IsSelected="True"
  58. Content="{locale:Locale SettingsTabGeneral}"
  59. Tag="UiPage"
  60. Icon="New" />
  61. <ui:NavigationViewItem
  62. Content="{locale:Locale SettingsTabInput}"
  63. Tag="InputPage"
  64. Icon="Games" />
  65. <ui:NavigationViewItem
  66. Content="{locale:Locale SettingsTabHotkeys}"
  67. Tag="HotkeysPage"
  68. Icon="Keyboard" />
  69. <ui:NavigationViewItem
  70. Content="{locale:Locale SettingsTabSystem}"
  71. Tag="SystemPage"
  72. Icon="Settings" />
  73. <ui:NavigationViewItem
  74. Content="{locale:Locale SettingsTabCpu}"
  75. Tag="CpuPage">
  76. <ui:NavigationViewItem.Icon>
  77. <ui:FontIcon FontFamily="avares://Ryujinx.Ava/Assets/Fonts#Segoe Fluent Icons"
  78. Glyph="{helpers:GlyphValueConverter Chip}" />
  79. </ui:NavigationViewItem.Icon>
  80. </ui:NavigationViewItem>
  81. <ui:NavigationViewItem
  82. Content="{locale:Locale SettingsTabGraphics}"
  83. Tag="GraphicsPage"
  84. Icon="Image" />
  85. <ui:NavigationViewItem
  86. Content="{locale:Locale SettingsTabAudio}"
  87. Icon="Audio"
  88. Tag="AudioPage" />
  89. <ui:NavigationViewItem
  90. Content="{locale:Locale SettingsTabNetwork}"
  91. Tag="NetworkPage"
  92. Icon="Globe" />
  93. <ui:NavigationViewItem
  94. Content="{locale:Locale SettingsTabLogging}"
  95. Tag="LoggingPage"
  96. Icon="Document" />
  97. </ui:NavigationView.MenuItems>
  98. </ui:NavigationView>
  99. <ReversibleStackPanel
  100. Grid.Row="2"
  101. Margin="10"
  102. Spacing="10"
  103. Orientation="Horizontal"
  104. HorizontalAlignment="Right"
  105. ReverseOrder="{Binding IsMacOS}">
  106. <Button
  107. HotKey="Enter"
  108. Classes="accent"
  109. Content="{locale:Locale SettingsButtonOk}"
  110. Command="{ReflectionBinding OkButton}" />
  111. <Button
  112. HotKey="Escape"
  113. Content="{locale:Locale SettingsButtonCancel}"
  114. Command="{ReflectionBinding CancelButton}" />
  115. <Button
  116. Content="{locale:Locale SettingsButtonApply}"
  117. Command="{ReflectionBinding ApplyButton}" />
  118. </ReversibleStackPanel>
  119. </Grid>
  120. </window:StyleableWindow>