MainWindow.axaml 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317
  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="800" d:DesignHeight="450"
  8. Width="800" Height="450"
  9. MaxWidth="800" MaxHeight="450"
  10. x:Class="VeloeMinecraftLauncher.Views.MainWindow"
  11. Icon="/Assets/avalonia-logo.ico"
  12. Title="VeloeMinecraftLauncher"
  13. TransparencyLevelHint="AcrylicBlur"
  14. Background="Transparent"
  15. CanResize="False"
  16. ExtendClientAreaToDecorationsHint="True"
  17. ExtendClientAreaChromeHints="NoChrome"
  18. ExtendClientAreaTitleBarHeightHint="-1">
  19. <Design.DataContext>
  20. <vm:MainWindowViewModel/>
  21. </Design.DataContext>
  22. <Panel>
  23. <ExperimentalAcrylicBorder IsHitTestVisible="False">
  24. <ExperimentalAcrylicBorder.Material>
  25. <ExperimentalAcrylicMaterial
  26. BackgroundSource="Digger"
  27. TintColor="Black"
  28. TintOpacity="1"
  29. MaterialOpacity="0.2" />
  30. </ExperimentalAcrylicBorder.Material>
  31. </ExperimentalAcrylicBorder>
  32. <DockPanel>
  33. <titlebars:TitleBarWindow
  34. IsSeamless="False"
  35. IsIconVisible="False"
  36. IsMaximizeVisible="False"
  37. TitleText="Veloe Minecraft Launcher"
  38. DockPanel.Dock="Top">
  39. </titlebars:TitleBarWindow>
  40. <Grid DockPanel.Dock="Left">
  41. <Grid.RowDefinitions>
  42. <RowDefinition Height="0"></RowDefinition>
  43. <RowDefinition Height="*"></RowDefinition>
  44. <RowDefinition Height="40" ></RowDefinition>
  45. <RowDefinition Height="0"></RowDefinition>
  46. </Grid.RowDefinitions>
  47. <Grid.ColumnDefinitions>
  48. <ColumnDefinition Width="*"></ColumnDefinition>
  49. </Grid.ColumnDefinitions>
  50. <Button
  51. ZIndex="999"
  52. Grid.Row="1"
  53. HorizontalAlignment="Right"
  54. VerticalAlignment="Top"
  55. Command="{Binding DownloadUpdate}"
  56. IsVisible="{Binding IsUpdateAvailable}">
  57. Update Available
  58. </Button>
  59. <TabControl
  60. Grid.Row="1"
  61. HorizontalAlignment="Stretch">
  62. <TabItem
  63. Header="Servers"
  64. VerticalContentAlignment="Center">
  65. <StackPanel
  66. Orientation="Horizontal"
  67. HorizontalAlignment="Stretch">
  68. <Panel
  69. VerticalAlignment="Top"
  70. HorizontalAlignment="Stretch"
  71. Height="75" Width="150"
  72. Margin="0 0 10 10">
  73. <ExperimentalAcrylicBorder
  74. IsHitTestVisible="False"
  75. CornerRadius="15">
  76. <ExperimentalAcrylicBorder.Material>
  77. <ExperimentalAcrylicMaterial
  78. BackgroundSource="Digger"
  79. TintColor="Black"
  80. TintOpacity="1"
  81. MaterialOpacity="0.5" />
  82. </ExperimentalAcrylicBorder.Material>
  83. </ExperimentalAcrylicBorder>
  84. <ToolTip.Tip>
  85. <TextBlock
  86. TextWrapping="Wrap"
  87. Text="{Binding McTfcTip}">
  88. </TextBlock>
  89. </ToolTip.Tip>
  90. <StackPanel
  91. HorizontalAlignment="Center"
  92. VerticalAlignment="Center">
  93. <TextBlock
  94. Text="{Binding McTfcBlock}"
  95. VerticalAlignment="Center"
  96. HorizontalAlignment="Center">
  97. McTFC
  98. </TextBlock>
  99. <TextBlock
  100. Text="{Binding McTfcPlayersBlock}"
  101. FontSize="20"
  102. VerticalAlignment="Center"
  103. HorizontalAlignment="Center">
  104. </TextBlock>
  105. </StackPanel>
  106. </Panel>
  107. <Panel
  108. VerticalAlignment="Top"
  109. HorizontalAlignment="Stretch"
  110. Height="75"
  111. Width="150"
  112. Margin="0 0 10 10">
  113. <ExperimentalAcrylicBorder
  114. IsHitTestVisible="False"
  115. CornerRadius="15">
  116. <ExperimentalAcrylicBorder.Material>
  117. <ExperimentalAcrylicMaterial
  118. BackgroundSource="Digger"
  119. TintColor="Black"
  120. TintOpacity="1"
  121. MaterialOpacity="0.5" />
  122. </ExperimentalAcrylicBorder.Material>
  123. </ExperimentalAcrylicBorder>
  124. <ToolTip.Tip>
  125. <TextBlock
  126. TextWrapping="Wrap"
  127. Text="{Binding McTechTip}">
  128. </TextBlock>
  129. </ToolTip.Tip>
  130. <StackPanel
  131. HorizontalAlignment="Center"
  132. VerticalAlignment="Center">
  133. <TextBlock
  134. Text="{Binding McTechBlock}"
  135. VerticalAlignment="Center"
  136. HorizontalAlignment="Center">
  137. McTech
  138. </TextBlock>
  139. <TextBlock
  140. Text="{Binding McTechPlayersBlock}"
  141. FontSize="20"
  142. VerticalAlignment="Center"
  143. HorizontalAlignment="Center">
  144. </TextBlock>
  145. </StackPanel>
  146. </Panel>
  147. <Panel
  148. VerticalAlignment="Top"
  149. HorizontalAlignment="Stretch"
  150. Height="75"
  151. Width="150"
  152. Margin="0 0 10 10">
  153. <ExperimentalAcrylicBorder
  154. IsHitTestVisible="False"
  155. CornerRadius="15">
  156. <ExperimentalAcrylicBorder.Material>
  157. <ExperimentalAcrylicMaterial
  158. BackgroundSource="Digger"
  159. TintColor="Black"
  160. TintOpacity="1"
  161. MaterialOpacity="0.5" />
  162. </ExperimentalAcrylicBorder.Material>
  163. </ExperimentalAcrylicBorder>
  164. <ToolTip.Tip>
  165. <TextBlock
  166. TextWrapping="Wrap"
  167. Text="{Binding McVanillaTip}">
  168. </TextBlock>
  169. </ToolTip.Tip>
  170. <StackPanel
  171. HorizontalAlignment="Center"
  172. VerticalAlignment="Center">
  173. <TextBlock
  174. Text="{Binding McVanillaBlock}"
  175. VerticalAlignment="Center"
  176. HorizontalAlignment="Center">
  177. McVanilla
  178. </TextBlock>
  179. <TextBlock
  180. Text="{Binding McVanillaPlayersBlock}"
  181. FontSize="20"
  182. VerticalAlignment="Center"
  183. HorizontalAlignment="Center">
  184. </TextBlock>
  185. </StackPanel>
  186. </Panel>
  187. </StackPanel>
  188. </TabItem>
  189. <TabItem>
  190. <TabItem.Header>
  191. <TextBlock VerticalAlignment="Center">Console</TextBlock>
  192. </TabItem.Header>
  193. <ScrollViewer
  194. Name="ConsoleScroll"
  195. HorizontalScrollBarVisibility="Auto"
  196. VerticalAlignment="Stretch"
  197. HorizontalAlignment="Stretch">
  198. <TextBlock
  199. Text="{Binding ConsoleText}"
  200. VerticalAlignment="Stretch"
  201. Width="770"
  202. TextWrapping="Wrap"
  203. ScrollViewer.VerticalScrollBarVisibility="Visible"
  204. MaxLines="99999">
  205. </TextBlock>
  206. </ScrollViewer>
  207. </TabItem>
  208. <TabItem>
  209. <TabItem.Header>
  210. <TextBlock VerticalAlignment="Center">Changelog</TextBlock>
  211. </TabItem.Header>
  212. <ScrollViewer
  213. HorizontalScrollBarVisibility="Auto"
  214. VerticalAlignment="Stretch"
  215. HorizontalAlignment="Stretch">
  216. <StackPanel>
  217. <TextBlock
  218. VerticalAlignment="Stretch"
  219. TextWrapping="Wrap"
  220. ScrollViewer.VerticalScrollBarVisibility="Visible"
  221. Text="При проблемах отправьте мне логи.&#10; ">
  222. </TextBlock>
  223. <TextBlock
  224. FontSize="16"
  225. Text="v 1.1.0.0 (win x64, linux x64)">
  226. </TextBlock>
  227. <TextBlock
  228. VerticalAlignment="Stretch"
  229. TextWrapping="Wrap"
  230. ScrollViewer.VerticalScrollBarVisibility="Visible"
  231. Text="Обновление интерфейса.&#10;Добавлены сообщения об ошибках при обработке исключений.&#10;Улучшено логгирование.&#10;Исправлена ошибка вылетов при отсутвии интернета.&#10;Установщики Optifine теперь работают кооректно, добавляя рабочий конфиг для запуска.&#10;Updater теперь обновляется при запуске лаунчера. (Windows only)&#10; ">
  232. </TextBlock>
  233. <TextBlock
  234. FontSize="16"
  235. Text="v 1.0.0.2 (win x64)">
  236. </TextBlock>
  237. <TextBlock
  238. VerticalAlignment="Stretch"
  239. TextWrapping="Wrap"
  240. ScrollViewer.VerticalScrollBarVisibility="Visible"
  241. Text="Консоль и Changelog теперь выводится в TextBlock вместо TextBox.&#10;Лог игры игры можно выводить в консоль, однако сохраняться в файл лога лаунчера он не будет.&#10;Последняя запущенная версия теперь сохраняется в настройках.&#10;Для выбора папки с игрой и java можно воспользоваться диалоговым окном проводника.&#10;Добавлены отступы к элементам на диалоговых окнах настроек и весий.&#10;Исправлена проблема при загрузке клиентa McTFC.&#10;Исправлена проблема с выбором певрого элемента из скачанных версий.&#10;Добавлен валидатор на поле ввода максимальной оперативной памяти.&#10; ">
  242. </TextBlock>
  243. <TextBlock
  244. FontSize="16"
  245. Text="v 1.0.0.1 (win x64)">
  246. </TextBlock>
  247. <TextBlock
  248. VerticalAlignment="Stretch"
  249. TextWrapping="Wrap"
  250. ScrollViewer.VerticalScrollBarVisibility="Visible"
  251. Text="Первый рабочий билд.&#10;">
  252. </TextBlock>
  253. </StackPanel>
  254. </ScrollViewer>
  255. </TabItem>
  256. </TabControl>
  257. <StackPanel
  258. Grid.Row="2"
  259. Orientation="Horizontal"
  260. HorizontalAlignment="Center">
  261. <Button
  262. Content="{Binding DownloadButton}"
  263. Command="{Binding OnClickCommand}">
  264. </Button>
  265. <Button
  266. Content="{Binding SettingsButton}"
  267. Command="{Binding OpenSettings}"
  268. IsVisible="true">
  269. </Button>
  270. <TextBlock
  271. Margin="3">
  272. </TextBlock>
  273. <ComboBox
  274. Items="{Binding DownloadedVersions}"
  275. PlaceholderText="Select version"
  276. SelectedItem="Binding DownloadedVersion"
  277. SelectedIndex="{Binding DownloadedIndex}"
  278. Width="220"
  279. VerticalAlignment="Center"
  280. HorizontalAlignment="Center">
  281. </ComboBox>
  282. <TextBlock
  283. Margin="3">
  284. </TextBlock>
  285. <TextBox
  286. Text="{Binding Username}"
  287. Watermark="Username"
  288. MinWidth="220"
  289. VerticalAlignment="Center"
  290. HorizontalAlignment="Center">
  291. </TextBox>
  292. <TextBlock
  293. Margin="3">
  294. </TextBlock>
  295. <Button
  296. Content="{Binding StartButton}"
  297. Command="{Binding StartMinecraft}"
  298. IsEnabled="{Binding IsNoGameRunning}">
  299. </Button>
  300. </StackPanel>
  301. <StackPanel Orientation="Horizontal" Grid.Row="2">
  302. <TextBox Text="{Binding ArgumentsBox}" TextWrapping="Wrap" Width="680" Height="200" IsVisible="false"></TextBox>
  303. <Button Content="{Binding StartButton}" Command="{Binding StartMinecraftCustom}" IsVisible="false"></Button>
  304. </StackPanel>
  305. </Grid>
  306. </DockPanel>
  307. </Panel>
  308. </Window>