mirror of
https://github.com/SpaceTimee/Sheas-Cealer.git
synced 2025-07-13 04:42:09 +08:00
221 lines
13 KiB
XML
221 lines
13 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"
|
|
AllowDrop="True"
|
|
WindowStartupLocation="CenterScreen" ResizeMode="CanMinimize" SizeToContent="Height"
|
|
d:DataContext="{d:DesignInstance preses:MainPres}"
|
|
Style="{DynamicResource CommonWindow}"
|
|
Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainWinWidthConv}}"
|
|
SourceInitialized="MainWin_SourceInitialized" 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="*" />
|
|
<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="# # # #"
|
|
Content="{Binding SettingsMode, Converter={x:Static convs:MainConv.MainSettingsModeButtonContentConv}}"
|
|
ToolTip="{x:Static consts:MainConst.SettingsModeButtonToolTip}"
|
|
Click="SettingsModeButton_Click" />
|
|
<TextBox x:Name="SettingsBox"
|
|
Grid.Column="1" Margin="5" VerticalContentAlignment="Center" md:HintAssist.IsFloating="True"
|
|
AutomationProperties.Name="{Binding SettingsMode, Converter={x:Static convs:MainConv.MainSettingsBoxHintConv}}"
|
|
md:HintAssist.Hint="{Binding SettingsMode, Converter={x:Static convs:MainConv.MainSettingsBoxHintConv}}"
|
|
ToolTip="{Binding SettingsMode, Converter={x:Static convs:MainConv.MainSettingsBoxToolTipConv}}"
|
|
TextChanged="SettingsBox_TextChanged" PreviewDragOver="MainWin_DragEnter">
|
|
<TextBox.Text>
|
|
<MultiBinding Mode="OneWay" UpdateSourceTrigger="PropertyChanged"
|
|
Converter="{x:Static convs:MainConv.MainSettingsBoxTextConv}">
|
|
<Binding Path="SettingsMode" />
|
|
<Binding Path="BrowserPath" />
|
|
<Binding Path="UpstreamUrl" />
|
|
<Binding Path="ExtraArgs" />
|
|
</MultiBinding>
|
|
</TextBox.Text>
|
|
</TextBox>
|
|
<Button Grid.Column="2" Margin="5" d:Content="# # # #"
|
|
Content="{Binding SettingsMode, Converter={x:Static convs:MainConv.MainSettingsFunctionButtonContentConv}}"
|
|
ToolTip="{x:Static consts:MainConst.SettingsFunctionButtonToolTip}"
|
|
Click="SettingsFunctionButton_Click" />
|
|
</Grid>
|
|
<Grid Grid.Row="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="2*" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button IsDefault="True"
|
|
Grid.Column="0" Margin="5"
|
|
Content="{x:Static consts:MainConst.BrowserButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.BrowserButtonToolTip}"
|
|
Click="LaunchButton_Click" PreviewMouseDown="LaunchButton_PreviewMouseDown">
|
|
<Button.IsEnabled>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainBrowserButtonIsEnabledConv}">
|
|
<Binding Path="BrowserPath" />
|
|
<Binding Path="ExtraArgs" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
</Button>
|
|
<Button x:Name="NginxButton"
|
|
Grid.Column="1" Margin="5" d:Content="# # # #"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
Click="LaunchButton_Click" PreviewMouseDown="LaunchButton_PreviewMouseDown">
|
|
<Button.IsEnabled>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainNginxButtonIsEnabledConv}">
|
|
<Binding Path="IsConginxExist" />
|
|
<Binding Path="IsNginxExist" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsNginxIniting" />
|
|
<Binding Path="IsComihomoIniting" />
|
|
<Binding Path="IsMihomoIniting" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
<Button.Content>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainNginxButtonContentConv}">
|
|
<Binding Path="IsConginxRunning" />
|
|
<Binding Path="IsNginxRunning" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsNginxIniting" />
|
|
</MultiBinding>
|
|
</Button.Content>
|
|
<Button.ToolTip>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainNginxButtonToolTipConv}">
|
|
<Binding Path="IsConginxRunning" />
|
|
<Binding Path="IsNginxRunning" />
|
|
</MultiBinding>
|
|
</Button.ToolTip>
|
|
</Button>
|
|
<Button x:Name="MihomoButton"
|
|
Grid.Column="2" Margin="5" d:Content="# # # #"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
ToolTip="{Binding IsMihomoRunning, Converter={x:Static convs:MainConv.MainMihomoButtonToolTipConv}}"
|
|
Click="LaunchButton_Click" PreviewMouseDown="LaunchButton_PreviewMouseDown">
|
|
<Button.IsEnabled>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainMihomoButtonIsEnabledConv}">
|
|
<Binding Path="IsComihomoExist" />
|
|
<Binding Path="IsMihomoExist" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsComihomoIniting" />
|
|
<Binding Path="IsMihomoIniting" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
<Button.Content>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainMihomoButtonContentConv}">
|
|
<Binding Path="IsMihomoRunning" />
|
|
<Binding Path="IsMihomoIniting" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsCoproxyStopping" />
|
|
</MultiBinding>
|
|
</Button.Content>
|
|
</Button>
|
|
</Grid>
|
|
<Grid Grid.Row="2">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button x:Name="EditLocalHostButton"
|
|
Grid.Column="0" Margin="5"
|
|
Content="{x:Static consts:MainConst.EditLocalHostButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.EditLocalHostButtonToolTip}"
|
|
Click="EditHostButton_Click" />
|
|
<Button Grid.Column="1" Margin="5"
|
|
Content="{x:Static consts:MainConst.EditUpstreamHostButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.EditUpstreamHostButtonToolTip}"
|
|
Click="EditHostButton_Click" />
|
|
<Button x:Name="EditNginxConfButton"
|
|
Grid.Column="2" Margin="5"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
Content="{x:Static consts:MainConst.EditNginxConfButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.EditNginxConfButtonToolTip}"
|
|
Click="EditConfButton_Click">
|
|
<Button.IsEnabled>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainNginxButtonIsEnabledConv}">
|
|
<Binding Path="IsConginxExist" />
|
|
<Binding Path="IsNginxExist" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsNginxIniting" />
|
|
<Binding Path="IsComihomoIniting" />
|
|
<Binding Path="IsMihomoIniting" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
</Button>
|
|
<Button Grid.Column="3" Margin="5"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
Content="{x:Static consts:MainConst.EditMihomoConfButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.EditMihomoConfButtonToolTip}"
|
|
Click="EditConfButton_Click">
|
|
<Button.IsEnabled>
|
|
<MultiBinding Converter="{x:Static convs:MainConv.MainMihomoButtonIsEnabledConv}">
|
|
<Binding Path="IsComihomoExist" />
|
|
<Binding Path="IsMihomoExist" />
|
|
<Binding Path="IsCoproxyIniting" />
|
|
<Binding Path="IsComihomoIniting" />
|
|
<Binding Path="IsMihomoIniting" />
|
|
</MultiBinding>
|
|
</Button.IsEnabled>
|
|
</Button>
|
|
</Grid>
|
|
<Grid Grid.Row="3">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button Grid.Column="0" Margin="5" d:Content="# # # # # #"
|
|
IsEnabled="{Binding UpstreamUrl, Converter={x:Static convs:MainConv.MainUpdateHostButtonIsEnabledConv}}"
|
|
Content="{Binding IsUpstreamHostUtd, Converter={x:Static convs:MainConv.MainUpdateHostButtonContentConv}}"
|
|
ToolTip="{x:Static consts:MainConst.UpdateUpstreamHostButtonToolTip}"
|
|
Click="UpdateUpstreamHostButton_Click" />
|
|
<Button x:Name="EditHostsConfButton"
|
|
Grid.Column="1" Margin="5"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
Content="{x:Static consts:MainConst.EditHostsConfButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.EditHostsConfButtonToolTip}"
|
|
Click="EditConfButton_Click" />
|
|
</Grid>
|
|
<Grid Grid.Row="4">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainProxyColumnWidthConv}}" />
|
|
<ColumnDefinition Width="*" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Button Grid.Column="0" Margin="5"
|
|
Content="{x:Static consts:MainConst.SettingsButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.SettingsButtonToolTip}"
|
|
Click="SettingsButton_Click" />
|
|
<Button Focusable="False"
|
|
Grid.Column="1" Margin="5" d:Content="# # # #"
|
|
Visibility="{Binding Source={x:Static consts:MainConst.IsAdmin}, Converter={x:Static convs:MainConv.MainAdminControlVisibilityConv}}"
|
|
Content="{Binding IsFlashing, Converter={x:Static convs:MainConv.MainNoClickButtonContentConv}}"
|
|
ToolTip="{Binding IsFlashing, Converter={x:Static convs:MainConv.MainNoClickButtonToolTipConv}}"
|
|
Click="NoClickButton_Click" />
|
|
<Button Grid.Column="2" Margin="5"
|
|
Content="{x:Static consts:MainConst.AboutButtonContent}"
|
|
ToolTip="{x:Static consts:MainConst.AboutButtonToolTip}"
|
|
Click="AboutButton_Click" />
|
|
</Grid>
|
|
</Grid>
|
|
</Window> |