Browse Source

fix assets json download, deleted UI color changing

Veloe 2 years ago
parent
commit
dc91549293

+ 6 - 1
.gitignore

@@ -360,4 +360,9 @@ MigrationBackup/
 .ionide/
 
 # Fody - auto-generated XML schema
-FodyWeavers.xsd
+FodyWeavers.xsd
+/build-release
+/Updater.exe
+/launcher_profiles.json
+/settings.json
+/VeloeMinecraftLauncher/Properties/launchSettings.json

+ 1 - 1
VeloeMinecraftLauncher/App.axaml

@@ -1,11 +1,11 @@
 <Application xmlns="https://github.com/avaloniaui"
              xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
-			 xmlns:dialog="clr-namespace:Egorozh.ColorPicker.Dialog;assembly=Egorozh.ColorPicker.Avalonia.Dialog"
              xmlns:local="using:VeloeMinecraftLauncher"
              x:Class="VeloeMinecraftLauncher.App">
     <Application.DataTemplates>
         <local:ViewLocator/>
     </Application.DataTemplates>
 	<Application.Styles>
+		<FluentTheme Mode="Dark"/>
 	</Application.Styles>
 </Application>

+ 0 - 14
VeloeMinecraftLauncher/App.axaml.cs

@@ -10,22 +10,8 @@ namespace VeloeMinecraftLauncher
 {
     public partial class App : Application
     {
-        public static FluentTheme FluentDark = new FluentTheme(new System.Uri("avares://ControlCatalog/Styles")) { Mode = FluentThemeMode.Dark };
-        public static FluentTheme FluentLight = new FluentTheme(new System.Uri("avares://ControlCatalog/Styles")) { Mode = FluentThemeMode.Light};
-        public static StyleInclude DataGridFluent = new StyleInclude(new System.Uri("avares://ControlCatalog/Styles"))
-        {
-            Source = new System.Uri("avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml")
-        };
-
-        public static Egorozh.ColorPicker.Dialog.FluentColorPickerTheme FluentColorPickerThemeLight = new Egorozh.ColorPicker.Dialog.FluentColorPickerTheme(new System.Uri("avares://ControlCatalog/Styles")) { Mode = FluentThemeMode.Light };
-        public static Egorozh.ColorPicker.Dialog.FluentColorPickerTheme FluentColorPickerThemeDark = new Egorozh.ColorPicker.Dialog.FluentColorPickerTheme(new System.Uri("avares://ControlCatalog/Styles")) { Mode = FluentThemeMode.Dark };
-
         public override void Initialize()
         {
-
-            Styles.Insert(0, FluentDark);            
-            Styles.Insert(1, DataGridFluent);
-            Styles.Insert(2, FluentColorPickerThemeDark);
             AvaloniaXamlLoader.Load(this);
         }
 

BIN
VeloeMinecraftLauncher/Assets/background.png


BIN
VeloeMinecraftLauncher/Assets/background2.png


+ 1 - 0
VeloeMinecraftLauncher/MinecraftLauncher/Downloader.cs

@@ -327,6 +327,7 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
                 if (!Directory.Exists(Settings.MinecraftForlderPath + "/assets/" + versionJson.assets + "/indexes/"))
                     Directory.CreateDirectory(Settings.MinecraftForlderPath + "/assets/" + versionJson.assets + "/indexes/");
                 webClient.DownloadFileAsync(new System.Uri(versionJson.assetIndex.url), Settings.MinecraftForlderPath + "/assets/" + versionJson.assets + "/indexes/" + versionJson.assets + ".json");
+                waitWhileBisy(ref webClient);
 
                 //download assets
                 foreach (var asset in assetsJson.Objects)

+ 4 - 19
VeloeMinecraftLauncher/MinecraftLauncher/Settings.cs

@@ -16,7 +16,7 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
     {
         //public static readonly string JavaPath = "C:\\Program Files\\Microsoft\\jdk-11.0.12.7-hotspot\\bin\\java.exe";
         public static string JavaPath = "";
-        public static string MinecraftForlderPath = "";
+        public static string MinecraftForlderPath = Directory.GetCurrentDirectory() + '/';
         public static UInt32 MaxRam = 2048;
         public static bool useCustomJava = false;
         public static bool setMaxRam = false;
@@ -27,8 +27,6 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
         public static string lastChosenVersion;
         public static Serilog.ILogger logger;
         public static Serilog.ILogger avaloniaLogger;
-        public static Color backgroundColor = Color.Parse("Black");
-        public static float materialOpacity = 0.2F;
         public static bool setMaxLog = false;
         public static UInt32 MaxLog = 1024;
         public static LogEventLevel consoleLogEventLevel = LogEventLevel.Debug;
@@ -48,8 +46,6 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
             gameLogToLauncher = settings.gameLogToLauncher;
             lastChosenVersion = settings.lastChosenVersion;
             Username = settings.Username;
-            backgroundColor = Color.FromRgb(settings.R,settings.G,settings.B);
-            materialOpacity = settings.materialOpacity;
             setMaxLog = settings.setMaxLog;
             MaxLog = settings.MaxLog;
             consoleLogEventLevel = settings.consoleLogEventLevel;
@@ -85,6 +81,9 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
 
         public static void SaveSettings()
         {
+            if(MinecraftForlderPath == string.Empty)
+                MinecraftForlderPath = Directory.GetCurrentDirectory();
+
             if(MinecraftForlderPath.Last() is not ('/' or '\\'))
                 MinecraftForlderPath = MinecraftForlderPath + "/";
 
@@ -113,16 +112,6 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
 
         public string lastChosenVersion { get; set; }
 
-        public byte _R;
-        public byte _G;
-        public byte _B;
-
-        public byte R { get => _R; set => _R = value; }
-        public byte G { get => _G; set => _G = value; }
-        public byte B { get => _B; set => _B = value; }
-
-        public float materialOpacity { get; set; }
-
         public bool setMaxLog { get; set; }
         public UInt32 MaxLog { get; set; }
         public LogEventLevel consoleLogEventLevel { get; set; }
@@ -140,10 +129,6 @@ namespace VeloeMinecraftLauncher.MinecraftLauncher
             gameLogToLauncher= Settings.gameLogToLauncher;
             Username = Settings.Username;
             lastChosenVersion= Settings.lastChosenVersion;
-            R = Settings.backgroundColor.R;
-            G = Settings.backgroundColor.G;
-            B = Settings.backgroundColor.B;
-            materialOpacity= Settings.materialOpacity;
             setMaxLog= Settings.setMaxLog;
             MaxLog = Settings.MaxLog;
             consoleLogEventLevel= Settings.consoleLogEventLevel;

+ 4 - 0
VeloeMinecraftLauncher/Program.cs

@@ -32,6 +32,10 @@ namespace VeloeMinecraftLauncher
             
             return AppBuilder.Configure<App>()
                   .UsePlatformDetect()
+                  .With(new Win32PlatformOptions
+                  {
+                      UseWindowsUIComposition = true
+                  })
                   .LogToTrace()
                   .UseReactiveUI();
         }

+ 18 - 7
VeloeMinecraftLauncher/VeloeMinecraftLauncher.csproj

@@ -1,12 +1,23 @@
 <Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
     <OutputType>WinExe</OutputType>
-    <TargetFramework>net6.0</TargetFramework>
+    <TargetFramework>net7.0</TargetFramework>
     <Nullable>enable</Nullable>
     <!--Avalonia doesen't support TrimMode=link currently,but we are working on that https://github.com/AvaloniaUI/Avalonia/issues/6892 -->
     <TrimMode>copyused</TrimMode>
     <BuiltInComInteropSupport>true</BuiltInComInteropSupport>
     <DebugType>embedded</DebugType>
+    <StartupObject>VeloeMinecraftLauncher.Program</StartupObject>
+    <PlatformTarget>x64</PlatformTarget>
+    <AssemblyVersion>1.1.1.3</AssemblyVersion>
+    <FileVersion>1.1.1.3</FileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
+    <NoWarn>NU1605</NoWarn>
+    <Optimize>True</Optimize>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
+    <NoWarn>NU1605</NoWarn>
   </PropertyGroup>
   <ItemGroup>
     <Folder Include="Models\" />
@@ -22,17 +33,17 @@
   </ItemGroup>
   <ItemGroup>
     <PackageReference Include="Avalonia" Version="0.10.18" />
+    <PackageReference Include="Avalonia.Controls.DataGrid" Version="0.10.18" />
     <PackageReference Include="Avalonia.Desktop" Version="0.10.18" />
     <!--Condition below is needed to remove Avalonia.Diagnostics package from build output in Release configuration.-->
     <PackageReference Condition="'$(Configuration)' == 'Debug'" Include="Avalonia.Diagnostics" Version="0.10.18" />
     <PackageReference Include="Avalonia.ReactiveUI" Version="0.10.18" />
-    <PackageReference Include="Egorozh.ColorPicker.Avalonia" Version="0.10.17" />
-    <PackageReference Include="Egorozh.ColorPicker.Avalonia.Dialog" Version="0.10.17" />
-    <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="6.0.8" />
-    <PackageReference Include="ReactiveUI.Validation" Version="3.0.1" />
-    <PackageReference Include="Serilog" Version="2.11.0" />
+    <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="7.0.0" />
+    <PackageReference Include="ReactiveUI.Blazor" Version="18.4.1" />
+    <PackageReference Include="ReactiveUI.Validation" Version="3.0.22" />
+    <PackageReference Include="Serilog" Version="2.12.0" />
     <PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
     <PackageReference Include="SerilogTraceListener" Version="3.2.0" />
-    <PackageReference Include="XamlNameReferenceGenerator" Version="1.3.4" />
+    <PackageReference Include="XamlNameReferenceGenerator" Version="1.5.1" />
   </ItemGroup>
 </Project>

+ 4 - 29
VeloeMinecraftLauncher/ViewModels/SettingsWindowViewModel.cs

@@ -10,7 +10,6 @@ using System.Collections.ObjectModel;
 using Serilog.Events;
 using Avalonia.Media;
 using Avalonia;
-using Egorozh.ColorPicker;
 using VeloeMinecraftLauncher.Views;
 
 namespace VeloeMinecraftLauncher.ViewModels
@@ -45,7 +44,6 @@ namespace VeloeMinecraftLauncher.ViewModels
         private string maxLog = Settings.MaxLog.ToString();
         
         private ObservableCollection<LogEventLevel> logEventLevels = new() {LogEventLevel.Debug, LogEventLevel.Information, LogEventLevel.Warning, LogEventLevel.Error };
-        private ColorPickerControl ColorPicker = null;
 
         public bool UseCustomJava 
         { 
@@ -204,7 +202,7 @@ namespace VeloeMinecraftLauncher.ViewModels
         {
             Task.Run(() =>
             {
-                OpenFolderDialog dialog = new OpenFolderDialog();
+                OpenFileDialog dialog = new OpenFileDialog();
 
                 var initPath = String.Empty;
 
@@ -212,41 +210,18 @@ namespace VeloeMinecraftLauncher.ViewModels
                     if (Settings.JavaPath != String.Empty)
                         initPath = Path.GetFullPath(Settings.JavaPath);
 
+                dialog.AllowMultiple = false;
                 dialog.Directory = initPath;
 
                 var result = dialog.ShowAsync(window).Result;
                 if (result is null)
                     return;
 
-                if (result == String.Empty)
+                if (result[0] == String.Empty)
                     return;
 
-                JavaPath = result;
+                JavaPath = result[0];
             });
         }
-
-        public void SetColor(Window window)
-        {
-            if (ColorPicker == null)
-                ColorPicker = window.FindControl<ColorPickerControl>("ColorPicker");
-            InterfaceColor = Color.FromRgb(ColorPicker.Color.R, ColorPicker.Color.G, ColorPicker.Color.B);
-            MaterialOpacity = float.Parse(ColorPicker.Color.A.ToString())/byte.MaxValue;
-
-            if (ColorPicker.Color.R >= 200 && ColorPicker.Color.G >= 200 && ColorPicker.Color.B >= 200 || MaterialOpacity <= 0.1)
-            {
-                Application.Current.Styles[0] = App.FluentLight;
-                Application.Current.Styles[2] = App.FluentColorPickerThemeLight;
-                Application.Current.Styles[1] = App.DataGridFluent;
-            }
-            else
-            {
-                Application.Current.Styles[0] = App.FluentDark;
-                Application.Current.Styles[2] = App.FluentColorPickerThemeDark;
-                Application.Current.Styles[1] = App.DataGridFluent;
-            }
-
-            ((ViewModelBase)((MainWindow) window.Owner).DataContext).RaisePropertyChanged(nameof(InterfaceColor));
-            ((ViewModelBase)((MainWindow) window.Owner).DataContext).RaisePropertyChanged(nameof(MaterialOpacity));
-        }
     }
 }

+ 4 - 16
VeloeMinecraftLauncher/ViewModels/ViewModelBase.cs

@@ -13,29 +13,17 @@ namespace VeloeMinecraftLauncher.ViewModels
             this.RaisePropertyChanged(nameof(InterfaceColor));
             this.RaisePropertyChanged(nameof(MaterialOpacity));
 
-            if (InterfaceColor.R >= 200 && InterfaceColor.G >= 200 && InterfaceColor.B >= 200 || MaterialOpacity <= 0.1)
-            {
-                Application.Current.Styles[0] = App.FluentLight;
-                Application.Current.Styles[2] = App.FluentColorPickerThemeLight;
-                Application.Current.Styles[1] = App.DataGridFluent;
-            }
-            else
-            {
-                Application.Current.Styles[0] = App.FluentDark;
-                Application.Current.Styles[2] = App.FluentColorPickerThemeDark;
-                Application.Current.Styles[1] = App.DataGridFluent;
-            }
         }
         public Color InterfaceColor
         {
-            get => Settings.backgroundColor;
-            set => this.RaiseAndSetIfChanged(ref Settings.backgroundColor, value);
+            get => Color.Parse("Black");
+            set => this.RaisePropertyChanged(nameof(InterfaceColor));
         }
 
         public float MaterialOpacity
         {
-            get => Settings.materialOpacity;
-            set => this.RaiseAndSetIfChanged(ref Settings.materialOpacity, value);
+            get => 0.5F;
+            set => this.RaisePropertyChanged(nameof(MaterialOpacity));
         }
     }
    

+ 107 - 105
VeloeMinecraftLauncher/Views/MainWindow.axaml

@@ -11,36 +11,38 @@
         Icon="/Assets/avalonia-logo.ico"
         Title="VeloeMinecraftLauncher"
 		TransparencyLevelHint="AcrylicBlur"
-		Background="Transparent"		
+		Background="Black"
 		CanResize="False"
 		ExtendClientAreaToDecorationsHint="True"
 		ExtendClientAreaChromeHints="NoChrome"
 		ExtendClientAreaTitleBarHeightHint="-1">
-		
-	
+
+	<Window.Background>
+		<ImageBrush
+				Source="avares://VeloeMinecraftLauncher/Assets/background.png"
+				Stretch="Fill"
+				Opacity="0.9"
+				/>
+	</Window.Background>
 	
     <Design.DataContext>
         <vm:MainWindowViewModel/>
     </Design.DataContext>
-		
+	
 	<Panel>
-		<ExperimentalAcrylicBorder IsHitTestVisible="False">
-			<ExperimentalAcrylicBorder.Material>
-				<ExperimentalAcrylicMaterial
-					BackgroundSource="Digger"
-					TintColor="{Binding InterfaceColor}"
-					TintOpacity="1"
-					MaterialOpacity="{Binding MaterialOpacity}" />
-			</ExperimentalAcrylicBorder.Material>
-		</ExperimentalAcrylicBorder>
-		<DockPanel>
+
+		
+
+		<DockPanel>			
 			<titlebars:TitleBarWindow
 			  IsSeamless="False"
 			  IsIconVisible="False"
 			  IsMaximizeVisible="False"
 			  TitleText="Veloe Minecraft Launcher"
-			  DockPanel.Dock="Top">
+			  DockPanel.Dock="Top"
+			  ZIndex="997">
 			</titlebars:TitleBarWindow>
+			
 			<Grid DockPanel.Dock="Left">
 				<Grid.RowDefinitions>
 					<RowDefinition Height="0"></RowDefinition>
@@ -82,17 +84,8 @@
 								HorizontalAlignment="Stretch"
 								Height="75" Width="150"
 								Margin="0 0 10 10">
-								<ExperimentalAcrylicBorder
-									IsHitTestVisible="False"
-									CornerRadius="15">
-									<ExperimentalAcrylicBorder.Material>
-										<ExperimentalAcrylicMaterial
-											BackgroundSource="Digger"
-											TintColor="{Binding InterfaceColor}"
-											TintOpacity="1"
-											MaterialOpacity="0.5" />
-									</ExperimentalAcrylicBorder.Material>
-								</ExperimentalAcrylicBorder>
+								<Border Background="Black" Opacity="0.2" CornerRadius="15" />
+								
 								<ToolTip.Tip>
 									<TextBlock
 										TextWrapping="Wrap"
@@ -113,8 +106,9 @@
 										FontSize="20"
 										VerticalAlignment="Center"
 										HorizontalAlignment="Center">
-									</TextBlock>
+									</TextBlock>									
 								</StackPanel>
+								
 							</Panel>
 							<Panel
 								VerticalAlignment="Top"
@@ -122,17 +116,7 @@
 								Height="75"
 								Width="150"
 								Margin="0 0 10 10">
-								<ExperimentalAcrylicBorder
-									IsHitTestVisible="False"
-									CornerRadius="15">
-									<ExperimentalAcrylicBorder.Material>
-										<ExperimentalAcrylicMaterial
-											BackgroundSource="Digger"
-											TintColor="{Binding InterfaceColor}"
-											TintOpacity="1"
-											MaterialOpacity="0.5" />
-									</ExperimentalAcrylicBorder.Material>
-								</ExperimentalAcrylicBorder>
+								<Border Background="Black" Opacity="0.2" CornerRadius="15" />
 								<ToolTip.Tip>
 									<TextBlock
 										TextWrapping="Wrap"
@@ -162,17 +146,7 @@
 								Height="75"
 								Width="150"
 								Margin="0 0 10 10">
-								<ExperimentalAcrylicBorder
-									IsHitTestVisible="False"
-									CornerRadius="15">
-									<ExperimentalAcrylicBorder.Material>
-										<ExperimentalAcrylicMaterial
-											BackgroundSource="Digger"
-											TintColor="{Binding InterfaceColor}"
-											TintOpacity="1"
-											MaterialOpacity="0.5" />
-									</ExperimentalAcrylicBorder.Material>
-								</ExperimentalAcrylicBorder>
+								<Border Background="Black" Opacity="0.2" CornerRadius="15" />
 								<ToolTip.Tip>
 									<TextBlock
 										TextWrapping="Wrap"
@@ -196,74 +170,101 @@
 									</TextBlock>
 								</StackPanel>
 							</Panel>
-						</StackPanel>
+						</StackPanel>						
 					</TabItem>
 					<TabItem>
 						<TabItem.Header>
 							<TextBlock VerticalAlignment="Center">Console</TextBlock>
 						</TabItem.Header>
-						<ScrollViewer
-							Name="ConsoleScroll"
-							HorizontalScrollBarVisibility="Auto"
-							VerticalAlignment="Stretch"
-							HorizontalAlignment="Stretch">
-							<TextBlock
-								Text="{Binding ConsoleText}"
+						<Panel
+								VerticalAlignment="Stretch"
+								HorizontalAlignment="Stretch"								
+								Margin="0 0 0 5">
+							<Border Background="Black" Opacity="0.2" CornerRadius="5" />
+
+							<ScrollViewer
+								Name="ConsoleScroll"
+								HorizontalScrollBarVisibility="Auto"
 								VerticalAlignment="Stretch"
-								Width="770"
-								TextWrapping="Wrap"
-								ScrollViewer.VerticalScrollBarVisibility="Visible"
-								MaxLines="99999">
-							</TextBlock>
-						</ScrollViewer>
+								HorizontalAlignment="Stretch">
+								<TextBlock
+									Text="{Binding ConsoleText}"
+									VerticalAlignment="Stretch"
+									Width="760"
+									Margin="5,5,5,5"
+									TextWrapping="Wrap"
+									ScrollViewer.VerticalScrollBarVisibility="Visible"
+									MaxLines="99999">
+								</TextBlock>
+							</ScrollViewer>
+						</Panel>
+
 					</TabItem>
 					<TabItem>
 						<TabItem.Header>
 							<TextBlock VerticalAlignment="Center">Changelog</TextBlock>
 						</TabItem.Header>
-						<ScrollViewer
-							HorizontalScrollBarVisibility="Auto"
+						<Panel
 							VerticalAlignment="Stretch"
-							HorizontalAlignment="Stretch">
-							<StackPanel>
-								<TextBlock
-									VerticalAlignment="Stretch"
-									TextWrapping="Wrap"
-									ScrollViewer.VerticalScrollBarVisibility="Visible"
-									Text="При проблемах отправьте мне логи.&#10; ">
-								</TextBlock>
-								<TextBlock
-									FontSize="16"
-									Text="v 1.1.0.0 (win x64, linux x64)">
-								</TextBlock>
-								<TextBlock
-									VerticalAlignment="Stretch"
-									TextWrapping="Wrap"
-									ScrollViewer.VerticalScrollBarVisibility="Visible"
-									Text="Обновление интерфейса.&#10;Добавлены сообщения об ошибках при обработке исключений.&#10;Улучшено логгирование.&#10;Исправлена ошибка вылетов при отсутвии интернета.&#10;Установщики Optifine теперь работают кооректно, добавляя рабочий конфиг для запуска.&#10;Updater теперь обновляется при запуске лаунчера. (Windows only)&#10; ">
-								</TextBlock>
-								<TextBlock
-									FontSize="16"
-									Text="v 1.0.0.2 (win x64)">
-								</TextBlock>
-								<TextBlock
-									VerticalAlignment="Stretch"
-									TextWrapping="Wrap"
-									ScrollViewer.VerticalScrollBarVisibility="Visible"
-									Text="Консоль и Changelog теперь выводится в TextBlock вместо TextBox.&#10;Лог игры игры можно выводить в консоль, однако сохраняться в файл лога лаунчера он не будет.&#10;Последняя запущенная версия теперь сохраняется в настройках.&#10;Для выбора папки с игрой и java можно воспользоваться диалоговым окном проводника.&#10;Добавлены отступы к элементам на диалоговых окнах настроек и весий.&#10;Исправлена проблема при загрузке клиентa McTFC.&#10;Исправлена проблема с выбором певрого элемента из скачанных версий.&#10;Добавлен валидатор на поле ввода максимальной оперативной памяти.&#10; ">
-								</TextBlock>
-								<TextBlock
-									FontSize="16"
-									Text="v 1.0.0.1 (win x64)">
-								</TextBlock>
-								<TextBlock
-									VerticalAlignment="Stretch"
-									TextWrapping="Wrap"
-									ScrollViewer.VerticalScrollBarVisibility="Visible"
-									Text="Первый рабочий билд.&#10;">
-								</TextBlock>
-							</StackPanel>
-						</ScrollViewer>
+							HorizontalAlignment="Stretch"
+							Margin="0 0 0 5">
+							<Border Background="Black" Opacity="0.2" CornerRadius="5" />
+							<ScrollViewer
+								HorizontalScrollBarVisibility="Auto"
+								VerticalAlignment="Stretch"
+								HorizontalAlignment="Stretch">
+								<StackPanel
+									Width="760"
+									Margin="5,5,5,5">
+									<TextBlock
+										VerticalAlignment="Stretch"
+										TextWrapping="Wrap"
+										ScrollViewer.VerticalScrollBarVisibility="Visible"
+										Text="При проблемах отправьте мне логи.&#10; ">
+									</TextBlock>
+									<TextBlock
+										FontSize="16"
+										Text="Unpublished v 1.1.2.0 (win x64, linux x64)">
+									</TextBlock>
+									<TextBlock
+										VerticalAlignment="Stretch"
+										TextWrapping="Wrap"
+										ScrollViewer.VerticalScrollBarVisibility="Visible"
+										Text="Обновление интерфейса.&#10;Добавлена поддержка установщиков Fabric.&#10;Добавлена проверка файлов ванильной версии игры перед запуском.&#10;Добавлены настройки для логов игры.&#10;Исправление открытия диалогов на linux.&#10;Исправление диалога для выбора Java.&#10;Исправление ошибки при скачивании файла с ассетами игры.&#10;Вырезня неопубликованной фичи с настройкой цвета окон. (Но осадочек остался)&#10;Собрано на .NET 7.&#10;&#10;">
+									</TextBlock>
+									<TextBlock
+										FontSize="16"
+										Text="v 1.1.0.0 (win x64, linux x64)">
+									</TextBlock>
+									<TextBlock
+										VerticalAlignment="Stretch"
+										TextWrapping="Wrap"
+										ScrollViewer.VerticalScrollBarVisibility="Visible"
+										Text="Обновление интерфейса.&#10;Добавлены сообщения об ошибках при обработке исключений.&#10;Улучшено логгирование.&#10;Исправлена ошибка вылетов при отсутвии интернета.&#10;Установщики Optifine теперь работают кооректно, добавляя рабочий конфиг для запуска.&#10;Updater теперь обновляется при запуске лаунчера. (Windows only)&#10; ">
+									</TextBlock>
+									<TextBlock
+										FontSize="16"
+										Text="v 1.0.0.2 (win x64)">
+									</TextBlock>
+									<TextBlock
+										VerticalAlignment="Stretch"
+										TextWrapping="Wrap"
+										ScrollViewer.VerticalScrollBarVisibility="Visible"
+										Text="Консоль и Changelog теперь выводится в TextBlock вместо TextBox.&#10;Лог игры игры можно выводить в консоль, однако сохраняться в файл лога лаунчера он не будет.&#10;Последняя запущенная версия теперь сохраняется в настройках.&#10;Для выбора папки с игрой и java можно воспользоваться диалоговым окном проводника.&#10;Добавлены отступы к элементам на диалоговых окнах настроек и весий.&#10;Исправлена проблема при загрузке клиентa McTFC.&#10;Исправлена проблема с выбором певрого элемента из скачанных версий.&#10;Добавлен валидатор на поле ввода максимальной оперативной памяти.&#10; ">
+									</TextBlock>
+									<TextBlock
+										FontSize="16"
+										Text="v 1.0.0.1 (win x64)">
+									</TextBlock>
+									<TextBlock
+										VerticalAlignment="Stretch"
+										TextWrapping="Wrap"
+										ScrollViewer.VerticalScrollBarVisibility="Visible"
+										Text="Первый рабочий билд.&#10;">
+									</TextBlock>
+								</StackPanel>
+							</ScrollViewer>
+						</Panel>
 					</TabItem>
 				</TabControl>
 				<StackPanel
@@ -320,4 +321,5 @@
 		
 	</Panel>
 	
+	
 </Window>

+ 1 - 19
VeloeMinecraftLauncher/Views/SettingsWindow.axaml

@@ -4,8 +4,6 @@
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 		xmlns:titlebars="using:VeloeMinecraftLauncher.Views.TitleBar"
-		xmlns:dialog="clr-namespace:Egorozh.ColorPicker.Dialog;assembly=Egorozh.ColorPicker.Avalonia.Dialog"
-		xmlns:cp="clr-namespace:Egorozh.ColorPicker;assembly=Egorozh.ColorPicker.Avalonia"
         mc:Ignorable="d" d:DesignWidth="600" d:DesignHeight="450"
 		Width="600" Height="450"
 		MaxWidth="600" MaxHeight="450"
@@ -95,23 +93,7 @@
 						<CheckBox Grid.Row="4" Grid.ColumnSpan="2" IsChecked="{Binding GameLogToLauncher}">Show game log in launcher (performace issues)</CheckBox>
 					</Grid>
 				</TabItem>
-				<TabItem
-					Header="Interface"
-					VerticalContentAlignment="Center">
-					<Grid Margin="10 0 10 5" ShowGridLines="false" RowDefinitions="Auto, Auto, Auto, Auto, Auto, Auto, Auto">
-
-						<Grid.ColumnDefinitions>
-							<ColumnDefinition Width="100"></ColumnDefinition>
-							<ColumnDefinition Width="*"></ColumnDefinition>
-							<ColumnDefinition Width="70"></ColumnDefinition>
-						</Grid.ColumnDefinitions>
-						<TextBlock Grid.Row="1" Grid.Column="0" VerticalAlignment="Center">Color</TextBlock>
-						<cp:ColorPickerControl Name="ColorPicker" Grid.Row="1" Grid.Column="1" MaxWidth="300" MaxHeight="370" Color="{Binding InterfaceColor}" ></cp:ColorPickerControl>
-						
-						<Button Grid.Row="1" Grid.Column="2" Command="{Binding SetColor}" CommandParameter="{Binding $parent[Window]}" Content="Set"></Button>
-
-					</Grid>
-				</TabItem>
+				
 			</TabControl>
 			<Button Command="{Binding SaveSettings}" IsEnabled="{Binding IsValid}" Content="Save" VerticalAlignment="Bottom" Margin="10 0 0 10"></Button>
 			<TextBlock Text="{Binding LauncherVersion}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0 0 10 10"></TextBlock>