SettingsWindow.axaml 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. <Window xmlns="https://github.com/avaloniaui"
  2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  3. xmlns:vm="using:VeloeMinecraftLauncher.ViewModels"
  4. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  5. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  6. xmlns:titlebars="using:VeloeMinecraftLauncher.Views.TitleBar"
  7. mc:Ignorable="d" d:DesignWidth="600" d:DesignHeight="450"
  8. Width="600" Height="450"
  9. MaxWidth="600" MaxHeight="450"
  10. x:Class="VeloeMinecraftLauncher.Views.SettingsWindow"
  11. Icon="/Assets/avalonia-logo.ico"
  12. Title="Settings"
  13. TransparencyLevelHint="AcrylicBlur"
  14. Background="Transparent"
  15. CanResize="False"
  16. ExtendClientAreaToDecorationsHint="True"
  17. ExtendClientAreaChromeHints="NoChrome"
  18. ExtendClientAreaTitleBarHeightHint="-1">
  19. <Window.Styles>
  20. <Style Selector="TabItem">
  21. <Setter Property="FontSize" Value="16"/>
  22. </Style>
  23. </Window.Styles>
  24. <Design.DataContext>
  25. <vm:SettingsWindowViewModel/>
  26. </Design.DataContext>
  27. <Panel>
  28. <ExperimentalAcrylicBorder IsHitTestVisible="False">
  29. <ExperimentalAcrylicBorder.Material>
  30. <ExperimentalAcrylicMaterial
  31. BackgroundSource="Digger"
  32. TintColor="{Binding InterfaceColor}"
  33. TintOpacity="1"
  34. MaterialOpacity="{Binding MaterialOpacity}" />
  35. </ExperimentalAcrylicBorder.Material>
  36. </ExperimentalAcrylicBorder>
  37. <DockPanel>
  38. <titlebars:TitleBarWindow
  39. IsSeamless="False"
  40. IsIconVisible="False"
  41. IsMaximizeVisible="False"
  42. TitleText="Settings"
  43. DockPanel.Dock="Top">
  44. </titlebars:TitleBarWindow>
  45. <TabControl
  46. HorizontalAlignment="Stretch" DockPanel.Dock="Top">
  47. <TabItem
  48. Header="Game"
  49. VerticalContentAlignment="Center">
  50. <Grid Margin="10 0 10 5" ShowGridLines="false" RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto, Auto">
  51. <Grid.ColumnDefinitions>
  52. <ColumnDefinition Width="250"></ColumnDefinition>
  53. <ColumnDefinition Width="*"></ColumnDefinition>
  54. <ColumnDefinition Width="70"></ColumnDefinition>
  55. </Grid.ColumnDefinitions>
  56. <CheckBox Grid.Row="1" Grid.Column="0" IsChecked="true" IsEnabled="False">Set path to minecraft folder</CheckBox>
  57. <TextBox Grid.Row="1" Grid.Column="1" Margin="5" Text="{Binding MinecraftFolderPath}" IsEnabled="{Binding SetMinecraftFolder}"></TextBox>
  58. <Button Grid.Row="1" Grid.Column="2" Content="Open" Command="{Binding OpenMinecraftPathDialog}" CommandParameter="{Binding $parent[Window]}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"></Button>
  59. <CheckBox Grid.Row="2" Grid.Column="0" IsChecked="{Binding UseCustomJava}">Use custom java</CheckBox>
  60. <TextBox Grid.Row="2" Grid.Column="1" Margin="5" Text="{Binding JavaPath}" IsEnabled="{Binding UseCustomJava}"></TextBox>
  61. <Button Grid.Row="2" Grid.Column="2" Content="Open" Command="{Binding OpenJavaPathDialog}" CommandParameter="{Binding $parent[Window]}" IsEnabled="{Binding UseCustomJava}" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center"></Button>
  62. <CheckBox Grid.Row="3" Grid.Column="0" IsChecked="{Binding SetMaxRam}">Set max RAM</CheckBox>
  63. <TextBox Grid.Row="3" Grid.Column="1" Margin="5" Name="MaxRam" Text="{Binding MaxRam}" IsEnabled="{Binding SetMaxRam}" HorizontalAlignment="Left" VerticalAlignment="Top"></TextBox>
  64. <CheckBox Grid.Row="4" Grid.ColumnSpan="2" IsChecked="{Binding CheckAssets}" IsEnabled="True">Check vanilla game files before start</CheckBox>
  65. </Grid>
  66. </TabItem>
  67. <TabItem
  68. Header="Log"
  69. VerticalContentAlignment="Center">
  70. <Grid Margin="10 0 10 5" ShowGridLines="false" RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto, Auto">
  71. <Grid.ColumnDefinitions>
  72. <ColumnDefinition Width="250"></ColumnDefinition>
  73. <ColumnDefinition Width="*"></ColumnDefinition>
  74. <ColumnDefinition Width="70"></ColumnDefinition>
  75. </Grid.ColumnDefinitions>
  76. <TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center">Console log event level</TextBlock>
  77. <ComboBox Grid.Row="1" Grid.Column="1" Margin="5" Items="{Binding LogEventLevels}" PlaceholderText="Select level" SelectedItem="{Binding ConsoleLogEventLevel}" HorizontalAlignment="Stretch"></ComboBox>
  78. <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center">File log event level</TextBlock>
  79. <ComboBox Grid.Row="2" Grid.Column="1" Margin="5" Items="{Binding LogEventLevels}" PlaceholderText="Select level" SelectedItem="{Binding FileLogEventLevel}" HorizontalAlignment="Stretch"></ComboBox>
  80. <CheckBox Grid.Row="3" Grid.Column="0" IsChecked="{Binding SetMaxLog}">Set max log size</CheckBox>
  81. <TextBox Grid.Row="3" Grid.Column="1" Margin="5" Name="MaxLog" Text="{Binding MaxLog}" IsEnabled="{Binding SetMaxLog}" HorizontalAlignment="Left" VerticalAlignment="Top"></TextBox>
  82. <CheckBox Grid.Row="4" Grid.ColumnSpan="2" IsChecked="{Binding GameLogToLauncher}">Show game log in launcher (performace issues)</CheckBox>
  83. <Button Grid.Row="5" Grid.ColumnSpan="2" Content="Open log" Command="{Binding OpenLogFile}"></Button>
  84. </Grid>
  85. </TabItem>
  86. </TabControl>
  87. <Button Command="{Binding SaveSettings}" IsEnabled="{Binding IsValid}" Content="Save" VerticalAlignment="Bottom" Margin="10 0 0 10"></Button>
  88. <TextBlock Text="{Binding LauncherVersion}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0 0 10 10"></TextBlock>
  89. </DockPanel>
  90. </Panel>
  91. </Window>