UserSaveManagerView.axaml 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <UserControl
  2. xmlns="https://github.com/avaloniaui"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
  7. xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
  8. xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
  9. xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
  10. xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
  11. mc:Ignorable="d"
  12. d:DesignWidth="600"
  13. d:DesignHeight="500"
  14. Height="450"
  15. Width="550"
  16. x:Class="Ryujinx.Ava.UI.Views.User.UserSaveManagerView"
  17. x:CompileBindings="True"
  18. x:DataType="viewModels:UserSaveManagerViewModel"
  19. Focusable="True">
  20. <Design.DataContext>
  21. <viewModels:UserSaveManagerViewModel />
  22. </Design.DataContext>
  23. <UserControl.Resources>
  24. <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
  25. </UserControl.Resources>
  26. <Grid>
  27. <Grid.RowDefinitions>
  28. <RowDefinition Height="Auto" />
  29. <RowDefinition />
  30. <RowDefinition Height="Auto" />
  31. </Grid.RowDefinitions>
  32. <Grid
  33. Grid.Row="0"
  34. HorizontalAlignment="Stretch">
  35. <Grid.ColumnDefinitions>
  36. <ColumnDefinition Width="Auto" />
  37. <ColumnDefinition />
  38. </Grid.ColumnDefinitions>
  39. <StackPanel
  40. Spacing="10"
  41. Orientation="Horizontal"
  42. HorizontalAlignment="Left"
  43. VerticalAlignment="Center">
  44. <Label Content="{locale:Locale CommonSort}" VerticalAlignment="Center" />
  45. <ComboBox SelectedIndex="{Binding SortIndex}" Width="100">
  46. <ComboBoxItem>
  47. <Label
  48. VerticalAlignment="Center"
  49. HorizontalContentAlignment="Left"
  50. Content="{locale:Locale Name}" />
  51. </ComboBoxItem>
  52. <ComboBoxItem>
  53. <Label
  54. VerticalAlignment="Center"
  55. HorizontalContentAlignment="Left"
  56. Content="{locale:Locale Size}" />
  57. </ComboBoxItem>
  58. <ComboBox.Styles>
  59. <Style Selector="ContentControl#ContentPresenter">
  60. <Setter Property="HorizontalAlignment" Value="Left" />
  61. </Style>
  62. </ComboBox.Styles>
  63. </ComboBox>
  64. <ComboBox SelectedIndex="{Binding OrderIndex}" Width="150">
  65. <ComboBoxItem>
  66. <Label
  67. VerticalAlignment="Center"
  68. HorizontalContentAlignment="Left"
  69. Content="{locale:Locale OrderAscending}" />
  70. </ComboBoxItem>
  71. <ComboBoxItem>
  72. <Label
  73. VerticalAlignment="Center"
  74. HorizontalContentAlignment="Left"
  75. Content="{locale:Locale OrderDescending}" />
  76. </ComboBoxItem>
  77. <ComboBox.Styles>
  78. <Style Selector="ContentControl#ContentPresenter">
  79. <Setter Property="HorizontalAlignment" Value="Left" />
  80. </Style>
  81. </ComboBox.Styles>
  82. </ComboBox>
  83. </StackPanel>
  84. <Grid
  85. Grid.Column="1"
  86. HorizontalAlignment="Stretch"
  87. Margin="10,0, 0, 0">
  88. <Grid.ColumnDefinitions>
  89. <ColumnDefinition Width="Auto"/>
  90. <ColumnDefinition/>
  91. </Grid.ColumnDefinitions>
  92. <Label Content="{locale:Locale Search}" VerticalAlignment="Center" />
  93. <TextBox
  94. Margin="5,0,0,0"
  95. Grid.Column="1"
  96. HorizontalAlignment="Stretch"
  97. Text="{Binding Search}" />
  98. </Grid>
  99. </Grid>
  100. <Border
  101. Grid.Row="1"
  102. Margin="0,5"
  103. BorderThickness="1"
  104. BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
  105. CornerRadius="5"
  106. HorizontalAlignment="Stretch"
  107. VerticalAlignment="Stretch">
  108. <ListBox
  109. Name="SaveList"
  110. VirtualizationMode="None"
  111. Items="{Binding Views}"
  112. HorizontalAlignment="Stretch"
  113. VerticalAlignment="Stretch">
  114. <ListBox.Styles>
  115. <Style Selector="ListBoxItem">
  116. <Setter Property="Padding" Value="10" />
  117. <Setter Property="Margin" Value="5" />
  118. <Setter Property="CornerRadius" Value="4" />
  119. </Style>
  120. <Style Selector="ListBoxItem:selected /template/ Border#SelectionIndicator">
  121. <Setter Property="IsVisible" Value="False" />
  122. </Style>
  123. </ListBox.Styles>
  124. <ListBox.ItemTemplate>
  125. <DataTemplate x:DataType="models:SaveModel">
  126. <Grid HorizontalAlignment="Stretch">
  127. <Grid.ColumnDefinitions>
  128. <ColumnDefinition />
  129. <ColumnDefinition Width="Auto" />
  130. </Grid.ColumnDefinitions>
  131. <StackPanel
  132. Grid.Column="0"
  133. Orientation="Horizontal"
  134. Spacing="5">
  135. <Border
  136. Height="42"
  137. Width="42"
  138. Padding="10"
  139. BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
  140. BorderThickness="1"
  141. IsVisible="{Binding !InGameList}">
  142. <ui:SymbolIcon
  143. Symbol="Help"
  144. FontSize="30"
  145. HorizontalAlignment="Center"
  146. VerticalAlignment="Center" />
  147. </Border>
  148. <Image
  149. IsVisible="{Binding InGameList}"
  150. Width="42"
  151. Height="42"
  152. Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
  153. <TextBlock
  154. MaxLines="3"
  155. Width="320"
  156. Margin="5"
  157. TextWrapping="Wrap"
  158. Text="{Binding Title}"
  159. VerticalAlignment="Center" />
  160. </StackPanel>
  161. <StackPanel
  162. Grid.Column="1"
  163. Spacing="10"
  164. HorizontalAlignment="Right"
  165. Orientation="Horizontal">
  166. <Label
  167. Content="{Binding SizeString}"
  168. IsVisible="{Binding SizeAvailable}"
  169. VerticalAlignment="Center"
  170. HorizontalAlignment="Right" />
  171. <Button
  172. VerticalAlignment="Center"
  173. HorizontalAlignment="Right"
  174. Padding="10"
  175. MinWidth="0"
  176. MinHeight="0"
  177. Name="OpenLocation"
  178. Click="OpenLocation">
  179. <ui:SymbolIcon
  180. Symbol="OpenFolder"
  181. HorizontalAlignment="Center"
  182. VerticalAlignment="Center" />
  183. </Button>
  184. <Button
  185. VerticalAlignment="Center"
  186. HorizontalAlignment="Right"
  187. Padding="10"
  188. MinWidth="0"
  189. MinHeight="0"
  190. Name="Delete"
  191. Click="Delete">
  192. <ui:SymbolIcon
  193. Symbol="Delete"
  194. HorizontalAlignment="Center"
  195. VerticalAlignment="Center" />
  196. </Button>
  197. </StackPanel>
  198. </Grid>
  199. </DataTemplate>
  200. </ListBox.ItemTemplate>
  201. </ListBox>
  202. </Border>
  203. <StackPanel
  204. Grid.Row="2"
  205. Margin="0 24 0 0"
  206. Orientation="Horizontal">
  207. <Button
  208. Width="50"
  209. MinWidth="50"
  210. Click="GoBack">
  211. <ui:SymbolIcon Symbol="Back" />
  212. </Button>
  213. </StackPanel>
  214. </Grid>
  215. </UserControl>