mirror of
https://github.com/SpaceTimee/Sheas-Cealer.git
synced 2025-07-13 12:52:08 +08:00
219 lines
11 KiB
XML
219 lines
11 KiB
XML
<Window x:Class="Sheas_Cealer.Wins.MainWin"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:md="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:consts="clr-namespace:Sheas_Cealer.Consts"
|
|
xmlns:convs="clr-namespace:Sheas_Cealer.Convs"
|
|
xmlns:preses="clr-namespace:Sheas_Cealer.Preses"
|
|
mc:Ignorable="d"
|
|
d:DataContext="{d:DesignInstance preses:MainPres}" AllowDrop="True"
|
|
Style="{DynamicResource CommonWindow}" WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize" SizeToContent="Height" Width="600"
|
|
Loaded="MainWin_Loaded" Closing="MainWin_Closing" DragEnter="MainWin_DragEnter" Drop="MainWin_Drop" KeyDown="MainWin_KeyDown">
|
|
<Grid Margin="5">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid Grid.Row="0">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button Grid.Column="0" Margin="5" d:Content="# # # #" ToolTip="{Binding Source={x:Static consts:MainConst.SettingsModeButtonToolTip}}"
|
|
Click="SettingsModeButton_Click">
|
|
<Button.Content>
|
|
<Binding Path="SettingsMode">
|
|
<Binding.Converter>
|
|
<convs:MainSettingsModeButtonContentConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Content>
|
|
</Button>
|
|
<TextBox x:Name="SettingsBox"
|
|
Grid.Column="1" Margin="5" VerticalContentAlignment="Center" md:HintAssist.IsFloating="True"
|
|
TextChanged="SettingsBox_TextChanged" PreviewDragOver="MainWin_DragEnter">
|
|
<TextBox.Text>
|
|
<MultiBinding Mode="OneWay" UpdateSourceTrigger="PropertyChanged">
|
|
<MultiBinding.Converter>
|
|
<convs:MainSettingsBoxTextConv />
|
|
</MultiBinding.Converter>
|
|
|
|
<Binding Path="SettingsMode" />
|
|
<Binding Path="BrowserPath" />
|
|
<Binding Path="UpstreamUrl" />
|
|
<Binding Path="ExtraArgs" />
|
|
</MultiBinding>
|
|
</TextBox.Text>
|
|
<TextBox.ToolTip>
|
|
<Binding Path="SettingsMode">
|
|
<Binding.Converter>
|
|
<convs:MainSettingsBoxToolTipConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</TextBox.ToolTip>
|
|
<md:HintAssist.Hint>
|
|
<Binding Path="SettingsMode">
|
|
<Binding.Converter>
|
|
<convs:MainSettingsBoxHintConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</md:HintAssist.Hint>
|
|
</TextBox>
|
|
<Button Grid.Column="2" Margin="5" d:Content="# # # #" ToolTip="{Binding Source={x:Static consts:MainConst.SettingsFunctionButtonToolTip}}"
|
|
Click="SettingsFunctionButton_Click">
|
|
<Button.Content>
|
|
<Binding Path="SettingsMode">
|
|
<Binding.Converter>
|
|
<convs:MainSettingsFunctionButtonContentConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Content>
|
|
</Button>
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition>
|
|
<ColumnDefinition.Width>
|
|
<Binding Source="{x:Static consts:MainConst.IsAdmin}" Mode="OneTime">
|
|
<Binding.Converter>
|
|
<convs:MainProxyColumnWidthConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</ColumnDefinition.Width>
|
|
</ColumnDefinition>
|
|
<ColumnDefinition>
|
|
<ColumnDefinition.Width>
|
|
<Binding Source="{x:Static consts:MainConst.IsAdmin}" Mode="OneTime">
|
|
<Binding.Converter>
|
|
<convs:MainProxyColumnWidthConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</ColumnDefinition.Width>
|
|
</ColumnDefinition>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button IsDefault="True"
|
|
Grid.Column="0" Margin="5" Content="{Binding Source={x:Static consts:MainConst.StartButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.StartButtonToolTip}}"
|
|
Click="StartButton_Click" PreviewMouseDown="StartButton_PreviewMouseDown">
|
|
<Button.IsEnabled>
|
|
<MultiBinding>
|
|
<MultiBinding.Converter>
|
|
<convs:MainStartButtonIsEnabledConv />
|
|
</MultiBinding.Converter>
|
|
|
|
<Binding Path="BrowserPath" />
|
|
<Binding Path="ExtraArgs" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
</Button>
|
|
<Button Grid.Column="1" Margin="5"
|
|
Click="NginxButton_Click">
|
|
<Button.IsEnabled>
|
|
<Binding Path="IsNginxExist">
|
|
<Binding.Converter>
|
|
<convs:MainNginxButtonIsEnabledConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.IsEnabled>
|
|
<Button.Visibility>
|
|
<Binding Source="{x:Static consts:MainConst.IsAdmin}" Mode="OneTime">
|
|
<Binding.Converter>
|
|
<convs:MainProxyButtonVisibilityConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Visibility>
|
|
<Button.Content>
|
|
<Binding Path="IsNginxRunning">
|
|
<Binding.Converter>
|
|
<convs:MainNginxButtonContentConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Content>
|
|
<Button.ToolTip>
|
|
<Binding Path="IsNginxRunning">
|
|
<Binding.Converter>
|
|
<convs:MainNginxButtonToolTipConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.ToolTip>
|
|
</Button>
|
|
<Button Grid.Column="2" Margin="5"
|
|
Click="MihomoButton_Click">
|
|
<Button.IsEnabled>
|
|
<Binding Path="IsMihomoExist">
|
|
<Binding.Converter>
|
|
<convs:MainMihomoButtonIsEnabledConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.IsEnabled>
|
|
<Button.Visibility>
|
|
<Binding Source="{x:Static consts:MainConst.IsAdmin}" Mode="OneTime">
|
|
<Binding.Converter>
|
|
<convs:MainProxyButtonVisibilityConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Visibility>
|
|
<Button.Content>
|
|
<Binding Path="IsMihomoRunning">
|
|
<Binding.Converter>
|
|
<convs:MainMihomoButtonContentConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Content>
|
|
<Button.ToolTip>
|
|
<Binding Path="IsMihomoRunning">
|
|
<Binding.Converter>
|
|
<convs:MainMihomoButtonToolTipConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.ToolTip>
|
|
</Button>
|
|
</Grid>
|
|
|
|
<Grid Grid.Row="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="1.3*" />
|
|
<ColumnDefinition Width="1.3*" />
|
|
<ColumnDefinition Width="1.3*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button x:Name="EditLocalHostButton"
|
|
Grid.Column="0" Margin="5" Content="{Binding Source={x:Static consts:MainConst.EditLocalHostButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.EditLocalHostButtonToolTip}}"
|
|
Click="EditHostButton_Click" />
|
|
<Button Grid.Column="1" Margin="5" Content="{Binding Source={x:Static consts:MainConst.EditUpstreamHostButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.EditUpstreamHostButtonToolTip}}"
|
|
Click="EditHostButton_Click" />
|
|
<Button Grid.Column="2" Margin="5" Content="{Binding Source={x:Static consts:MainConst.UpdateUpstreamHostButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.UpdateUpstreamHostButtonToolTip}}"
|
|
Click="UpdateUpstreamHostButton_Click">
|
|
<Button.IsEnabled>
|
|
<Binding Path="UpstreamUrl">
|
|
<Binding.Converter>
|
|
<convs:MainUpdateHostButtonIsEnabledConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.IsEnabled>
|
|
</Button>
|
|
<Button Grid.Column="3" Margin="5" d:Content="# # # #" ToolTip="{Binding Source={x:Static consts:MainConst.ThemesButtonToolTip}}"
|
|
Click="ThemesButton_Click">
|
|
<Button.Content>
|
|
<Binding Path="IsLightTheme">
|
|
<Binding.Converter>
|
|
<convs:MainThemesButtonContentConv />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</Button.Content>
|
|
</Button>
|
|
<Button x:Name="AboutButton"
|
|
Grid.Column="4" Margin="5" Content="{Binding Source={x:Static consts:MainConst.AboutButtonContent}}" ToolTip="{Binding Source={x:Static consts:MainConst.AboutButtonToolTip}}"
|
|
Click="AboutButton_Click" />
|
|
</Grid>
|
|
</Grid>
|
|
</Window> |