/ src / Ryujinx / UI / Windows / ModManagerWindow.axaml
ModManagerWindow.axaml
  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:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
  6      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  7      xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
  8      xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
  9      xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
 10      Width="500"
 11      Height="380"
 12      mc:Ignorable="d"
 13      x:Class="Ryujinx.Ava.UI.Windows.ModManagerWindow"
 14      x:CompileBindings="True"
 15      x:DataType="viewModels:ModManagerViewModel"
 16      Focusable="True">
 17      <Grid>
 18          <Grid.RowDefinitions>
 19              <RowDefinition Height="Auto" />
 20              <RowDefinition Height="*" />
 21              <RowDefinition Height="Auto" />
 22          </Grid.RowDefinitions>
 23          <Panel
 24              Margin="0 0 0 10"
 25              Grid.Row="0">
 26              <Grid>
 27                  <Grid.ColumnDefinitions>
 28                      <ColumnDefinition Width="Auto" />
 29                      <ColumnDefinition Width="Auto" />
 30                      <ColumnDefinition Width="*" />
 31                  </Grid.ColumnDefinitions>
 32                  <TextBlock
 33                      Grid.Column="0"
 34                      Text="{Binding ModCount}" />
 35                  <StackPanel
 36                      Margin="10 0"
 37                      Grid.Column="1"
 38                      Orientation="Horizontal">
 39                      <Button
 40                          Name="EnableAllButton"
 41                          MinWidth="90"
 42                          Margin="5"
 43                          Command="{Binding EnableAll}">
 44                          <TextBlock Text="{locale:Locale DlcManagerEnableAllButton}" />
 45                      </Button>
 46                      <Button
 47                          Name="DisableAllButton"
 48                          MinWidth="90"
 49                          Margin="5"
 50                          Command="{Binding DisableAll}">
 51                          <TextBlock Text="{locale:Locale DlcManagerDisableAllButton}" />
 52                      </Button>
 53                  </StackPanel>
 54                  <TextBox
 55                      Grid.Column="2"
 56                      MinHeight="27"
 57                      MaxHeight="27"
 58                      HorizontalAlignment="Stretch"
 59                      Watermark="{locale:Locale Search}"
 60                      Text="{Binding Search}" />
 61              </Grid>
 62          </Panel>
 63          <Border
 64              Grid.Row="1"
 65              Margin="0 0 0 24"
 66              HorizontalAlignment="Stretch"
 67              VerticalAlignment="Stretch"
 68              BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
 69              BorderThickness="1"
 70              CornerRadius="5"
 71              Padding="2.5">
 72              <ListBox
 73                  AutoScrollToSelectedItem="False"
 74                  SelectionMode="Multiple, Toggle"
 75                  Background="Transparent"
 76                  SelectionChanged="OnSelectionChanged"
 77                  SelectedItems="{Binding SelectedMods, Mode=TwoWay}"
 78                  ItemsSource="{Binding Views}">
 79                  <ListBox.DataTemplates>
 80                      <DataTemplate
 81                          DataType="models:ModModel">
 82                          <Panel Margin="10">
 83                              <Grid>
 84                                  <Grid.ColumnDefinitions>
 85                                      <ColumnDefinition Width="*" />
 86                                      <ColumnDefinition Width="Auto" />
 87                                  </Grid.ColumnDefinitions>
 88                                  <TextBlock
 89                                      HorizontalAlignment="Left"
 90                                      VerticalAlignment="Center"
 91                                      MaxLines="2"
 92                                      TextWrapping="Wrap"
 93                                      TextTrimming="CharacterEllipsis"
 94                                      Text="{Binding Name}" />
 95                                  <StackPanel
 96                                      Grid.Column="1"
 97                                      Spacing="10"
 98                                      Orientation="Horizontal"
 99                                      HorizontalAlignment="Right">
100                                      <Button
101                                          VerticalAlignment="Center"
102                                          HorizontalAlignment="Right"
103                                          Padding="10"
104                                          MinWidth="0"
105                                          MinHeight="0"
106                                          Click="OpenLocation">
107                                          <ui:SymbolIcon
108                                              Symbol="OpenFolder"
109                                              HorizontalAlignment="Center"
110                                              VerticalAlignment="Center" />
111                                      </Button>
112                                      <Button
113                                          VerticalAlignment="Center"
114                                          HorizontalAlignment="Right"
115                                          Padding="10"
116                                          MinWidth="0"
117                                          MinHeight="0"
118                                          Click="DeleteMod">
119                                          <ui:SymbolIcon
120                                              Symbol="Cancel"
121                                              HorizontalAlignment="Center"
122                                              VerticalAlignment="Center" />
123                                      </Button>
124                                  </StackPanel>
125                              </Grid>
126                          </Panel>
127                      </DataTemplate>
128                  </ListBox.DataTemplates>
129                  <ListBox.Styles>
130                      <Style Selector="ListBoxItem">
131                          <Setter Property="Background" Value="Transparent" />
132                      </Style>
133                  </ListBox.Styles>
134              </ListBox>
135          </Border>
136          <Panel
137              Grid.Row="2"
138              HorizontalAlignment="Stretch">
139              <StackPanel
140                  Orientation="Horizontal"
141                  Spacing="10"
142                  HorizontalAlignment="Left">
143                  <Button
144                      Name="AddButton"
145                      MinWidth="90"
146                      Margin="5"
147                      Command="{Binding Add}">
148                      <TextBlock Text="{locale:Locale SettingsTabGeneralAdd}" />
149                  </Button>
150                  <Button
151                      Name="RemoveAllButton"
152                      MinWidth="90"
153                      Margin="5"
154                      Click="DeleteAll">
155                      <TextBlock Text="{locale:Locale ModManagerDeleteAllButton}" />
156                  </Button>
157              </StackPanel>
158              <StackPanel
159                  Orientation="Horizontal"
160                  Spacing="10"
161                  HorizontalAlignment="Right">
162                  <Button
163                      Name="SaveButton"
164                      MinWidth="90"
165                      Margin="5"
166                      Click="SaveAndClose">
167                      <TextBlock Text="{locale:Locale SettingsButtonSave}" />
168                  </Button>
169                  <Button
170                      Name="CancelButton"
171                      MinWidth="90"
172                      Margin="5"
173                      Click="Close">
174                      <TextBlock Text="{locale:Locale InputDialogCancel}" />
175                  </Button>
176              </StackPanel>
177          </Panel>
178      </Grid>
179  </UserControl>