mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 14:45:52 -06:00
322d527a0c
* Remove leftover comment & update another comment in 'Get-TabXaml' Private Function
* Add new 'CloseIconFontSize' Theme Option
This's done to fix the Visual Issue of the Close Button being smaller than the Settings Button.
* Rename 'CheckBoxBulletDecoratorFontSize' to 'CheckBoxBulletDecoratorSize'
* Experiment with DPI Aware Units
* Remove extra whitespace characters in 'theme.json'
* Implement Default Theming - Add Error Checking & Quitting Early upon XML Related Failures - Simple Code Formatting here & there
* Replace Tabs with Spaces to follow the conventions
* Fix some logic issue in 'Set-WinUtilUITheme.ps1' Private Function - Rename 'Set-WinUtilUiTheme.ps1' -> 'Set-WinUtilUITheme.ps1'
* Change output info from 'Write-Warning' to 'Write-Host' to make sure it's displayed even in RunSpaces as well as PowerShell 5 Environments
* Revert back to default Unit of Measuring for WPF (1/96 in)
* Revert "Remove leftover comment & update another comment in 'Get-TabXaml' Private Function"
This reverts commit 368e5980df
.
* Update 'themes.json' so the general changes will work with PR #2629
* Support the fallback to default theme (if it exists)
* Update 'Set-WinUtilUITheme' Documentation
---------
Co-authored-by: MyDrift <personal@mdiana.ch>
1066 lines
66 KiB
XML
1066 lines
66 KiB
XML
<Window x:Class="WinUtility.MainWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:local="clr-namespace:WinUtility"
|
|
mc:Ignorable="d"
|
|
Background="{MainBackgroundColor}"
|
|
WindowStartupLocation="CenterScreen"
|
|
UseLayoutRounding="True"
|
|
WindowStyle="None"
|
|
Title="Chris Titus Tech's Windows Utility" Height="800" Width="1280">
|
|
<WindowChrome.WindowChrome>
|
|
<WindowChrome CaptionHeight="0" CornerRadius="10"/>
|
|
</WindowChrome.WindowChrome>
|
|
<Window.Resources>
|
|
<!--Scrollbar Thumbs-->
|
|
<Style x:Key="ScrollThumbs" TargetType="{x:Type Thumb}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Thumb}">
|
|
<Grid x:Name="Grid">
|
|
<Rectangle HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Fill="Transparent" />
|
|
<Border x:Name="Rectangle1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Width="Auto" Height="Auto" Background="{TemplateBinding Background}" />
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Tag" Value="Horizontal">
|
|
<Setter TargetName="Rectangle1" Property="Width" Value="Auto" />
|
|
<Setter TargetName="Rectangle1" Property="Height" Value="7" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="TextBlock" x:Key="HoverTextBlockStyle">
|
|
<Setter Property="Foreground" Value="{LinkForegroundColor}" />
|
|
<Setter Property="TextDecorations" Value="Underline" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="{LinkHoverForegroundColor}" />
|
|
<Setter Property="TextDecorations" Value="Underline" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="Button" x:Key="HoverButtonStyle">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="FontWeight" Value="Normal" />
|
|
<Setter Property="FontSize" Value="{ButtonFontSize}" />
|
|
<Setter Property="TextElement.FontFamily" Value="{ButtonFontFamily}"/>
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="FontWeight" Value="Bold" />
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<!--ScrollBars-->
|
|
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
|
|
<Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter Property="Width" Value="6" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ScrollBar}">
|
|
<Grid x:Name="GridRoot" Width="7" Background="{TemplateBinding Background}" >
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="0.00001*" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Track x:Name="PART_Track" Grid.Row="0" IsDirectionReversed="true" Focusable="false">
|
|
<Track.Thumb>
|
|
<Thumb x:Name="Thumb" Background="{TemplateBinding Foreground}" Style="{DynamicResource ScrollThumbs}" />
|
|
</Track.Thumb>
|
|
<Track.IncreaseRepeatButton>
|
|
<RepeatButton x:Name="PageUp" Command="ScrollBar.PageDownCommand" Opacity="0" Focusable="false" />
|
|
</Track.IncreaseRepeatButton>
|
|
<Track.DecreaseRepeatButton>
|
|
<RepeatButton x:Name="PageDown" Command="ScrollBar.PageUpCommand" Opacity="0" Focusable="false" />
|
|
</Track.DecreaseRepeatButton>
|
|
</Track>
|
|
</Grid>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
|
|
<Setter Value="{ButtonBackgroundMouseoverColor}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
|
|
<Setter Value="{ButtonBackgroundSelectedColor}" TargetName="Thumb" Property="Background" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="IsEnabled" Value="false">
|
|
<Setter TargetName="Thumb" Property="Visibility" Value="Collapsed" />
|
|
</Trigger>
|
|
<Trigger Property="Orientation" Value="Horizontal">
|
|
<Setter TargetName="GridRoot" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter TargetName="PART_Track" Property="LayoutTransform">
|
|
<Setter.Value>
|
|
<RotateTransform Angle="-90" />
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Width" Value="Auto" />
|
|
<Setter Property="Height" Value="8" />
|
|
<Setter TargetName="Thumb" Property="Tag" Value="Horizontal" />
|
|
<Setter TargetName="PageDown" Property="Command" Value="ScrollBar.PageLeftCommand" />
|
|
<Setter TargetName="PageUp" Property="Command" Value="ScrollBar.PageRightCommand" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="ComboBox">
|
|
<Setter Property="Foreground" Value="{ComboBoxForegroundColor}" />
|
|
<Setter Property="Background" Value="{ComboBoxBackgroundColor}" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ComboBox">
|
|
<Grid>
|
|
<ToggleButton x:Name="ToggleButton"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding Background}"
|
|
BorderThickness="0"
|
|
IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}"
|
|
ClickMode="Press">
|
|
<TextBlock Text="{TemplateBinding SelectionBoxItem}"
|
|
Foreground="{TemplateBinding Foreground}"
|
|
Background="Transparent"
|
|
HorizontalAlignment="Center" VerticalAlignment="Center" Margin="2"
|
|
/>
|
|
</ToggleButton>
|
|
<Popup x:Name="Popup"
|
|
IsOpen="{TemplateBinding IsDropDownOpen}"
|
|
Placement="Bottom"
|
|
Focusable="False"
|
|
AllowsTransparency="True"
|
|
PopupAnimation="Slide">
|
|
<Border x:Name="DropDownBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding Foreground}"
|
|
BorderThickness="1"
|
|
CornerRadius="4">
|
|
<ScrollViewer>
|
|
<ItemsPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="2"/>
|
|
</ScrollViewer>
|
|
</Border>
|
|
</Popup>
|
|
</Grid>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="Label">
|
|
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
|
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
|
</Style>
|
|
|
|
<!-- TextBlock template -->
|
|
<Style TargetType="TextBlock">
|
|
<Setter Property="FontSize" Value="{FontSize}"/>
|
|
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
|
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
|
</Style>
|
|
<!-- Toggle button template x:Key="TabToggleButton" -->
|
|
<Style TargetType="{x:Type ToggleButton}">
|
|
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
|
<Setter Property="Content" Value=""/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="ToggleButton">
|
|
<Grid>
|
|
<Border x:Name="ButtonGlow"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{ButtonForegroundColor}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<Grid>
|
|
<Border x:Name="BackgroundBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{ButtonBackgroundColor}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<ContentPresenter
|
|
HorizontalAlignment="Center"
|
|
VerticalAlignment="Center"
|
|
Margin="10,2,10,2"/>
|
|
</Border>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect Opacity="1" ShadowDepth="5" Color="Gold" Direction="-100" BlurRadius="45"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Panel.ZIndex" Value="2000"/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter Property="BorderBrush" Value="Pink"/>
|
|
<Setter Property="BorderThickness" Value="2"/>
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect Opacity="1" ShadowDepth="2" Color="Gold" Direction="-111" BlurRadius="25"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="False">
|
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="{ButtonBorderThickness}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<!-- Button Template -->
|
|
<Style TargetType="Button">
|
|
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
|
<Setter Property="Foreground" Value="{ButtonForegroundColor}"/>
|
|
<Setter Property="Background" Value="{ButtonBackgroundColor}"/>
|
|
<Setter Property="Height" Value="{ButtonHeight}"/>
|
|
<Setter Property="Width" Value="{ButtonWidth}"/>
|
|
<Setter Property="FontSize" Value="{ButtonFontSize}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Grid>
|
|
<Border x:Name="BackgroundBorder"
|
|
Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{ButtonBorderThickness}"
|
|
CornerRadius="{ButtonCornerRadius}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,2,10,2"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsPressed" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundPressedColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
|
</Trigger>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
|
<Setter Property="Foreground" Value="DimGray"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="SearchBarClearButtonStyle" TargetType="Button">
|
|
<Setter Property="FontFamily" Value="Arial"/>
|
|
<Setter Property="FontSize" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Content" Value="X"/>
|
|
<Setter Property="Height" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Width" Value="{SearchBarClearButtonFontSize}"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="Padding" Value="0"/>
|
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="Red"/>
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="BorderThickness" Value="10"/>
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
<!-- Checkbox template -->
|
|
<Style TargetType="CheckBox">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="FontSize" Value="{FontSize}" />
|
|
<Setter Property="TextElement.FontFamily" Value="{FontFamily}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<Grid Background="{TemplateBinding Background}" Margin="{CheckBoxMargin}">
|
|
<BulletDecorator Background="Transparent">
|
|
<BulletDecorator.Bullet>
|
|
<Grid Width="{CheckBoxBulletDecoratorSize}" Height="{CheckBoxBulletDecoratorSize}">
|
|
<Border x:Name="Border"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
Background="{ButtonBackgroundColor}"
|
|
BorderThickness="1"
|
|
Width="{Binding Path={CheckBoxBulletDecoratorSize}-2}"
|
|
Height="{Binding Path={CheckBoxBulletDecoratorSize}-2}"
|
|
Margin="2"
|
|
SnapsToDevicePixels="True"/>
|
|
<Path x:Name="CheckMark"
|
|
Stroke="{TemplateBinding Foreground}"
|
|
StrokeThickness="2"
|
|
Data="M 0 5 L 5 10 L 12 0"
|
|
Visibility="Collapsed"/>
|
|
</Grid>
|
|
</BulletDecorator.Bullet>
|
|
<ContentPresenter Margin="4,0,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Center"
|
|
RecognizesAccessKey="True"/>
|
|
</BulletDecorator>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="True">
|
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<!--Setter TargetName="Border" Property="Background" Value="{ButtonBackgroundPressedColor}"/-->
|
|
<Setter Property="Foreground" Value="{ButtonBackgroundPressedColor}"/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="ToggleSwitchStyle" TargetType="CheckBox">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="CheckBox">
|
|
<StackPanel>
|
|
<Grid>
|
|
<Border Width="45"
|
|
Height="20"
|
|
Background="#555555"
|
|
CornerRadius="10"
|
|
Margin="5,0"
|
|
/>
|
|
<Border Name="WPFToggleSwitchButton"
|
|
Width="25"
|
|
Height="25"
|
|
Background="Black"
|
|
CornerRadius="12.5"
|
|
HorizontalAlignment="Left"
|
|
/>
|
|
<ContentPresenter Name="WPFToggleSwitchContent"
|
|
Margin="10,0,0,0"
|
|
Content="{TemplateBinding Content}"
|
|
VerticalAlignment="Center"
|
|
/>
|
|
</Grid>
|
|
</StackPanel>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsChecked" Value="false">
|
|
<Trigger.ExitActions>
|
|
<RemoveStoryboard BeginStoryboardName="WPFToggleSwitchLeft" />
|
|
<BeginStoryboard x:Name="WPFToggleSwitchRight">
|
|
<Storyboard>
|
|
<ThicknessAnimation Storyboard.TargetProperty="Margin"
|
|
Storyboard.TargetName="WPFToggleSwitchButton"
|
|
Duration="0:0:0:0"
|
|
From="0,0,0,0"
|
|
To="28,0,0,0">
|
|
</ThicknessAnimation>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
<Setter TargetName="WPFToggleSwitchButton"
|
|
Property="Background"
|
|
Value="#fff9f4f4"
|
|
/>
|
|
</Trigger>
|
|
<Trigger Property="IsChecked" Value="true">
|
|
<Trigger.ExitActions>
|
|
<RemoveStoryboard BeginStoryboardName="WPFToggleSwitchRight" />
|
|
<BeginStoryboard x:Name="WPFToggleSwitchLeft">
|
|
<Storyboard>
|
|
<ThicknessAnimation Storyboard.TargetProperty="Margin"
|
|
Storyboard.TargetName="WPFToggleSwitchButton"
|
|
Duration="0:0:0:0"
|
|
From="28,0,0,0"
|
|
To="0,0,0,0">
|
|
</ThicknessAnimation>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
<Setter TargetName="WPFToggleSwitchButton"
|
|
Property="Background"
|
|
Value="#ff060600"
|
|
/>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style x:Key="ColorfulToggleSwitchStyle" TargetType="{x:Type CheckBox}">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type ToggleButton}">
|
|
<Grid x:Name="toggleSwitch">
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<Border Grid.Column="1" x:Name="Border" CornerRadius="8"
|
|
BorderThickness="1"
|
|
Width="34" Height="17">
|
|
<Ellipse x:Name="Ellipse" Fill="{MainForegroundColor}" Stretch="Uniform"
|
|
Margin="2,2,2,1"
|
|
HorizontalAlignment="Left" Width="12">
|
|
</Ellipse>
|
|
</Border>
|
|
</Grid>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Border" Property="Background" Value="{LinkHoverForegroundColor}"/>
|
|
<Setter Property="Cursor" Value="Hand" />
|
|
<Setter Property="Panel.ZIndex" Value="1000"/>
|
|
</Trigger>
|
|
<Trigger Property="ToggleButton.IsChecked" Value="False">
|
|
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Ellipse" Property="Fill" Value="{MainForegroundColor}" />
|
|
|
|
</Trigger>
|
|
|
|
<Trigger Property="ToggleButton.IsChecked" Value="True">
|
|
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
|
<Setter TargetName="Ellipse" Property="Fill" Value="{MainForegroundColor}" />
|
|
|
|
<Trigger.EnterActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
To="{ToggleButtonOnColor}" Duration="0:0:0.1" />
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.BorderBrush).(SolidColorBrush.Color)"
|
|
To="{ToggleButtonOnColor}" Duration="0:0:0.1" />
|
|
|
|
<ColorAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="(Fill).(SolidColorBrush.Color)"
|
|
To="White" Duration="0:0:0.1" />
|
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="Margin"
|
|
To="18,2,2,2" Duration="0:0:0.1" />
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.EnterActions>
|
|
<Trigger.ExitActions>
|
|
<BeginStoryboard>
|
|
<Storyboard>
|
|
<ColorAnimation Storyboard.TargetName="Border"
|
|
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
To="{MainBackgroundColor}" Duration="0:0:0.1" />
|
|
|
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
|
Storyboard.TargetProperty="Margin"
|
|
To="2,2,2,1" Duration="0:0:0.1" />
|
|
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</Trigger.ExitActions>
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="VerticalContentAlignment" Value="Center" />
|
|
</Style>
|
|
|
|
<Style x:Key="labelfortweaks" TargetType="{x:Type Label}">
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
|
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
|
<Style.Triggers>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter Property="Foreground" Value="White" />
|
|
</Trigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="Border">
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="BorderBrush" Value="{BorderColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="CornerRadius" Value="5"/>
|
|
<Setter Property="Padding" Value="5"/>
|
|
<Setter Property="Margin" Value="5"/>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Style.Triggers>
|
|
<EventTrigger RoutedEvent="Loaded">
|
|
<BeginStoryboard>
|
|
<Storyboard RepeatBehavior="Forever">
|
|
<!-- <DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.ShadowDepth)"
|
|
From="6" To="15" Duration="{ShadowPulse}" AutoReverse="True"/> -->
|
|
<!-- <DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.Direction)"
|
|
From="0" To="360" Duration="Forever"/> -->
|
|
<DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.Opacity)"
|
|
From="0.5" To="0.94" Duration="{ShadowPulse}" AutoReverse="True"/>
|
|
<DoubleAnimation
|
|
Storyboard.TargetProperty="Effect.(DropShadowEffect.BlurRadius)"
|
|
From="5" To="15" Duration="{ShadowPulse}" AutoReverse="True"/>
|
|
</Storyboard>
|
|
</BeginStoryboard>
|
|
</EventTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
|
|
<Style TargetType="TextBox">
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="BorderBrush" Value="{MainForegroundColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="FontSize" Value="{FontSize}"/>
|
|
<Setter Property="Padding" Value="5"/>
|
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="TextBox">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="5">
|
|
<Grid>
|
|
<ScrollViewer x:Name="PART_ContentHost" />
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="PasswordBox">
|
|
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
|
<Setter Property="BorderBrush" Value="{MainForegroundColor}"/>
|
|
<Setter Property="BorderThickness" Value="1"/>
|
|
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
|
<Setter Property="FontSize" Value="{FontSize}"/>
|
|
<Setter Property="Padding" Value="5"/>
|
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="PasswordBox">
|
|
<Border Background="{TemplateBinding Background}"
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
BorderThickness="{TemplateBinding BorderThickness}"
|
|
CornerRadius="5">
|
|
<Grid>
|
|
<ScrollViewer x:Name="PART_ContentHost" />
|
|
</Grid>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Effect">
|
|
<Setter.Value>
|
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style x:Key="ScrollVisibilityRectangle" TargetType="Rectangle">
|
|
<Setter Property="Visibility" Value="Collapsed"/>
|
|
<Style.Triggers>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding Path=ComputedHorizontalScrollBarVisibility, ElementName=scrollViewer}" Value="Visible"/>
|
|
<Condition Binding="{Binding Path=ComputedVerticalScrollBarVisibility, ElementName=scrollViewer}" Value="Visible"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<Setter Property="Visibility" Value="Visible"/>
|
|
</MultiDataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</Window.Resources>
|
|
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Name="WPFMainGrid" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="{TabRowHeightInPixels}px"/>
|
|
<RowDefinition Height=".9*"/>
|
|
</Grid.RowDefinitions>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<DockPanel HorizontalAlignment="Stretch" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Row="0" Width="Auto">
|
|
<Image Height="{WinUtilIconSize}" Width="{WinUtilIconSize}" Name="WPFIcon"
|
|
SnapsToDevicePixels="True" Source="https://christitus.com/images/logo-full.png" Margin="10"/>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonInstallBackgroundColor}" Foreground="white" FontWeight="Bold" Name="WPFTab1BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonInstallForegroundColor}" >
|
|
<Underline>I</Underline>nstall
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonTweaksBackgroundColor}" Foreground="{ButtonTweaksForegroundColor}" FontWeight="Bold" Name="WPFTab2BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonTweaksForegroundColor}">
|
|
<Underline>T</Underline>weaks
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonConfigBackgroundColor}" Foreground="{ButtonConfigForegroundColor}" FontWeight="Bold" Name="WPFTab3BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonConfigForegroundColor}">
|
|
<Underline>C</Underline>onfig
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab4BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
|
<Underline>U</Underline>pdates
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
|
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab5BT">
|
|
<ToggleButton.Content>
|
|
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
|
<Underline>M</Underline>icroWin
|
|
</TextBlock>
|
|
</ToggleButton.Content>
|
|
</ToggleButton>
|
|
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="50px"/>
|
|
<ColumnDefinition Width="50px"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!--
|
|
TODO:
|
|
Make this SearchBar TextBox Position itself and still
|
|
house the Magnifying Glass Character in place,
|
|
even if that Magnifying Icon changed its Size,
|
|
it should be positioned relative to the SearchBar.
|
|
Consider using a Math Solver, will help in making
|
|
development of these things much easier
|
|
-->
|
|
<!-- Changed the font size from {SearchBarTextBoxFontSize} to 12. This now display the text box correctly in the text box.-->
|
|
<TextBox
|
|
Grid.Column="0"
|
|
Width="{SearchBarWidth}"
|
|
Height="{SearchBarHeight}"
|
|
FontSize="12"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
BorderThickness="1"
|
|
Name="SearchBar"
|
|
Foreground="{MainForegroundColor}" Background="{MainBackgroundColor}"
|
|
ToolTip="Press Ctrl-F and type app name to filter application list below. Press Esc to reset the filter">
|
|
</TextBox>
|
|
<!--Changed the margin from 16 to 180, which now places the magnifying glass icon on the right side of the text box. Now able to see what is been searched for.-->
|
|
<TextBlock
|
|
Grid.Column="0"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
FontFamily="Segoe MDL2 Assets"
|
|
FontSize="{IconFontSize}"
|
|
Margin="180,0,0,0"></TextBlock>
|
|
<!--
|
|
TODO:
|
|
Make this ClearButton Positioning react to
|
|
SearchBar Width Value changing, so it'll look correct.
|
|
Consider using a Math Solver, will help in making
|
|
development of these things much easier
|
|
-->
|
|
<!-- changed the {SearchBarClearButtonMargin} value from 193 to 205, which now places the clear button on the outside of the text box. -->
|
|
<Button Grid.Column="0"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
Name="SearchBarClearButton"
|
|
Style="{StaticResource SearchBarClearButtonStyle}"
|
|
Margin="205,0,0,0" Visibility="Collapsed"/>
|
|
|
|
<ProgressBar
|
|
Grid.Column="1"
|
|
Minimum="0"
|
|
Maximum="100"
|
|
Width="250"
|
|
Height="{SearchBarHeight}"
|
|
Foreground="{ProgressBarForegroundColor}" Background="{ProgressBarBackgroundColor}" BorderBrush="{ProgressBarForegroundColor}"
|
|
Visibility="Collapsed"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
Margin="2,0,0,0" BorderThickness="1" Padding="6,2,2,2"
|
|
Name="ProgressBar">
|
|
</ProgressBar>
|
|
<Label
|
|
Grid.Column="1"
|
|
Width="250"
|
|
Height="{SearchBarHeight}"
|
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
|
FontSize="{SearchBarTextBoxFontSize}"
|
|
Background="Transparent"
|
|
Visibility="Collapsed"
|
|
Margin="2,0,0,0" BorderThickness="0" Padding="6,2,2,2"
|
|
Name="ProgressBarLabel">
|
|
<TextBlock
|
|
TextTrimming="CharacterEllipsis"
|
|
Background="Transparent"
|
|
Foreground="{ProgressBarTextColor}">
|
|
</TextBlock>
|
|
</Label>
|
|
|
|
<Button Name="SettingsButton"
|
|
Style="{StaticResource HoverButtonStyle}"
|
|
Grid.Column="2" BorderBrush="Transparent"
|
|
Background="{MainBackgroundColor}"
|
|
Foreground="{MainForegroundColor}"
|
|
FontSize="{SettingsIconFontSize}"
|
|
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
|
Margin="0,5,5,0"
|
|
FontFamily="Segoe MDL2 Assets"
|
|
Content=""/>
|
|
<Popup Grid.Column="2" Name="SettingsPopup"
|
|
IsOpen="False"
|
|
PlacementTarget="{Binding ElementName=SettingsButton}" Placement="Bottom"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top">
|
|
<Border Background="{MainBackgroundColor}" BorderBrush="{MainForegroundColor}" BorderThickness="1" CornerRadius="0" Margin="0">
|
|
<StackPanel Background="{MainBackgroundColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="Import" Name="ImportMenuItem" Foreground="{MainForegroundColor}"/>
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="Export" Name="ExportMenuItem" Foreground="{MainForegroundColor}"/>
|
|
<Separator/>
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="About" Name="AboutMenuItem" Foreground="{MainForegroundColor}"/>
|
|
<MenuItem FontSize="{ButtonFontSize}" Header="Sponsors" Name="SponsorMenuItem" Foreground="{MainForegroundColor}"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Popup>
|
|
|
|
<Button
|
|
Grid.Column="3"
|
|
Content="×" BorderThickness="0"
|
|
BorderBrush="Transparent"
|
|
Background="{MainBackgroundColor}"
|
|
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
|
Margin="0,5,5,0"
|
|
FontFamily="Arial"
|
|
Foreground="{MainForegroundColor}" FontSize="{CloseIconFontSize}" Name="WPFCloseButton" />
|
|
</Grid>
|
|
|
|
</DockPanel>
|
|
|
|
<TabControl Name="WPFTabNav" Background="Transparent" Width="Auto" Height="Auto" BorderBrush="Transparent" BorderThickness="0" Grid.Row="1" Grid.Column="0" Padding="-1">
|
|
<TabItem Header="Install" Visibility="Collapsed" Name="WPFTab1">
|
|
<Grid Background="Transparent" >
|
|
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="45px"/>
|
|
<RowDefinition Height="0.95*"/>
|
|
</Grid.RowDefinitions>
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="5">
|
|
<Button Name="WPFinstall" Content=" Install/Upgrade Selected" Margin="2" />
|
|
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
|
<Button Name="WPFuninstall" Content=" Uninstall Selected" Margin="2"/>
|
|
<Button Name="WPFGetInstalled" Content=" Get Installed" Margin="2"/>
|
|
<Button Name="WPFclearWinget" Content=" Clear Selection" Margin="2"/>
|
|
</StackPanel>
|
|
|
|
<ScrollViewer x:Name="scrollViewer" Grid.Row="1" Grid.Column="0" Padding="-1" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
|
|
BorderBrush="Transparent" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
|
{{InstallPanel_applications}}
|
|
</Grid>
|
|
</ScrollViewer>
|
|
|
|
<Rectangle Grid.Row="1" Grid.Column="0" Width="18" Height="18" Fill="{MainBackgroundColor}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Style="{StaticResource ScrollVisibilityRectangle}"/>
|
|
|
|
</Grid>
|
|
</TabItem>
|
|
<TabItem Header="Tweaks" Visibility="Collapsed" Name="WPFTab2">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="45px"/>
|
|
<RowDefinition Height=".70*"/>
|
|
<RowDefinition Height=".10*"/>
|
|
</Grid.RowDefinitions>
|
|
{{InstallPanel_tweaks}}
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="5">
|
|
<Label Content="Recommended Selections:" FontSize="{FontSize}" VerticalAlignment="Center" Margin="2"/>
|
|
<Button Name="WPFstandard" Content=" Standard " Margin="2"/>
|
|
<Button Name="WPFminimal" Content=" Minimal " Margin="2"/>
|
|
<Button Name="WPFclear" Content=" Clear " Margin="2"/>
|
|
<Button Name="WPFGetInstalledTweaks" Content=" Get Installed " Margin="2"/>
|
|
</StackPanel>
|
|
<Border Grid.ColumnSpan="2" Grid.Row="2" Grid.Column="0">
|
|
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left">
|
|
<TextBlock Padding="10">
|
|
Note: Hover over items to get a better description. Please be careful as many of these tweaks will heavily modify your system.
|
|
<LineBreak/>Recommended selections are for normal users and if you are unsure do NOT check anything else!
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="Config" Visibility="Collapsed" Name="WPFTab3">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
{{InstallPanel_features}}
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="Updates" Visibility="Collapsed" Name="WPFTab4">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Background="Transparent">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Border Grid.Row="0" Grid.Column="0">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatesdefault" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Default (Out of Box) Settings" Margin="20,4,20,10" Padding="10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This is the default settings that come with Windows. <LineBreak/><LineBreak/> No modifications are made and will remove any custom windows update settings.<LineBreak/><LineBreak/>Note: If you still encounter update errors, reset all updates in the config tab. That will restore ALL Microsoft Update Services from their servers and reinstall them to default settings.</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border Grid.Row="0" Grid.Column="1">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatessecurity" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Security (Recommended) Settings" Margin="20,4,20,10" Padding="10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This is my recommended setting I use on all computers.<LineBreak/><LineBreak/> It will delay feature updates by 2 years and will install security updates 4 days after release.<LineBreak/><LineBreak/>Feature Updates: Adds features and often bugs to systems when they are released. You want to delay these as long as possible.<LineBreak/><LineBreak/>Security Updates: Typically these are pressing security flaws that need to be patched quickly. You only want to delay these a couple of days just to see if they are safe and don't break other systems. You don't want to go without these for ANY extended periods of time.</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border Grid.Row="0" Grid.Column="2">
|
|
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
|
<Button Name="WPFUpdatesdisable" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Disable ALL Updates (NOT RECOMMENDED!)" Margin="20,4,20,10" Padding="10,10,10,10"/>
|
|
<TextBlock Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300">This completely disables ALL Windows Updates and is NOT RECOMMENDED.<LineBreak/><LineBreak/> However, it can be suitable if you use your system for a select purpose and do not actively browse the internet. <LineBreak/><LineBreak/>Note: Your system will be easier to hack and infect without security updates.</TextBlock>
|
|
<TextBlock Text=" " Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300"/>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
<TabItem Header="MicroWin" Visibility="Collapsed" Name="WPFTab5">
|
|
<ScrollViewer VerticalScrollBarVisibility="Auto">
|
|
<Grid Width="Auto" Height="Auto">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="3*"/>
|
|
</Grid.ColumnDefinitions>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="*" />
|
|
</Grid.RowDefinitions>
|
|
<Border Grid.Row="0" Grid.Column="0"
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch">
|
|
<StackPanel Name="MicrowinMain" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Column="0" Grid.Row="0">
|
|
<StackPanel Background="Transparent" SnapsToDevicePixels="True" Margin="1">
|
|
<CheckBox x:Name="WPFMicrowinDownloadFromGitHub" Content="Download oscdimg.exe from CTT Github repo" IsChecked="False" Margin="-10,1,1,1" />
|
|
<TextBlock Margin="5" Padding="1" TextWrapping="Wrap" Foreground="{ComboBoxForegroundColor}">
|
|
Choose a Windows ISO file that you've downloaded <LineBreak/>
|
|
Check the status in the console
|
|
</TextBlock>
|
|
<CheckBox x:Name="WPFMicrowinISOScratchDir" Content="Use ISO directory for ScratchDir " IsChecked="False" Margin="-10,1,1,1"
|
|
ToolTip="Use ISO directory for ScratchDir " />
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*" /> <!-- Takes the remaining space -->
|
|
<ColumnDefinition Width="30" /> <!-- Fixed width for Button -->
|
|
</Grid.ColumnDefinitions>
|
|
<TextBox Name="MicrowinScratchDirBox" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
|
Text="Scratch"
|
|
Margin="2"
|
|
IsReadOnly="False"
|
|
ToolTip="Alt Path For Scratch Directory"
|
|
Grid.Column="0"
|
|
VerticalAlignment="Center"
|
|
Foreground="{LabelboxForegroundColor}">
|
|
</TextBox>
|
|
<Button Name="MicrowinScratchDirBT"
|
|
Width="Auto"
|
|
Height="Auto"
|
|
Grid.Column="1"
|
|
Margin="2"
|
|
Padding="1" VerticalAlignment="Center">
|
|
<Button.Content>
|
|
...
|
|
</Button.Content>
|
|
</Button>
|
|
</Grid>
|
|
<TextBox Name="MicrowinFinalIsoLocation" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
|
Text="ISO location will be printed here"
|
|
Margin="2"
|
|
IsReadOnly="True"
|
|
TextWrapping="Wrap"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
/>
|
|
<Button Name="WPFGetIso" Margin="2" Padding="15">
|
|
<Button.Content>
|
|
<TextBlock Background="Transparent" Foreground="{ButtonForegroundColor}">
|
|
Select Windows <Underline>I</Underline>SO
|
|
</TextBlock>
|
|
</Button.Content>
|
|
</Button>
|
|
</StackPanel>
|
|
<!-- Visibility="Hidden" -->
|
|
<StackPanel Name="MicrowinOptionsPanel" HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Hidden">
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Choose Windows SKU</TextBlock>
|
|
<ComboBox x:Name = "MicrowinWindowsFlavors" Margin="1" />
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<CheckBox Name="MicrowinInjectDrivers" Content="Inject drivers (I KNOW WHAT I'M DOING)" Margin="-10,5,0,0" IsChecked="False" ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"/>
|
|
<TextBox Name="MicrowinDriverLocation" Background="Transparent" BorderThickness="1" BorderBrush="{MainForegroundColor}"
|
|
Margin="6"
|
|
Text=""
|
|
IsReadOnly="False"
|
|
TextWrapping="Wrap"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"
|
|
/>
|
|
<CheckBox Name="MicrowinImportDrivers" Content="Import drivers from current system" Margin="-10,5,0,0" IsChecked="False" ToolTip="Export all third-party drivers from your system and inject them to the MicroWin image"/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<CheckBox Name="WPFMicrowinCopyToUsb" Content="Copy to Ventoy" Margin="-10,5,0,0" IsChecked="False" ToolTip="Copy to USB disk with a label Ventoy"/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap"><Bold>Custom user settings (leave empty for default user)</Bold></TextBlock>
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">User name (20 characters max.):</TextBlock>
|
|
<TextBox Name="MicrowinUserName" Background="Transparent" BorderThickness="1" BorderBrush="{MainForegroundColor}"
|
|
Margin="6"
|
|
Text=""
|
|
IsReadOnly="False"
|
|
TextWrapping="Wrap"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
MaxLength="20"
|
|
/>
|
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Password (characters will not be shown for your security):</TextBlock>
|
|
<PasswordBox Name="MicrowinUserPassword" Background="Transparent" BorderThickness="1" BorderBrush="{MainForegroundColor}"
|
|
Margin="6"
|
|
PasswordChar="*"
|
|
Foreground="{LabelboxForegroundColor}"
|
|
/>
|
|
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
|
<Button Name="WPFMicrowin" Content="Start the process" Margin="2" Padding="15"/>
|
|
</StackPanel>
|
|
<StackPanel HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Collapsed">
|
|
<TextBlock Name="MicrowinIsoDrive" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinIsoLocation" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinMountDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
<TextBlock Name="MicrowinScratchDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</Border>
|
|
<Border
|
|
VerticalAlignment="Stretch"
|
|
HorizontalAlignment="Stretch"
|
|
Grid.Row="0" Grid.Column="1">
|
|
<StackPanel HorizontalAlignment="Left" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Visibility="Visible">
|
|
|
|
<Grid Name = "BusyMessage" Visibility="Collapsed">
|
|
<TextBlock Name = "BusyText" Text="NBusy" Padding="22,2,1,1" />
|
|
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Segoe MDL2 Assets"
|
|
FontSize="{IconFontSize}" Margin="16,0,0,0"></TextBlock>
|
|
</Grid>
|
|
|
|
<TextBlock x:Name = "asciiTextBlock"
|
|
xml:space ="preserve"
|
|
HorizontalAlignment = "Center"
|
|
Margin = "0"
|
|
VerticalAlignment = "Top"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
FontSize = "{MicroWinLogoSize}"
|
|
FontFamily = "Courier New"
|
|
>
|
|
/\/\ (_) ___ _ __ ___ / / /\ \ \(_) _ __
|
|
/ \ | | / __|| '__| / _ \ \ \/ \/ /| || '_ \
|
|
/ /\/\ \| || (__ | | | (_) | \ /\ / | || | | |
|
|
\/ \/|_| \___||_| \___/ \/ \/ |_||_| |_|
|
|
</TextBlock>
|
|
|
|
<TextBlock Margin="15,15,15,0"
|
|
Padding="8,8,8,0"
|
|
VerticalAlignment="Center"
|
|
TextWrapping="WrapWithOverflow"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
Foreground="{ComboBoxForegroundColor}">
|
|
<Bold>MicroWin features:</Bold><LineBreak/>
|
|
- Remove Telemetry and Tracking <LineBreak/>
|
|
- Fast Install using either the "User" local account or the account of your choosing <LineBreak/>
|
|
- No internet requirement for install <LineBreak/>
|
|
- Apps debloat <LineBreak/>
|
|
<LineBreak/>
|
|
<LineBreak/>
|
|
|
|
<Bold>INSTRUCTIONS</Bold> <LineBreak/>
|
|
- <TextBlock Name="Win11DownloadLink" Style="{StaticResource HoverTextBlockStyle}" ToolTip="https://www.microsoft.com/software-download/windows11">Download</TextBlock> the latest Windows 11 image from Microsoft <LineBreak/>
|
|
May take several minutes to process the ISO depending on your machine and connection <LineBreak/>
|
|
- Put it somewhere on the C:\ drive so it is easily accessible <LineBreak/>
|
|
- Launch WinUtil and MicroWin <LineBreak/>
|
|
- Click on the "Select Windows ISO" button and wait for WinUtil to process the image <LineBreak/>
|
|
It will be processed and unpacked which may take some time <LineBreak/>
|
|
- Once complete, choose which Windows flavor you want to base your image on <LineBreak/>
|
|
- Click the "Start Process" button <LineBreak/>
|
|
The process of creating the Windows image may take some time, please check the console and wait for it to say "Done" <LineBreak/>
|
|
- Once complete, the target ISO file will be in the directory you have specified <LineBreak/>
|
|
- Copy this image to your Ventoy USB Stick, boot to this image, gg
|
|
<LineBreak/>
|
|
If you are injecting drivers ensure you put all your inf, sys, and dll files for each driver into a separate directory
|
|
</TextBlock>
|
|
<TextBlock Margin="15,0,15,15"
|
|
Padding = "1"
|
|
TextWrapping="WrapWithOverflow"
|
|
Height = "Auto"
|
|
Width = "Auto"
|
|
VerticalAlignment = "Top"
|
|
Foreground = "{ComboBoxForegroundColor}"
|
|
xml:space = "preserve"
|
|
>
|
|
<Bold>Example:</Bold>
|
|
C:\drivers\
|
|
|-- Driver1\
|
|
| |-- Driver1.inf
|
|
| |-- Driver1.sys
|
|
|-- Driver2\
|
|
| |-- Driver2.inf
|
|
| |-- Driver2.sys
|
|
|-- OtherFiles...
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</Border>
|
|
</Grid>
|
|
</ScrollViewer>
|
|
</TabItem>
|
|
</TabControl>
|
|
</Grid>
|
|
</Window>
|