GUI/VSCodeUpdaterGUI.xaml
|
<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="VSCode Updater" MinHeight="750" MinWidth="1200" Width="1200" Height="750" Background="#E6F0FF" WindowStartupLocation="CenterScreen" ResizeMode="CanResize"> <Grid Margin="10"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <!-- Status + Task --> <RowDefinition Height="Auto"/> <!-- Buttons + DataGrid --> <RowDefinition Height="180"/> <!-- Command --> <RowDefinition Height="180"/> <!-- Log --> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="200"/> <ColumnDefinition Width="200"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <!-- STATUS --> <StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="0,0,10,0"> <TextBlock x:Name="TxtStatus" FontSize="16" FontWeight="Bold" Foreground="Black" Margin="0,0,0,12"/> <TextBlock Text="Active Version:" FontWeight="Bold" FontSize="13" Foreground="Black"/> <TextBox x:Name="TxtActiveVersion" FontSize="12" IsReadOnly="True" BorderThickness="0" Background="Transparent"/> <TextBox x:Name="TxtSymlinkTarget" FontSize="12" IsReadOnly="True" BorderThickness="0" Background="Transparent"/> <TextBox x:Name="TxtSymlinkValid" FontSize="12" IsReadOnly="True" BorderThickness="0" Background="Transparent"/> <TextBox x:Name="TxtLastUpdate" FontSize="12" IsReadOnly="True" BorderThickness="0" Background="Transparent"/> <TextBox x:Name="TxtFallbackReason" FontSize="12" IsReadOnly="True" BorderThickness="0" Background="Transparent"/> </StackPanel> <!-- TASK VIEWER --> <StackPanel Grid.Row="0" Grid.Column="2" Margin="20,0,0,5" HorizontalAlignment="Left" VerticalAlignment="Top"> <TextBlock Text="Task Viewer" FontWeight="Bold" Foreground="Black" FontSize="13" Margin="0,0,0,4" HorizontalAlignment="Center"/> <RichTextBox x:Name="TxtTaskViewer" Height="90" Width="250" Background="#1E1E1E" Foreground="White" Padding="6" VerticalScrollBarVisibility="Auto" IsReadOnly="True"/> <Button x:Name="BtnRestartSetup" Content="Restart Setup" Height="26" Padding="3,2"/> </StackPanel> <!-- BUTTONS --> <StackPanel Grid.Row="1" Grid.Column="0" Margin="0,0,10,0"> <Button x:Name="BtnUpdate" Content="Update VS Code" Height="26" Padding="3,2" Margin="0,0,0,6"/> <Button x:Name="BtnRollback" Content="Rollback" Height="26" Padding="3,2" Margin="0,0,0,6"/> <Button x:Name="BtnSwitch" Content="Switch Version" Height="26" Padding="3,2" Margin="0,0,0,6"/> <Button x:Name="BtnValidateSymlink" Content="Validate Symlink" Height="26" Padding="3,2" Margin="0,0,0,6"/> </StackPanel> <StackPanel Grid.Row="1" Grid.Column="1" Margin="0,0,10,0"> <Button x:Name="BtnDashboard" Content="Open Dashboard" Height="26" Padding="3,2" Margin="0,0,0,6"/> <Button x:Name="BtnSafeMode" Content="Run Safe Mode" Height="26" Padding="3,2" Margin="0,0,0,6"/> <CheckBox x:Name="ChkSafeMode" Content="Safe Mode Enabled" Margin="0,6,0,0"/> </StackPanel> <DataGrid x:Name="DgVersions" Grid.Row="1" Grid.Column="2" Height="180" Margin="10,0,0,0" AutoGenerateColumns="False" IsReadOnly="True" HeadersVisibility="Column" GridLinesVisibility="All" SelectionMode="Single" SelectionUnit="FullRow" EnableRowVirtualization="False" EnableColumnVirtualization="False"> <DataGrid.Columns> <DataGridTextColumn Header="Version" Binding="{Binding Version}" Width="180"/> <DataGridTextColumn Header="Path" Binding="{Binding Path}" Width="*"/> <DataGridTextColumn Header="Last Modified" Binding="{Binding LastModified, StringFormat={}{0:yyyy-MM-dd HH:mm:ss}}" Width="150"/> </DataGrid.Columns> </DataGrid> <!-- COMMAND WINDOW --> <StackPanel Grid.Row="2" Grid.ColumnSpan="3" Margin="0,10,0,0"> <TextBlock Text="Command Output" FontWeight="Bold" Foreground="Black" FontSize="13" Margin="0,0,0,4"/> <RichTextBox x:Name="TxtCommandOutput" Height="160" Background="#1E1E1E" Foreground="White" Padding="0,0,0,10" VerticalScrollBarVisibility="Auto" IsReadOnly="True"/> </StackPanel> <!-- LOG VIEWER --> <Grid Grid.Row="3" Grid.ColumnSpan="3" Margin="0,10,0,0"> <Grid.RowDefinitions> <RowDefinition Height="Auto"/> <!-- Log controls --> <RowDefinition Height="*"/> <!-- Log viewer --> </Grid.RowDefinitions> <!-- LOG CONTROL BAR --> <StackPanel Grid.Row="0" Orientation="Horizontal" Margin="0,0,0,6"> <Button x:Name="BtnPauseLog" Content="Pause Log" Width="90" Height="26" Margin="0,0,10,0"/> <CheckBox x:Name="ChkAutoScroll" Content="Auto Scroll" Margin="0,0,20,0" VerticalAlignment="Center"/> <TextBox x:Name="TxtSearchLogBar" Width="180" Height="24" Margin="0,0,10,0"/> <Button x:Name="BtnSearchLog" Content="Search" Width="70" Height="24"/> </StackPanel> <!-- LOG VIEWER --> <TextBox x:Name="TxtLog" Grid.Row="1" Height="150" TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" Padding="0,0,0,10" IsReadOnly="True"/> </Grid> </Grid> </Window> |