mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2024-11-14 22:55:52 -06:00
Add the option to change the UI Theme at runtime (#2693)
* Setup for testing * Working Example for Background * Almost all MainBackgrounColor working * Random Color PoC * Fix DBorderColor * prevent old logic from replacing colors in memory at startup * Comment out resources in xaml * Finish new Button * Remove Pulse, Load Windows default Theme * Fix Colors * Fix Toggle Colors * working version, with shared still being mostly applied be replace instead of resouces * Load all entries in themes.json as Resource and reference them in inputXML.xaml * Rename File to match Function Name * Hotfix for Sync with main * Remove Static Set-WinUtilUITheme function/file * Rename File and Function * Cleanup and Stuff * Unify Button Theme with rest of UI * Refactor/Optimazation * Performance optimization * Add Comments * Rename Functions and Variables to be more concise and descriptive * Add persistence to the user Theme Preference across winutil restarts * Reimplement Theme Chagnes from #2722 * Add AUTO option to follow window theme and add dropdown instead toggle * Formatting and deleting temp file * Fix small display bug where Dropdown would remain open for settings and themes * Remove terniary operators because only PS7+ is supported
This commit is contained in:
parent
9136ed9802
commit
0251757fc0
@ -1,19 +1,16 @@
|
|||||||
{
|
{
|
||||||
"_default": {
|
"shared":{
|
||||||
"CustomDialogFontSize": "12",
|
"CustomDialogFontSize": "12",
|
||||||
"CustomDialogFontSizeHeader": "14",
|
"CustomDialogFontSizeHeader": "14",
|
||||||
"CustomDialogIconSize": "25",
|
"CustomDialogIconSize": "25",
|
||||||
"CustomDialogWidth": "400",
|
"CustomDialogWidth": "400",
|
||||||
"CustomDialogHeight": "200",
|
"CustomDialogHeight": "200",
|
||||||
|
|
||||||
"FontSize": "12",
|
"FontSize": "12",
|
||||||
"FontFamily": "Arial",
|
"FontFamily": "Arial",
|
||||||
"FontSizeHeading": "16",
|
"FontSizeHeading": "16",
|
||||||
"HeaderFontFamily": "Consolas, Monaco",
|
"HeaderFontFamily": "Consolas, Monaco",
|
||||||
|
|
||||||
"CheckBoxBulletDecoratorSize": "14",
|
"CheckBoxBulletDecoratorSize": "14",
|
||||||
"CheckBoxMargin": "15,0,0,2",
|
"CheckBoxMargin": "15,0,0,2",
|
||||||
|
|
||||||
"TabContentMargin": "5",
|
"TabContentMargin": "5",
|
||||||
"TabButtonFontSize": "14",
|
"TabButtonFontSize": "14",
|
||||||
"TabButtonWidth": "100",
|
"TabButtonWidth": "100",
|
||||||
@ -23,59 +20,25 @@
|
|||||||
"IconButtonSize": "35",
|
"IconButtonSize": "35",
|
||||||
"SettingsIconFontSize": "18",
|
"SettingsIconFontSize": "18",
|
||||||
"CloseIconFontSize": "18",
|
"CloseIconFontSize": "18",
|
||||||
|
|
||||||
"MicroWinLogoSize": "10",
|
"MicroWinLogoSize": "10",
|
||||||
"MicrowinCheckBoxMargin": "-10,5,0,0",
|
"MicrowinCheckBoxMargin": "-10,5,0,0",
|
||||||
|
|
||||||
"ProgressBarForegroundColor": "#2e77ff",
|
|
||||||
"ProgressBarBackgroundColor": "Transparent",
|
|
||||||
"ProgressBarTextColor": "#232629",
|
|
||||||
|
|
||||||
"ComboBoxBackgroundColor": "#F7F7F7",
|
|
||||||
"LabelboxForegroundColor": "#232629",
|
|
||||||
"MainForegroundColor": "#232629",
|
|
||||||
"MainBackgroundColor": "#F7F7F7",
|
|
||||||
"LabelBackgroundColor": "#F7F7F7",
|
|
||||||
"LinkForegroundColor": "#232629",
|
|
||||||
"LinkHoverForegroundColor": "#232629",
|
|
||||||
"GroupBorderBackgroundColor": "#232629",
|
"GroupBorderBackgroundColor": "#232629",
|
||||||
"ComboBoxForegroundColor": "#232629",
|
|
||||||
|
|
||||||
"ButtonFontSize": "12",
|
"ButtonFontSize": "12",
|
||||||
"ButtonFontFamily": "Arial",
|
"ButtonFontFamily": "Arial",
|
||||||
"ButtonWidth": "200",
|
"ButtonWidth": "200",
|
||||||
"ButtonHeight": "25",
|
"ButtonHeight": "25",
|
||||||
"ConfigTabButtonFontSize": "16",
|
"ConfigTabButtonFontSize": "16",
|
||||||
|
|
||||||
"SearchBarWidth": "200",
|
"SearchBarWidth": "200",
|
||||||
"SearchBarHeight": "25",
|
"SearchBarHeight": "25",
|
||||||
"SearchBarTextBoxFontSize": "12",
|
"SearchBarTextBoxFontSize": "12",
|
||||||
"SearchBarClearButtonFontSize": "14",
|
"SearchBarClearButtonFontSize": "14",
|
||||||
|
|
||||||
"ButtonInstallBackgroundColor": "#F7F7F7",
|
|
||||||
"ButtonTweaksBackgroundColor": "#F7F7F7",
|
|
||||||
"ButtonConfigBackgroundColor": "#F7F7F7",
|
|
||||||
"ButtonUpdatesBackgroundColor": "#F7F7F7",
|
|
||||||
"ButtonInstallForegroundColor": "#232629",
|
|
||||||
"ButtonTweaksForegroundColor": "#232629",
|
|
||||||
"ButtonConfigForegroundColor": "#232629",
|
|
||||||
"ButtonUpdatesForegroundColor": "#232629",
|
|
||||||
"ButtonBackgroundColor": "#F5F5F5",
|
|
||||||
"ButtonBackgroundPressedColor": "#1A1A1A",
|
|
||||||
"CheckboxMouseOverColor": "#999999",
|
"CheckboxMouseOverColor": "#999999",
|
||||||
"ButtonBackgroundMouseoverColor": "#C2C2C2",
|
|
||||||
"ButtonBackgroundSelectedColor": "#F0F0F0",
|
|
||||||
"ButtonForegroundColor": "#232629",
|
|
||||||
"ToggleButtonOnColor": "#2e77ff",
|
|
||||||
|
|
||||||
"ButtonBorderThickness": "1",
|
"ButtonBorderThickness": "1",
|
||||||
"ButtonMargin": "1",
|
"ButtonMargin": "1",
|
||||||
"ButtonCornerRadius": "2",
|
"ButtonCornerRadius": "2"
|
||||||
"BorderColor": "#232629",
|
|
||||||
"BorderOpacity": "0.2",
|
|
||||||
"ShadowPulse": "Forever"
|
|
||||||
},
|
},
|
||||||
"Classic": {
|
"Light": {
|
||||||
|
"ComboBoxForegroundColor": "#232629",
|
||||||
"ComboBoxBackgroundColor": "#F7F7F7",
|
"ComboBoxBackgroundColor": "#F7F7F7",
|
||||||
"LabelboxForegroundColor": "#232629",
|
"LabelboxForegroundColor": "#232629",
|
||||||
"MainForegroundColor": "#232629",
|
"MainForegroundColor": "#232629",
|
||||||
@ -83,9 +46,10 @@
|
|||||||
"LabelBackgroundColor": "#F7F7F7",
|
"LabelBackgroundColor": "#F7F7F7",
|
||||||
"LinkForegroundColor": "#232629",
|
"LinkForegroundColor": "#232629",
|
||||||
"LinkHoverForegroundColor": "#232629",
|
"LinkHoverForegroundColor": "#232629",
|
||||||
"GroupBorderBackgroundColor": "#232629",
|
|
||||||
"ComboBoxForegroundColor": "#232629",
|
|
||||||
|
|
||||||
|
"ProgressBarForegroundColor": "#2e77ff",
|
||||||
|
"ProgressBarBackgroundColor": "Transparent",
|
||||||
|
"ProgressBarTextColor": "#232629",
|
||||||
"ButtonInstallBackgroundColor": "#F7F7F7",
|
"ButtonInstallBackgroundColor": "#F7F7F7",
|
||||||
"ButtonTweaksBackgroundColor": "#F7F7F7",
|
"ButtonTweaksBackgroundColor": "#F7F7F7",
|
||||||
"ButtonConfigBackgroundColor": "#F7F7F7",
|
"ButtonConfigBackgroundColor": "#F7F7F7",
|
||||||
@ -96,26 +60,26 @@
|
|||||||
"ButtonUpdatesForegroundColor": "#232629",
|
"ButtonUpdatesForegroundColor": "#232629",
|
||||||
"ButtonBackgroundColor": "#F5F5F5",
|
"ButtonBackgroundColor": "#F5F5F5",
|
||||||
"ButtonBackgroundPressedColor": "#1A1A1A",
|
"ButtonBackgroundPressedColor": "#1A1A1A",
|
||||||
"CheckboxMouseOverColor": "#999999",
|
|
||||||
"ButtonBackgroundMouseoverColor": "#C2C2C2",
|
"ButtonBackgroundMouseoverColor": "#C2C2C2",
|
||||||
"ButtonBackgroundSelectedColor": "#F0F0F0",
|
"ButtonBackgroundSelectedColor": "#F0F0F0",
|
||||||
"ButtonForegroundColor": "#232629",
|
"ButtonForegroundColor": "#232629",
|
||||||
"ToggleButtonOnColor": "#2e77ff"
|
"ToggleButtonOnColor": "#2e77ff",
|
||||||
|
"BorderColor": "#232629",
|
||||||
|
"BorderOpacity": "0.2"
|
||||||
|
|
||||||
},
|
},
|
||||||
"Matrix": {
|
"Dark": {
|
||||||
|
"ComboBoxForegroundColor": "#1e3747",
|
||||||
"ComboBoxBackgroundColor": "#232629",
|
"ComboBoxBackgroundColor": "#232629",
|
||||||
"LabelboxForegroundColor": "#f7f7f7",
|
"LabelboxForegroundColor": "#0567ff",
|
||||||
"MainForegroundColor": "#F7F7F7",
|
"MainForegroundColor": "#F7F7F7",
|
||||||
"MainBackgroundColor": "#232629",
|
"MainBackgroundColor": "#121212",
|
||||||
"LabelBackgroundColor": "#232629",
|
"LabelBackgroundColor": "#121212",
|
||||||
"LinkForegroundColor": "#add8e6",
|
"LinkForegroundColor": "#add8e6",
|
||||||
"LinkHoverForegroundColor": "#F7F7F7",
|
"LinkHoverForegroundColor": "#F7F7F7",
|
||||||
"ComboBoxForegroundColor": "#81a1c1",
|
|
||||||
|
|
||||||
"ProgressBarForegroundColor": "#222222",
|
"ProgressBarForegroundColor": "#222222",
|
||||||
"ProgressBarBackgroundColor": "Transparent",
|
"ProgressBarBackgroundColor": "Transparent",
|
||||||
"ProgressBarTextColor": "#cccccc",
|
"ProgressBarTextColor": "#cccccc",
|
||||||
|
|
||||||
"ButtonInstallBackgroundColor": "#222222",
|
"ButtonInstallBackgroundColor": "#222222",
|
||||||
"ButtonTweaksBackgroundColor": "#333333",
|
"ButtonTweaksBackgroundColor": "#333333",
|
||||||
"ButtonConfigBackgroundColor": "#444444",
|
"ButtonConfigBackgroundColor": "#444444",
|
||||||
@ -130,40 +94,7 @@
|
|||||||
"ButtonBackgroundSelectedColor": "#5E81AC",
|
"ButtonBackgroundSelectedColor": "#5E81AC",
|
||||||
"ButtonForegroundColor": "#F7F7F7",
|
"ButtonForegroundColor": "#F7F7F7",
|
||||||
"ToggleButtonOnColor": "#2e77ff",
|
"ToggleButtonOnColor": "#2e77ff",
|
||||||
|
"BorderColor": "#2F373D",
|
||||||
"BorderColor": "#0060CC",
|
"BorderOpacity": "0.2"
|
||||||
"BorderOpacity": "0.2",
|
|
||||||
"ShadowPulse": "0:0:3"
|
|
||||||
},
|
|
||||||
"Dark": {
|
|
||||||
"ComboBoxBackgroundColor": "#1e3747",
|
|
||||||
"LabelboxForegroundColor": "#0567ff",
|
|
||||||
"MainForegroundColor": "#F7F7F7",
|
|
||||||
"MainBackgroundColor": "#121212",
|
|
||||||
"LabelBackgroundColor": "#121212",
|
|
||||||
"LinkForegroundColor": "#add8e6",
|
|
||||||
"LinkHoverForegroundColor": "#F7F7F7",
|
|
||||||
"ComboBoxForegroundColor": "#f7f7f7",
|
|
||||||
|
|
||||||
"ProgressBarForegroundColor": "#222222",
|
|
||||||
"ProgressBarBackgroundColor": "Transparent",
|
|
||||||
"ProgressBarTextColor": "#cccccc",
|
|
||||||
|
|
||||||
"ButtonInstallBackgroundColor": "#222222",
|
|
||||||
"ButtonTweaksBackgroundColor": "#333333",
|
|
||||||
"ButtonConfigBackgroundColor": "#444444",
|
|
||||||
"ButtonUpdatesBackgroundColor": "#555555",
|
|
||||||
"ButtonInstallForegroundColor": "#F7F7F7",
|
|
||||||
"ButtonTweaksForegroundColor": "#F7F7F7",
|
|
||||||
"ButtonConfigForegroundColor": "#F7F7F7",
|
|
||||||
"ButtonUpdatesForegroundColor": "#F7F7F7",
|
|
||||||
"ButtonBackgroundColor": "#1E3747",
|
|
||||||
"ButtonBackgroundPressedColor": "#00CFFF",
|
|
||||||
"ButtonBackgroundMouseoverColor": "#5E81AC",
|
|
||||||
"ButtonBackgroundSelectedColor": "#5E81AC",
|
|
||||||
"ButtonForegroundColor": "#F7F7F7",
|
|
||||||
"ToggleButtonOnColor": "#2e77ff",
|
|
||||||
|
|
||||||
"BorderColor": "#2F373D"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
180
functions/private/Invoke-WinutilThemeChange.ps1
Normal file
180
functions/private/Invoke-WinutilThemeChange.ps1
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
function Invoke-WinutilThemeChange {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Toggles between light and dark themes for a Windows utility application.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This function toggles the theme of the user interface between 'Light' and 'Dark' modes,
|
||||||
|
modifying various UI elements such as colors, margins, corner radii, font families, etc.
|
||||||
|
If the '-init' switch is used, it initializes the theme based on the system's current dark mode setting.
|
||||||
|
|
||||||
|
.PARAMETER init
|
||||||
|
A switch parameter. If set to $true, the function initializes the theme based on the system’s current dark mode setting.
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Invoke-WinutilThemeChange
|
||||||
|
# Toggles the theme between 'Light' and 'Dark'.
|
||||||
|
|
||||||
|
.EXAMPLE
|
||||||
|
Invoke-WinutilThemeChange -init
|
||||||
|
# Initializes the theme based on the system's dark mode and applies the shared theme.
|
||||||
|
#>
|
||||||
|
param (
|
||||||
|
[switch]$init = $false,
|
||||||
|
[string]$theme
|
||||||
|
)
|
||||||
|
|
||||||
|
function Set-WinutilTheme {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Applies the specified theme to the application's user interface.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This internal function applies the given theme by setting the relevant properties
|
||||||
|
like colors, font families, corner radii, etc., in the UI. It uses the
|
||||||
|
'Set-ThemeResourceProperty' helper function to modify the application's resources.
|
||||||
|
|
||||||
|
.PARAMETER currentTheme
|
||||||
|
The name of the theme to be applied. Common values are "Light", "Dark", or "shared".
|
||||||
|
#>
|
||||||
|
param (
|
||||||
|
[string]$currentTheme
|
||||||
|
)
|
||||||
|
|
||||||
|
function Set-ThemeResourceProperty {
|
||||||
|
<#
|
||||||
|
.SYNOPSIS
|
||||||
|
Sets a specific UI property in the application's resources.
|
||||||
|
|
||||||
|
.DESCRIPTION
|
||||||
|
This helper function sets a property (e.g., color, margin, corner radius) in the
|
||||||
|
application's resources, based on the provided type and value. It includes
|
||||||
|
error handling to manage potential issues while setting a property.
|
||||||
|
|
||||||
|
.PARAMETER Name
|
||||||
|
The name of the resource property to modify (e.g., "MainBackgroundColor", "ButtonBackgroundMouseoverColor").
|
||||||
|
|
||||||
|
.PARAMETER Value
|
||||||
|
The value to assign to the resource property (e.g., "#FFFFFF" for a color).
|
||||||
|
|
||||||
|
.PARAMETER Type
|
||||||
|
The type of the resource, such as "ColorBrush", "CornerRadius", "GridLength", or "FontFamily".
|
||||||
|
#>
|
||||||
|
param($Name, $Value, $Type)
|
||||||
|
try {
|
||||||
|
# Set the resource property based on its type
|
||||||
|
$sync.Form.Resources[$Name] = switch ($Type) {
|
||||||
|
"ColorBrush" { [Windows.Media.SolidColorBrush]::new($Value) }
|
||||||
|
"Color" {
|
||||||
|
# Convert hex string to RGB values
|
||||||
|
$hexColor = $Value.TrimStart("#")
|
||||||
|
$r = [Convert]::ToInt32($hexColor.Substring(0,2), 16)
|
||||||
|
$g = [Convert]::ToInt32($hexColor.Substring(2,2), 16)
|
||||||
|
$b = [Convert]::ToInt32($hexColor.Substring(4,2), 16)
|
||||||
|
[Windows.Media.Color]::FromRgb($r, $g, $b)
|
||||||
|
}
|
||||||
|
"CornerRadius" { [System.Windows.CornerRadius]::new($Value) }
|
||||||
|
"GridLength" { [System.Windows.GridLength]::new($Value) }
|
||||||
|
"Thickness" {
|
||||||
|
# Parse the Thickness value (supports 1, 2, or 4 inputs)
|
||||||
|
$values = $Value -split ","
|
||||||
|
switch ($values.Count) {
|
||||||
|
1 { [System.Windows.Thickness]::new([double]$values[0]) }
|
||||||
|
2 { [System.Windows.Thickness]::new([double]$values[0], [double]$values[1]) }
|
||||||
|
4 { [System.Windows.Thickness]::new([double]$values[0], [double]$values[1], [double]$values[2], [double]$values[3]) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"FontFamily" { [Windows.Media.FontFamily]::new($Value) }
|
||||||
|
"Double" { [double]$Value }
|
||||||
|
default { $Value }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
# Log a warning if there's an issue setting the property
|
||||||
|
Write-Warning "Failed to set property $($Name): $_"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Retrieve all theme properties from the theme configuration
|
||||||
|
$themeProperties = $sync.configs.themes.$currentTheme.PSObject.Properties
|
||||||
|
foreach ($_ in $themeProperties) {
|
||||||
|
# Apply properties that deal with colors
|
||||||
|
if ($_.Name -like "*color*") {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "ColorBrush"
|
||||||
|
# For certain color properties, also set complementary values (e.g., BorderColor -> CBorderColor) This is required because e.g DropShadowEffect requires a <Color> and not a <SolidColorBrush> object
|
||||||
|
if ($_.Name -in @("BorderColor", "ButtonBackgroundMouseoverColor")) {
|
||||||
|
Set-ThemeResourceProperty -Name "C$($_.Name)" -Value $_.Value -Type "Color"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# Apply corner radius properties
|
||||||
|
elseif ($_.Name -like "*Radius*") {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "CornerRadius"
|
||||||
|
}
|
||||||
|
# Apply row height properties
|
||||||
|
elseif ($_.Name -like "*RowHeight*") {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "GridLength"
|
||||||
|
}
|
||||||
|
# Apply thickness or margin properties
|
||||||
|
elseif (($_.Name -like "*Thickness*") -or ($_.Name -like "*margin")) {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "Thickness"
|
||||||
|
}
|
||||||
|
# Apply font family properties
|
||||||
|
elseif ($_.Name -like "*FontFamily*") {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "FontFamily"
|
||||||
|
}
|
||||||
|
# Apply any other properties as doubles (numerical values)
|
||||||
|
else {
|
||||||
|
Set-ThemeResourceProperty -Name $_.Name -Value $_.Value -Type "Double"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$LightPreferencePath = "$env:LOCALAPPDATA\winutil\LightTheme.ini"
|
||||||
|
$DarkPreferencePath = "$env:LOCALAPPDATA\winutil\DarkTheme.ini"
|
||||||
|
|
||||||
|
if ($init) {
|
||||||
|
Set-WinutilTheme -currentTheme "shared"
|
||||||
|
if (Test-Path $LightPreferencePath) {
|
||||||
|
$theme = "Light"
|
||||||
|
}
|
||||||
|
elseif (Test-Path $DarkPreferencePath) {
|
||||||
|
$theme = "Dark"
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$theme = "Auto"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($theme) {
|
||||||
|
"Auto" {
|
||||||
|
$systemUsesDarkMode = Get-WinUtilToggleStatus WPFToggleDarkMode
|
||||||
|
if ($systemUsesDarkMode){
|
||||||
|
Set-WinutilTheme -currentTheme "Dark"
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Set-WinutilTheme -currentTheme "Light"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$themeButtonIcon = [char]0xF08C
|
||||||
|
Remove-Item $LightPreferencePath -Force -ErrorAction SilentlyContinue
|
||||||
|
Remove-Item $DarkPreferencePath -Force -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
"Dark" {
|
||||||
|
Set-WinutilTheme -currentTheme $theme
|
||||||
|
$themeButtonIcon = [char]0xE708
|
||||||
|
$null = New-Item $DarkPreferencePath -Force
|
||||||
|
Remove-Item $LightPreferencePath -Force -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
"Light" {
|
||||||
|
Set-WinutilTheme -currentTheme $theme
|
||||||
|
$themeButtonIcon = [char]0xE706
|
||||||
|
$null = New-Item $LightPreferencePath -Force
|
||||||
|
Remove-Item $DarkPreferencePath -Force -ErrorAction SilentlyContinue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update the theme selector button with the appropriate icon
|
||||||
|
$ThemeButton = $sync.Form.FindName("ThemeButton")
|
||||||
|
$ThemeButton.Content = [string]$themeButtonIcon
|
||||||
|
}
|
@ -1,83 +0,0 @@
|
|||||||
function Set-WinUtilUITheme {
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
|
||||||
Sets the theme of the XAML file
|
|
||||||
|
|
||||||
.PARAMETER inputXML
|
|
||||||
A string representing the XAML object to modify
|
|
||||||
|
|
||||||
.PARAMETER customThemeName
|
|
||||||
The name of the custom theme to set the XAML to. Defaults to 'matrix'
|
|
||||||
|
|
||||||
.PARAMETER defaultThemeName
|
|
||||||
The name of the default theme to use when setting the XAML. Defaults to '_default'
|
|
||||||
|
|
||||||
.EXAMPLE
|
|
||||||
$returnVal = Set-WinUtilUITheme -inputXAML $inputXAML
|
|
||||||
if ($returnVal[0] -eq "") {
|
|
||||||
Write-Host "Failed to process inputXML"
|
|
||||||
} else {
|
|
||||||
$inputXML = $returnVal[0]
|
|
||||||
}
|
|
||||||
# to know which theme this function has used, access the second item in returned value.
|
|
||||||
Write-Host "Theme used in processing: $($returnVal[1])"
|
|
||||||
#>
|
|
||||||
|
|
||||||
param (
|
|
||||||
[Parameter(Mandatory, position=0)]
|
|
||||||
[string]$inputXML,
|
|
||||||
|
|
||||||
[Parameter(position=1)]
|
|
||||||
[string]$customThemeName = 'matrix',
|
|
||||||
|
|
||||||
[Parameter(position=2)]
|
|
||||||
[string]$defaultThemeName = '_default'
|
|
||||||
)
|
|
||||||
|
|
||||||
try {
|
|
||||||
# Note:
|
|
||||||
# Reason behind not caching the '$sync.configs.themes` object into a variable,
|
|
||||||
# because this code can modify the themes object.. meaning it's better to access it
|
|
||||||
# using the more verbose way, rather than introduce possible bugs into the code, just for the sake of readability.
|
|
||||||
#
|
|
||||||
if (-NOT $sync.configs.themes) {
|
|
||||||
throw [GenericException]::new("[Set-WinUtilTheme] Did not find 'config.themes' inside `$sync variable.")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-NOT $sync.configs.themes.$defaultThemeName) {
|
|
||||||
throw [GenericException]::new("[Set-WinUtilTheme] Did not find '$defaultThemeName' theme in the themes config file.")
|
|
||||||
}
|
|
||||||
|
|
||||||
$themeToUse = $customThemeName
|
|
||||||
if ($sync.configs.themes.$themeToUse) {
|
|
||||||
# Loop through every default theme option, and modify the custom theme in $sync variable,
|
|
||||||
# so that it has full options available for other functions to use.
|
|
||||||
foreach ($option in $sync.configs.themes.$defaultThemeName.PSObject.Properties) {
|
|
||||||
$optionName = $option.Name
|
|
||||||
$optionValue = $option.Value
|
|
||||||
if (-NOT $sync.configs.themes.$themeToUse.$optionName) {
|
|
||||||
$sync.configs.themes.$themeToUse | Add-Member -MemberType NoteProperty -Name $optionName -Value $optionValue
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Write-Debug "[Set-WinUtilTheme] Theme '$customThemeName' was not found, using '$defaultThemeName' instead."
|
|
||||||
$themeToUse = $defaultThemeName
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($property in $sync.configs.themes.$themeToUse.PSObject.Properties) {
|
|
||||||
$key = $property.Name
|
|
||||||
$value = $property.Value
|
|
||||||
# Add curly braces around the key
|
|
||||||
$formattedKey = "{$key}"
|
|
||||||
# Replace the key with the value in the input XML
|
|
||||||
$inputXML = $inputXML.Replace($formattedKey, $value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
Write-Host "[Set-WinUtilTheme] Unable to apply theme" -ForegroundColor Red
|
|
||||||
Write-Host "$($psitem.Exception.Message)" -ForegroundColor Red
|
|
||||||
$inputXML = "" # Make inputXML equal an empty string, indicating something went wrong to the function caller.
|
|
||||||
}
|
|
||||||
|
|
||||||
return @($inputXML, $themeToUse);
|
|
||||||
}
|
|
@ -33,25 +33,25 @@ function Show-CustomDialog {
|
|||||||
#>
|
#>
|
||||||
param(
|
param(
|
||||||
[string]$Message,
|
[string]$Message,
|
||||||
[int]$Width = 300,
|
[int]$Width = $sync.Form.Resources.CustomDialogWidth,
|
||||||
[int]$Height = 200,
|
[int]$Height = $sync.Form.Resources.CustomDialogHeight,
|
||||||
[int]$FontSize = 10,
|
[int]$FontSize = $sync.Form.Resources.CustomDialogFontSize,
|
||||||
[int]$HeaderFontSize = 14,
|
[int]$HeaderFontSize = $sync.Form.Resources.CustomDialogFontSizeHeader,
|
||||||
[int]$IconSize = 25,
|
[int]$IconSize = $sync.Form.Resources.CustomDialogLogoSize,
|
||||||
[bool]$EnableScroll = $false
|
[bool]$EnableScroll = $false
|
||||||
)
|
)
|
||||||
|
|
||||||
Add-Type -AssemblyName PresentationFramework
|
Add-Type -AssemblyName PresentationFramework
|
||||||
|
|
||||||
# Define theme colors
|
# Define theme colors
|
||||||
$foregroundColor = $sync.configs.themes.$ctttheme.MainForegroundColor
|
$foregroundColor = $sync.Form.Resources.MainForegroundColor
|
||||||
$backgroundColor = $sync.configs.themes.$ctttheme.MainBackgroundColor
|
$backgroundColor = $sync.Form.Resources.MainBackgroundColor
|
||||||
$font = New-Object Windows.Media.FontFamily("Consolas")
|
$font = New-Object Windows.Media.FontFamily("Consolas")
|
||||||
$borderColor = $sync.configs.themes.$ctttheme.BorderColor # ButtonInstallBackgroundColor
|
$borderColor = $sync.Form.Resources.BorderColor # ButtonInstallBackgroundColor
|
||||||
$buttonBackgroundColor = $sync.configs.themes.$ctttheme.ButtonInstallBackgroundColor
|
$buttonBackgroundColor = $sync.Form.Resources.ButtonInstallBackgroundColor
|
||||||
$buttonForegroundColor = $sync.configs.themes.$ctttheme.ButtonInstallForegroundColor
|
$buttonForegroundColor = $sync.Form.Resources.ButtonInstallForegroundColor
|
||||||
$shadowColor = [Windows.Media.ColorConverter]::ConvertFromString("#AAAAAAAA")
|
$shadowColor = [Windows.Media.ColorConverter]::ConvertFromString("#AAAAAAAA")
|
||||||
$logocolor = $sync.configs.themes.$ctttheme.LabelboxForegroundColor
|
$logocolor = $sync.Form.Resources.LabelboxForegroundColor
|
||||||
|
|
||||||
# Create a custom dialog window
|
# Create a custom dialog window
|
||||||
$dialog = New-Object Windows.Window
|
$dialog = New-Object Windows.Window
|
||||||
@ -162,7 +162,7 @@ function Show-CustomDialog {
|
|||||||
$hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value)
|
$hyperlink.NavigateUri = New-Object System.Uri($match.Groups[1].Value)
|
||||||
$hyperlink.Inlines.Add($match.Groups[2].Value)
|
$hyperlink.Inlines.Add($match.Groups[2].Value)
|
||||||
$hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline
|
$hyperlink.TextDecorations = [Windows.TextDecorations]::None # Remove underline
|
||||||
$hyperlink.Foreground = $sync.configs.themes.$ctttheme.LinkForegroundColor
|
$hyperlink.Foreground = $sync.Form.Resources.LinkForegroundColor
|
||||||
|
|
||||||
$hyperlink.Add_Click({
|
$hyperlink.Add_Click({
|
||||||
param($sender, $args)
|
param($sender, $args)
|
||||||
@ -170,11 +170,11 @@ function Show-CustomDialog {
|
|||||||
})
|
})
|
||||||
$hyperlink.Add_MouseEnter({
|
$hyperlink.Add_MouseEnter({
|
||||||
param($sender, $args)
|
param($sender, $args)
|
||||||
$sender.Foreground = $sync.configs.themes.$ctttheme.LinkHoverForegroundColor
|
$sender.Foreground = $sync.Form.Resources.LinkHoverForegroundColor
|
||||||
})
|
})
|
||||||
$hyperlink.Add_MouseLeave({
|
$hyperlink.Add_MouseLeave({
|
||||||
param($sender, $args)
|
param($sender, $args)
|
||||||
$sender.Foreground = $sync.configs.themes.$ctttheme.LinkForegroundColor
|
$sender.Foreground = $sync.Form.Resources.LinkForegroundColor
|
||||||
})
|
})
|
||||||
|
|
||||||
$messageTextBlock.Inlines.Add($hyperlink)
|
$messageTextBlock.Inlines.Add($hyperlink)
|
||||||
|
@ -19,7 +19,6 @@ function Invoke-WPFButton {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Switch -Wildcard ($Button) {
|
Switch -Wildcard ($Button) {
|
||||||
|
|
||||||
"WPFTab?BT" {Invoke-WPFTab $Button}
|
"WPFTab?BT" {Invoke-WPFTab $Button}
|
||||||
"WPFInstall" {Invoke-WPFInstall}
|
"WPFInstall" {Invoke-WPFInstall}
|
||||||
"WPFUninstall" {Invoke-WPFUnInstall}
|
"WPFUninstall" {Invoke-WPFUnInstall}
|
||||||
|
@ -27,7 +27,7 @@ function Invoke-WPFUIElements {
|
|||||||
|
|
||||||
$window = $sync["Form"]
|
$window = $sync["Form"]
|
||||||
|
|
||||||
$theme = $sync.configs.themes.$ctttheme
|
$theme = $sync.Form.Resources
|
||||||
$borderstyle = $window.FindResource("BorderStyle")
|
$borderstyle = $window.FindResource("BorderStyle")
|
||||||
$HoverTextBlockStyle = $window.FindResource("HoverTextBlockStyle")
|
$HoverTextBlockStyle = $window.FindResource("HoverTextBlockStyle")
|
||||||
$ColorfulToggleSwitchStyle = $window.FindResource("ColorfulToggleSwitchStyle")
|
$ColorfulToggleSwitchStyle = $window.FindResource("ColorfulToggleSwitchStyle")
|
||||||
@ -186,7 +186,7 @@ function Invoke-WPFUIElements {
|
|||||||
$label.ToolTip = $entryInfo.Description
|
$label.ToolTip = $entryInfo.Description
|
||||||
$label.HorizontalAlignment = "Left"
|
$label.HorizontalAlignment = "Left"
|
||||||
$label.FontSize = $theme.FontSize
|
$label.FontSize = $theme.FontSize
|
||||||
$label.Foreground = $theme.MainForegroundColor
|
$label.SetResourceReference([Windows.Controls.Control]::ForegroundProperty, "MainForegroundColor")
|
||||||
$dockPanel.Children.Add($label) | Out-Null
|
$dockPanel.Children.Add($label) | Out-Null
|
||||||
$stackPanel.Children.Add($dockPanel) | Out-Null
|
$stackPanel.Children.Add($dockPanel) | Out-Null
|
||||||
|
|
||||||
@ -207,14 +207,14 @@ function Invoke-WPFUIElements {
|
|||||||
$toggleButton.HorizontalAlignment = "Left"
|
$toggleButton.HorizontalAlignment = "Left"
|
||||||
$toggleButton.Height = $theme.TabButtonHeight
|
$toggleButton.Height = $theme.TabButtonHeight
|
||||||
$toggleButton.Width = $theme.TabButtonWidth
|
$toggleButton.Width = $theme.TabButtonWidth
|
||||||
$toggleButton.Background = $theme.ButtonInstallBackgroundColor
|
$toggleButton.SetResourceReference([Windows.Controls.Control]::BackgroundProperty, "ButtonInstallBackgroundColor")
|
||||||
$toggleButton.Foreground = [Windows.Media.Brushes]::White
|
$toggleButton.SetResourceReference([Windows.Controls.Control]::ForegroundProperty, "MainForegroundColor")
|
||||||
$toggleButton.FontWeight = [Windows.FontWeights]::Bold
|
$toggleButton.FontWeight = [Windows.FontWeights]::Bold
|
||||||
|
|
||||||
$textBlock = New-Object Windows.Controls.TextBlock
|
$textBlock = New-Object Windows.Controls.TextBlock
|
||||||
$textBlock.FontSize = $theme.TabButtonFontSize
|
$textBlock.FontSize = $theme.TabButtonFontSize
|
||||||
$textBlock.Background = [Windows.Media.Brushes]::Transparent
|
$textBlock.Background = [Windows.Media.Brushes]::Transparent
|
||||||
$textBlock.Foreground = $theme.ButtonInstallForegroundColor
|
$textBlock.SetResourceReference([Windows.Controls.Control]::ForegroundProperty, "ButtonInstallForegroundColor")
|
||||||
|
|
||||||
$underline = New-Object Windows.Documents.Underline
|
$underline = New-Object Windows.Documents.Underline
|
||||||
$underline.Inlines.Add($entryInfo.name -replace "(.).*", "`$1")
|
$underline.Inlines.Add($entryInfo.name -replace "(.).*", "`$1")
|
||||||
|
@ -52,29 +52,6 @@ $sync.runspace.Open()
|
|||||||
|
|
||||||
$inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window'
|
$inputXML = $inputXML -replace 'mc:Ignorable="d"', '' -replace "x:N", 'N' -replace '^<Win.*', '<Window'
|
||||||
|
|
||||||
$defaulttheme = '_default'
|
|
||||||
if ((Get-WinUtilToggleStatus WPFToggleDarkMode) -eq $True) {
|
|
||||||
if (Invoke-WinUtilGPU -eq $True) {
|
|
||||||
$ctttheme = 'Matrix'
|
|
||||||
} else {
|
|
||||||
$ctttheme = 'Dark'
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$ctttheme = 'Classic'
|
|
||||||
}
|
|
||||||
|
|
||||||
$returnVal = Set-WinUtilUITheme -inputXML $inputXML -customThemeName $ctttheme -defaultThemeName $defaulttheme
|
|
||||||
if ($returnVal[0] -eq "") {
|
|
||||||
Write-Host "Failed to statically apply theming to xaml content using Set-WinUtilTheme, please check previous Error/Warning messages." -ForegroundColor Red
|
|
||||||
Write-Host "Quitting winutil..." -ForegroundColor Red
|
|
||||||
$sync.runspace.Dispose()
|
|
||||||
$sync.runspace.Close()
|
|
||||||
[System.GC]::Collect()
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
$inputXML = $returnVal[0]
|
|
||||||
$ctttheme = $returnVal[1]
|
|
||||||
|
|
||||||
[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
|
[void][System.Reflection.Assembly]::LoadWithPartialName('presentationframework')
|
||||||
[xml]$XAML = $inputXML
|
[xml]$XAML = $inputXML
|
||||||
|
|
||||||
@ -103,7 +80,7 @@ if (-NOT ($readerOperationSuccessful)) {
|
|||||||
[System.GC]::Collect()
|
[System.GC]::Collect()
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
Invoke-WinutilThemeChange -init $true
|
||||||
# Load the configuration files
|
# Load the configuration files
|
||||||
#Invoke-WPFUIElements -configVariable $sync.configs.nav -targetGridName "WPFMainGrid"
|
#Invoke-WPFUIElements -configVariable $sync.configs.nav -targetGridName "WPFMainGrid"
|
||||||
Invoke-WPFUIElements -configVariable $sync.configs.applications -targetGridName "appspanel" -columncount 5
|
Invoke-WPFUIElements -configVariable $sync.configs.applications -targetGridName "appspanel" -columncount 5
|
||||||
@ -248,8 +225,11 @@ $commonKeyEvents = {
|
|||||||
$sync["Form"].Add_PreViewKeyDown($commonKeyEvents)
|
$sync["Form"].Add_PreViewKeyDown($commonKeyEvents)
|
||||||
|
|
||||||
$sync["Form"].Add_MouseLeftButtonDown({
|
$sync["Form"].Add_MouseLeftButtonDown({
|
||||||
if ($sync["SettingsPopup"].IsOpen) {
|
# Hide Settings and Theme Popup on click anywhere else
|
||||||
$sync["SettingsPopup"].IsOpen = $false
|
if ($sync.SettingsButton.IsOpen -or
|
||||||
|
$sync.ThemePopup.IsOpen){
|
||||||
|
$sync.SettingsPopup.IsOpen = $false
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
}
|
}
|
||||||
$sync["Form"].DragMove()
|
$sync["Form"].DragMove()
|
||||||
})
|
})
|
||||||
@ -268,8 +248,11 @@ $sync["Form"].Add_MouseDoubleClick({
|
|||||||
|
|
||||||
$sync["Form"].Add_Deactivated({
|
$sync["Form"].Add_Deactivated({
|
||||||
Write-Debug "WinUtil lost focus"
|
Write-Debug "WinUtil lost focus"
|
||||||
if ($sync["SettingsPopup"].IsOpen) {
|
# Hide Settings and Theme Popup on Winutil Focus Loss
|
||||||
$sync["SettingsPopup"].IsOpen = $false
|
if ($sync.SettingsButton.IsOpen -or
|
||||||
|
$sync.ThemePopup.IsOpen){
|
||||||
|
$sync.SettingsPopup.IsOpen = $false
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -482,15 +465,47 @@ Set-WinUtilTaskbaritem -overlay "logo"
|
|||||||
$sync["Form"].Add_Activated({
|
$sync["Form"].Add_Activated({
|
||||||
Set-WinUtilTaskbaritem -overlay "logo"
|
Set-WinUtilTaskbaritem -overlay "logo"
|
||||||
})
|
})
|
||||||
|
# Define event handler for ThemeButton click
|
||||||
|
$sync["ThemeButton"].Add_Click({
|
||||||
|
if ($sync.ThemePopup.IsOpen){
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$sync.ThemePopup.IsOpen = $true
|
||||||
|
}
|
||||||
|
$sync.SettingsPopup.IsOpen = $false
|
||||||
|
})
|
||||||
|
|
||||||
|
# Define event handlers for menu items
|
||||||
|
$sync["AutoThemeMenuItem"].Add_Click({
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
|
Invoke-WinutilThemeChange -theme "Auto"
|
||||||
|
$_.Handled = $false
|
||||||
|
})
|
||||||
|
# Define event handlers for menu items
|
||||||
|
$sync["DarkThemeMenuItem"].Add_Click({
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
|
Invoke-WinutilThemeChange -theme "Dark"
|
||||||
|
$_.Handled = $false
|
||||||
|
})
|
||||||
|
# Define event handlers for menu items
|
||||||
|
$sync["LightThemeMenuItem"].Add_Click({
|
||||||
|
$sync.ThemePopup.IsOpen = $false
|
||||||
|
Invoke-WinutilThemeChange -theme "Light"
|
||||||
|
$_.Handled = $false
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
# Define event handler for button click
|
# Define event handler for button click
|
||||||
$sync["SettingsButton"].Add_Click({
|
$sync["SettingsButton"].Add_Click({
|
||||||
Write-Debug "SettingsButton clicked"
|
Write-Debug "SettingsButton clicked"
|
||||||
if ($sync["SettingsPopup"].IsOpen) {
|
if ($sync.Settings.IsOpen){
|
||||||
$sync["SettingsPopup"].IsOpen = $false
|
$sync.Settings.IsOpen = $false
|
||||||
} else {
|
|
||||||
$sync["SettingsPopup"].IsOpen = $true
|
|
||||||
}
|
}
|
||||||
|
else{
|
||||||
|
$sync.Settings.IsOpen = $true
|
||||||
|
}
|
||||||
|
$sync.Settings.IsOpen = $false
|
||||||
$_.Handled = $false
|
$_.Handled = $false
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -522,12 +537,8 @@ MicroWin : <a href="https://github.com/KonTy">@KonTy</a>
|
|||||||
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
|
GitHub : <a href="https://github.com/ChrisTitusTech/winutil">ChrisTitusTech/winutil</a>
|
||||||
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
|
Version : <a href="https://github.com/ChrisTitusTech/winutil/releases/tag/$($sync.version)">$($sync.version)</a>
|
||||||
"@
|
"@
|
||||||
$FontSize = $sync.configs.themes.$ctttheme.CustomDialogFontSize
|
|
||||||
$HeaderFontSize = $sync.configs.themes.$ctttheme.CustomDialogFontSizeHeader
|
Show-CustomDialog -Message $authorInfo -LogoSize $LogoSize
|
||||||
$LogoSize = $sync.configs.themes.$ctttheme.CustomDialogLogoSize
|
|
||||||
$Width = $sync.configs.themes.$ctttheme.CustomDialogWidth
|
|
||||||
$Height = $sync.configs.themes.$ctttheme.CustomDialogHeight
|
|
||||||
Show-CustomDialog -Message $authorInfo -Width $Width -Height $Height -FontSize $FontSize -HeaderFontSize $HeaderFontSize -LogoSize $LogoSize
|
|
||||||
})
|
})
|
||||||
|
|
||||||
$sync["SponsorMenuItem"].Add_Click({
|
$sync["SponsorMenuItem"].Add_Click({
|
||||||
@ -548,12 +559,8 @@ $sync["SponsorMenuItem"].Add_Click({
|
|||||||
$authorInfo += "An error occurred while fetching or processing the sponsors: $_`n"
|
$authorInfo += "An error occurred while fetching or processing the sponsors: $_`n"
|
||||||
}
|
}
|
||||||
|
|
||||||
$FontSize = $sync.configs.themes.$ctttheme.CustomDialogFontSize
|
Show-CustomDialog -Message $authorInfo -EnableScroll $true
|
||||||
$HeaderFontSize = $sync.configs.themes.$ctttheme.CustomDialogFontSizeHeader
|
|
||||||
$LogoSize = $sync.configs.themes.$ctttheme.CustomDialogLogoSize
|
|
||||||
$Width = $sync.configs.themes.$ctttheme.CustomDialogWidth
|
|
||||||
$Height = $sync.configs.themes.$ctttheme.CustomDialogHeight
|
|
||||||
Show-CustomDialog -Message $authorInfo -Width $Width -Height $Height -FontSize $FontSize -HeaderFontSize $HeaderFontSize -LogoSize $LogoSize -EnableScroll $true
|
|
||||||
})
|
})
|
||||||
|
|
||||||
$sync["Form"].ShowDialog() | out-null
|
$sync["Form"].ShowDialog() | out-null
|
||||||
Stop-Transcript
|
Stop-Transcript
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:WinUtility"
|
xmlns:local="clr-namespace:WinUtility"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Background="{MainBackgroundColor}"
|
|
||||||
WindowStartupLocation="CenterScreen"
|
WindowStartupLocation="CenterScreen"
|
||||||
UseLayoutRounding="True"
|
UseLayoutRounding="True"
|
||||||
WindowStyle="None"
|
WindowStyle="None"
|
||||||
@ -39,11 +38,11 @@
|
|||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style TargetType="TextBlock" x:Key="HoverTextBlockStyle">
|
<Style TargetType="TextBlock" x:Key="HoverTextBlockStyle">
|
||||||
<Setter Property="Foreground" Value="{LinkForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource LinkForegroundColor}" />
|
||||||
<Setter Property="TextDecorations" Value="Underline" />
|
<Setter Property="TextDecorations" Value="Underline" />
|
||||||
<Style.Triggers>
|
<Style.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter Property="Foreground" Value="{LinkHoverForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource LinkHoverForegroundColor}" />
|
||||||
<Setter Property="TextDecorations" Value="Underline" />
|
<Setter Property="TextDecorations" Value="Underline" />
|
||||||
<Setter Property="Cursor" Value="Hand" />
|
<Setter Property="Cursor" Value="Hand" />
|
||||||
</Trigger>
|
</Trigger>
|
||||||
@ -51,11 +50,11 @@
|
|||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style TargetType="Button" x:Key="HoverButtonStyle">
|
<Style TargetType="Button" x:Key="HoverButtonStyle">
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}" />
|
||||||
<Setter Property="FontWeight" Value="Normal" />
|
<Setter Property="FontWeight" Value="Normal" />
|
||||||
<Setter Property="FontSize" Value="{ButtonFontSize}" />
|
<Setter Property="FontSize" Value="{DynamicResource ButtonFontSize}" />
|
||||||
<Setter Property="TextElement.FontFamily" Value="{ButtonFontFamily}"/>
|
<Setter Property="TextElement.FontFamily" Value="{DynamicResource ButtonFontFamily}"/>
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}" />
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="Button">
|
<ControlTemplate TargetType="Button">
|
||||||
@ -65,7 +64,7 @@
|
|||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter Property="FontWeight" Value="Bold" />
|
<Setter Property="FontWeight" Value="Bold" />
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}" />
|
||||||
<Setter Property="Cursor" Value="Hand" />
|
<Setter Property="Cursor" Value="Hand" />
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
@ -77,8 +76,8 @@
|
|||||||
<!--ScrollBars-->
|
<!--ScrollBars-->
|
||||||
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
|
<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
|
||||||
<Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
<Setter Property="Stylus.IsFlicksEnabled" Value="false" />
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}" />
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}" />
|
||||||
<Setter Property="Width" Value="6" />
|
<Setter Property="Width" Value="6" />
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
@ -103,10 +102,10 @@
|
|||||||
|
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
|
<Trigger SourceName="Thumb" Property="IsMouseOver" Value="true">
|
||||||
<Setter Value="{ButtonBackgroundMouseoverColor}" TargetName="Thumb" Property="Background" />
|
<Setter Value="{DynamicResource ButtonBackgroundMouseoverColor}" TargetName="Thumb" Property="Background" />
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
|
<Trigger SourceName="Thumb" Property="IsDragging" Value="true">
|
||||||
<Setter Value="{ButtonBackgroundSelectedColor}" TargetName="Thumb" Property="Background" />
|
<Setter Value="{DynamicResource ButtonBackgroundSelectedColor}" TargetName="Thumb" Property="Background" />
|
||||||
</Trigger>
|
</Trigger>
|
||||||
|
|
||||||
<Trigger Property="IsEnabled" Value="false">
|
<Trigger Property="IsEnabled" Value="false">
|
||||||
@ -135,8 +134,8 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style TargetType="ComboBox">
|
<Style TargetType="ComboBox">
|
||||||
<Setter Property="Foreground" Value="{ComboBoxForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource ComboBoxForegroundColor}" />
|
||||||
<Setter Property="Background" Value="{ComboBoxBackgroundColor}" />
|
<Setter Property="Background" Value="{DynamicResource ComboBoxBackgroundColor}" />
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="ComboBox">
|
<ControlTemplate TargetType="ComboBox">
|
||||||
@ -175,35 +174,37 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style TargetType="Label">
|
<Style TargetType="Label">
|
||||||
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource LabelboxForegroundColor}"/>
|
||||||
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource LabelBackgroundColor}"/>
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<!-- TextBlock template -->
|
<!-- TextBlock template -->
|
||||||
<Style TargetType="TextBlock">
|
<Style TargetType="TextBlock">
|
||||||
<Setter Property="FontSize" Value="{FontSize}"/>
|
<Setter Property="FontSize" Value="{DynamicResource FontSize}"/>
|
||||||
<Setter Property="Foreground" Value="{LabelboxForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource LabelboxForegroundColor}"/>
|
||||||
<Setter Property="Background" Value="{LabelBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource LabelBackgroundColor}"/>
|
||||||
</Style>
|
</Style>
|
||||||
<!-- Toggle button template x:Key="TabToggleButton" -->
|
<!-- Toggle button template x:Key="TabToggleButton" -->
|
||||||
<Style TargetType="{x:Type ToggleButton}">
|
<Style TargetType="{x:Type ToggleButton}">
|
||||||
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
<Setter Property="Margin" Value="{DynamicResource ButtonMargin}"/>
|
||||||
<Setter Property="Content" Value=""/>
|
<Setter Property="Content" Value=""/>
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="ToggleButton">
|
<ControlTemplate TargetType="ToggleButton">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Border x:Name="ButtonGlow"
|
<Border x:Name="ButtonGlow"
|
||||||
Background="{TemplateBinding Background}"
|
Background="{TemplateBinding Background}"
|
||||||
BorderBrush="{ButtonForegroundColor}"
|
BorderBrush="{DynamicResource ButtonForegroundColor}"
|
||||||
BorderThickness="{ButtonBorderThickness}"
|
BorderThickness="{DynamicResource ButtonBorderThickness}"
|
||||||
CornerRadius="{ButtonCornerRadius}">
|
CornerRadius="{DynamicResource ButtonCornerRadius}">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Border x:Name="BackgroundBorder"
|
<Border x:Name="BackgroundBorder"
|
||||||
Background="{TemplateBinding Background}"
|
Background="{TemplateBinding Background}"
|
||||||
BorderBrush="{ButtonBackgroundColor}"
|
BorderBrush="{DynamicResource ButtonBackgroundColor}"
|
||||||
BorderThickness="{ButtonBorderThickness}"
|
BorderThickness="{DynamicResource ButtonBorderThickness}"
|
||||||
CornerRadius="{ButtonCornerRadius}">
|
CornerRadius="{DynamicResource ButtonCornerRadius}">
|
||||||
<ContentPresenter
|
<ContentPresenter
|
||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
@ -214,10 +215,10 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{DynamicResource ButtonBackgroundMouseoverColor}"/>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Effect">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DropShadowEffect Opacity="1" ShadowDepth="5" Color="{ButtonBackgroundMouseoverColor}" Direction="-100" BlurRadius="15"/>
|
<DropShadowEffect Opacity="1" ShadowDepth="5" Color="{DynamicResource CButtonBackgroundMouseoverColor}" Direction="-100" BlurRadius="15"/>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
<Setter Property="Panel.ZIndex" Value="2000"/>
|
<Setter Property="Panel.ZIndex" Value="2000"/>
|
||||||
@ -225,16 +226,16 @@
|
|||||||
<Trigger Property="IsChecked" Value="True">
|
<Trigger Property="IsChecked" Value="True">
|
||||||
<Setter Property="BorderBrush" Value="Pink"/>
|
<Setter Property="BorderBrush" Value="Pink"/>
|
||||||
<Setter Property="BorderThickness" Value="2"/>
|
<Setter Property="BorderThickness" Value="2"/>
|
||||||
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{DynamicResource ButtonBackgroundSelectedColor}"/>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Effect">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DropShadowEffect Opacity="1" ShadowDepth="2" Color="{ButtonBackgroundMouseoverColor}" Direction="-111" BlurRadius="10"/>
|
<DropShadowEffect Opacity="1" ShadowDepth="2" Color="{DynamicResource CButtonBackgroundMouseoverColor}" Direction="-111" BlurRadius="10"/>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger Property="IsChecked" Value="False">
|
<Trigger Property="IsChecked" Value="False">
|
||||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||||
<Setter Property="BorderThickness" Value="{ButtonBorderThickness}"/>
|
<Setter Property="BorderThickness" Value="{DynamicResource ButtonBorderThickness}"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
@ -243,12 +244,13 @@
|
|||||||
</Style>
|
</Style>
|
||||||
<!-- Button Template -->
|
<!-- Button Template -->
|
||||||
<Style TargetType="Button">
|
<Style TargetType="Button">
|
||||||
<Setter Property="Margin" Value="{ButtonMargin}"/>
|
<Setter Property="Margin" Value="{DynamicResource ButtonMargin}"/>
|
||||||
<Setter Property="Foreground" Value="{ButtonForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource ButtonForegroundColor}"/>
|
||||||
<Setter Property="Background" Value="{ButtonBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource ButtonBackgroundColor}"/>
|
||||||
<Setter Property="Height" Value="{ButtonHeight}"/>
|
<Setter Property="Height" Value="{DynamicResource ButtonHeight}"/>
|
||||||
<Setter Property="Width" Value="{ButtonWidth}"/>
|
<Setter Property="Width" Value="{DynamicResource ButtonWidth}"/>
|
||||||
<Setter Property="FontSize" Value="{ButtonFontSize}"/>
|
<Setter Property="FontSize" Value="{DynamicResource ButtonFontSize}"/>
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="Button">
|
<ControlTemplate TargetType="Button">
|
||||||
@ -256,20 +258,20 @@
|
|||||||
<Border x:Name="BackgroundBorder"
|
<Border x:Name="BackgroundBorder"
|
||||||
Background="{TemplateBinding Background}"
|
Background="{TemplateBinding Background}"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
BorderThickness="{ButtonBorderThickness}"
|
BorderThickness="{DynamicResource ButtonBorderThickness}"
|
||||||
CornerRadius="{ButtonCornerRadius}">
|
CornerRadius="{DynamicResource ButtonCornerRadius}">
|
||||||
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,2,10,2"/>
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" Margin="10,2,10,2"/>
|
||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsPressed" Value="True">
|
<Trigger Property="IsPressed" Value="True">
|
||||||
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundPressedColor}"/>
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{DynamicResource ButtonBackgroundPressedColor}"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundMouseoverColor}"/>
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{DynamicResource ButtonBackgroundMouseoverColor}"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger Property="IsEnabled" Value="False">
|
<Trigger Property="IsEnabled" Value="False">
|
||||||
<Setter TargetName="BackgroundBorder" Property="Background" Value="{ButtonBackgroundSelectedColor}"/>
|
<Setter TargetName="BackgroundBorder" Property="Background" Value="{DynamicResource ButtonBackgroundSelectedColor}"/>
|
||||||
<Setter Property="Foreground" Value="DimGray"/>
|
<Setter Property="Foreground" Value="DimGray"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
@ -278,13 +280,13 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style x:Key="SearchBarClearButtonStyle" TargetType="Button">
|
<Style x:Key="SearchBarClearButtonStyle" TargetType="Button">
|
||||||
<Setter Property="FontFamily" Value="Arial"/>
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="FontSize" Value="{SearchBarClearButtonFontSize}"/>
|
<Setter Property="FontSize" Value="{DynamicResource SearchBarClearButtonFontSize}"/>
|
||||||
<Setter Property="Content" Value="X"/>
|
<Setter Property="Content" Value="X"/>
|
||||||
<Setter Property="Height" Value="{SearchBarClearButtonFontSize}"/>
|
<Setter Property="Height" Value="{DynamicResource SearchBarClearButtonFontSize}"/>
|
||||||
<Setter Property="Width" Value="{SearchBarClearButtonFontSize}"/>
|
<Setter Property="Width" Value="{DynamicResource SearchBarClearButtonFontSize}"/>
|
||||||
<Setter Property="Background" Value="Transparent"/>
|
<Setter Property="Background" Value="Transparent"/>
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="Padding" Value="0"/>
|
<Setter Property="Padding" Value="0"/>
|
||||||
<Setter Property="BorderBrush" Value="Transparent"/>
|
<Setter Property="BorderBrush" Value="Transparent"/>
|
||||||
<Setter Property="BorderThickness" Value="0"/>
|
<Setter Property="BorderThickness" Value="0"/>
|
||||||
@ -299,27 +301,28 @@
|
|||||||
</Style>
|
</Style>
|
||||||
<!-- Checkbox template -->
|
<!-- Checkbox template -->
|
||||||
<Style TargetType="CheckBox">
|
<Style TargetType="CheckBox">
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}"/>
|
||||||
<Setter Property="FontSize" Value="{FontSize}" />
|
<Setter Property="FontSize" Value="{DynamicResource FontSize}" />
|
||||||
<Setter Property="TextElement.FontFamily" Value="{FontFamily}"/>
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
|
<Setter Property="TextElement.FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="Template">
|
<Setter Property="Template">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<ControlTemplate TargetType="CheckBox">
|
<ControlTemplate TargetType="CheckBox">
|
||||||
<Grid Background="{TemplateBinding Background}" Margin="{CheckBoxMargin}">
|
<Grid Background="{TemplateBinding Background}" Margin="{DynamicResource CheckBoxMargin}">
|
||||||
<BulletDecorator Background="Transparent">
|
<BulletDecorator Background="Transparent">
|
||||||
<BulletDecorator.Bullet>
|
<BulletDecorator.Bullet>
|
||||||
<Grid Width="{CheckBoxBulletDecoratorSize}" Height="{CheckBoxBulletDecoratorSize}">
|
<Grid Width="{DynamicResource CheckBoxBulletDecoratorSize}" Height="{DynamicResource CheckBoxBulletDecoratorSize}">
|
||||||
<Border x:Name="Border"
|
<Border x:Name="Border"
|
||||||
BorderBrush="{TemplateBinding BorderBrush}"
|
BorderBrush="{TemplateBinding BorderBrush}"
|
||||||
Background="{ButtonBackgroundColor}"
|
Background="{DynamicResource ButtonBackgroundColor}"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Width="{Binding Path={CheckBoxBulletDecoratorSize}-2}"
|
Width="{DynamicResource CheckBoxBulletDecoratorSize *0.85}"
|
||||||
Height="{Binding Path={CheckBoxBulletDecoratorSize}-2}"
|
Height="{DynamicResource CheckBoxBulletDecoratorSize *0.85}"
|
||||||
Margin="2"
|
Margin="2"
|
||||||
SnapsToDevicePixels="True"/>
|
SnapsToDevicePixels="True"/>
|
||||||
<Path x:Name="CheckMark"
|
<Path x:Name="CheckMark"
|
||||||
Stroke="{ToggleButtonOnColor}"
|
Stroke="{DynamicResource ToggleButtonOnColor}"
|
||||||
StrokeThickness="2"
|
StrokeThickness="2"
|
||||||
Data="M 0 5 L 5 10 L 12 0"
|
Data="M 0 5 L 5 10 L 12 0"
|
||||||
Visibility="Collapsed"/>
|
Visibility="Collapsed"/>
|
||||||
@ -336,8 +339,8 @@
|
|||||||
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
<Setter TargetName="CheckMark" Property="Visibility" Value="Visible"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<!--Setter TargetName="Border" Property="Background" Value="{ButtonBackgroundPressedColor}"/-->
|
<!--Setter TargetName="Border" Property="Background" Value="{DynamicResource ButtonBackgroundPressedColor}"/-->
|
||||||
<Setter Property="Foreground" Value="{ButtonBackgroundPressedColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource ButtonBackgroundPressedColor}"/>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
</ControlTemplate.Triggers>
|
</ControlTemplate.Triggers>
|
||||||
</ControlTemplate>
|
</ControlTemplate>
|
||||||
@ -429,7 +432,7 @@
|
|||||||
<Border Grid.Column="1" x:Name="Border" CornerRadius="8"
|
<Border Grid.Column="1" x:Name="Border" CornerRadius="8"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Width="34" Height="17">
|
Width="34" Height="17">
|
||||||
<Ellipse x:Name="Ellipse" Fill="{MainForegroundColor}" Stretch="Uniform"
|
<Ellipse x:Name="Ellipse" Fill="{DynamicResource MainForegroundColor}" Stretch="Uniform"
|
||||||
Margin="2,2,2,1"
|
Margin="2,2,2,1"
|
||||||
HorizontalAlignment="Left" Width="10.8"
|
HorizontalAlignment="Left" Width="10.8"
|
||||||
RenderTransformOrigin="0.5, 0.5">
|
RenderTransformOrigin="0.5, 0.5">
|
||||||
@ -442,8 +445,8 @@
|
|||||||
|
|
||||||
<ControlTemplate.Triggers>
|
<ControlTemplate.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource MainForegroundColor}" />
|
||||||
<Setter TargetName="Border" Property="Background" Value="{LinkHoverForegroundColor}"/>
|
<Setter TargetName="Border" Property="Background" Value="{DynamicResource LinkHoverForegroundColor}"/>
|
||||||
<Setter Property="Cursor" Value="Hand" />
|
<Setter Property="Cursor" Value="Hand" />
|
||||||
<Setter Property="Panel.ZIndex" Value="1000"/>
|
<Setter Property="Panel.ZIndex" Value="1000"/>
|
||||||
<Trigger.EnterActions>
|
<Trigger.EnterActions>
|
||||||
@ -472,29 +475,19 @@
|
|||||||
</Trigger.ExitActions>
|
</Trigger.ExitActions>
|
||||||
</Trigger>
|
</Trigger>
|
||||||
<Trigger Property="ToggleButton.IsChecked" Value="False">
|
<Trigger Property="ToggleButton.IsChecked" Value="False">
|
||||||
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MainBackgroundColor}" />
|
||||||
<Setter TargetName="Border" Property="BorderBrush" Value="#707070" />
|
<Setter TargetName="Border" Property="BorderBrush" Value="#707070" />
|
||||||
<Setter TargetName="Ellipse" Property="Fill" Value="#707070" />
|
<Setter TargetName="Ellipse" Property="Fill" Value="#707070" />
|
||||||
</Trigger>
|
</Trigger>
|
||||||
|
|
||||||
<Trigger Property="ToggleButton.IsChecked" Value="True">
|
<Trigger Property="ToggleButton.IsChecked" Value="True">
|
||||||
<Setter TargetName="Border" Property="Background" Value="{MainBackgroundColor}" />
|
<Setter TargetName="Border" Property="Background" Value="{DynamicResource ToggleButtonOnColor}" />
|
||||||
<Setter TargetName="Border" Property="BorderBrush" Value="{MainForegroundColor}" />
|
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource ToggleButtonOnColor}" />
|
||||||
<Setter TargetName="Ellipse" Property="Fill" Value="{MainForegroundColor}" />
|
<Setter TargetName="Ellipse" Property="Fill" Value="White" />
|
||||||
|
|
||||||
<Trigger.EnterActions>
|
<Trigger.EnterActions>
|
||||||
<BeginStoryboard>
|
<BeginStoryboard>
|
||||||
<Storyboard>
|
<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"
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
||||||
Storyboard.TargetProperty="Margin"
|
Storyboard.TargetProperty="Margin"
|
||||||
To="18,2,2,2" Duration="0:0:0.1" />
|
To="18,2,2,2" Duration="0:0:0.1" />
|
||||||
@ -504,14 +497,9 @@
|
|||||||
<Trigger.ExitActions>
|
<Trigger.ExitActions>
|
||||||
<BeginStoryboard>
|
<BeginStoryboard>
|
||||||
<Storyboard>
|
<Storyboard>
|
||||||
<ColorAnimation Storyboard.TargetName="Border"
|
|
||||||
Storyboard.TargetProperty="(Border.Background).(SolidColorBrush.Color)"
|
|
||||||
To="{MainBackgroundColor}" Duration="0:0:0.1" />
|
|
||||||
|
|
||||||
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
<ThicknessAnimation Storyboard.TargetName="Ellipse"
|
||||||
Storyboard.TargetProperty="Margin"
|
Storyboard.TargetProperty="Margin"
|
||||||
To="2,2,2,1" Duration="0:0:0.1" />
|
To="2,2,2,1" Duration="0:0:0.1" />
|
||||||
|
|
||||||
</Storyboard>
|
</Storyboard>
|
||||||
</BeginStoryboard>
|
</BeginStoryboard>
|
||||||
</Trigger.ExitActions>
|
</Trigger.ExitActions>
|
||||||
@ -524,8 +512,9 @@
|
|||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style x:Key="labelfortweaks" TargetType="{x:Type Label}">
|
<Style x:Key="labelfortweaks" TargetType="{x:Type Label}">
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}" />
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}" />
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}" />
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}" />
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Style.Triggers>
|
<Style.Triggers>
|
||||||
<Trigger Property="IsMouseOver" Value="True">
|
<Trigger Property="IsMouseOver" Value="True">
|
||||||
<Setter Property="Foreground" Value="White" />
|
<Setter Property="Foreground" Value="White" />
|
||||||
@ -534,45 +523,26 @@
|
|||||||
</Style>
|
</Style>
|
||||||
|
|
||||||
<Style x:Key="BorderStyle" TargetType="Border">
|
<Style x:Key="BorderStyle" TargetType="Border">
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}"/>
|
||||||
<Setter Property="BorderBrush" Value="{BorderColor}"/>
|
<Setter Property="BorderBrush" Value="{DynamicResource BorderColor}"/>
|
||||||
<Setter Property="BorderThickness" Value="1"/>
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
<Setter Property="CornerRadius" Value="5"/>
|
<Setter Property="CornerRadius" Value="5"/>
|
||||||
<Setter Property="Padding" Value="5"/>
|
<Setter Property="Padding" Value="5"/>
|
||||||
<Setter Property="Margin" Value="5"/>
|
<Setter Property="Margin" Value="5"/>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Effect">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{DynamicResource BorderOpacity}" Color="{DynamicResource CBorderColor}"/>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</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>
|
||||||
|
|
||||||
<Style TargetType="TextBox">
|
<Style TargetType="TextBox">
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}"/>
|
||||||
<Setter Property="BorderBrush" Value="{MainForegroundColor}"/>
|
<Setter Property="BorderBrush" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="BorderThickness" Value="1"/>
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="FontSize" Value="{FontSize}"/>
|
<Setter Property="FontSize" Value="{DynamicResource FontSize}"/>
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="Padding" Value="5"/>
|
<Setter Property="Padding" Value="5"/>
|
||||||
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
||||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
@ -593,16 +563,17 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Effect">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{DynamicResource BorderOpacity}" Color="{DynamicResource CBorderColor}"/>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
<Style TargetType="PasswordBox">
|
<Style TargetType="PasswordBox">
|
||||||
<Setter Property="Background" Value="{MainBackgroundColor}"/>
|
<Setter Property="Background" Value="{DynamicResource MainBackgroundColor}"/>
|
||||||
<Setter Property="BorderBrush" Value="{MainForegroundColor}"/>
|
<Setter Property="BorderBrush" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="BorderThickness" Value="1"/>
|
<Setter Property="BorderThickness" Value="1"/>
|
||||||
<Setter Property="Foreground" Value="{MainForegroundColor}"/>
|
<Setter Property="Foreground" Value="{DynamicResource MainForegroundColor}"/>
|
||||||
<Setter Property="FontSize" Value="{FontSize}"/>
|
<Setter Property="FontSize" Value="{DynamicResource FontSize}"/>
|
||||||
|
<Setter Property="FontFamily" Value="{DynamicResource FontFamily}"/>
|
||||||
<Setter Property="Padding" Value="5"/>
|
<Setter Property="Padding" Value="5"/>
|
||||||
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
<Setter Property="HorizontalAlignment" Value="Stretch"/>
|
||||||
<Setter Property="VerticalAlignment" Value="Center"/>
|
<Setter Property="VerticalAlignment" Value="Center"/>
|
||||||
@ -623,7 +594,7 @@
|
|||||||
</Setter>
|
</Setter>
|
||||||
<Setter Property="Effect">
|
<Setter Property="Effect">
|
||||||
<Setter.Value>
|
<Setter.Value>
|
||||||
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{BorderOpacity}" Color="{BorderColor}"/>
|
<DropShadowEffect ShadowDepth="5" BlurRadius="5" Opacity="{DynamicResource BorderOpacity}" Color="{DynamicResource CBorderColor}"/>
|
||||||
</Setter.Value>
|
</Setter.Value>
|
||||||
</Setter>
|
</Setter>
|
||||||
</Style>
|
</Style>
|
||||||
@ -640,62 +611,63 @@
|
|||||||
</Style.Triggers>
|
</Style.Triggers>
|
||||||
</Style>
|
</Style>
|
||||||
</Window.Resources>
|
</Window.Resources>
|
||||||
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Name="WPFMainGrid" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
<Grid Background="{DynamicResource MainBackgroundColor}" ShowGridLines="False" Name="WPFMainGrid" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="{TabRowHeightInPixels}px"/>
|
<RowDefinition Height="{DynamicResource TabRowHeightInPixels}"/>
|
||||||
<RowDefinition Height=".9*"/>
|
<RowDefinition Height=".9*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<DockPanel HorizontalAlignment="Stretch" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Row="0" Width="Auto">
|
<DockPanel HorizontalAlignment="Stretch" Background="{DynamicResource MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Row="0" Width="Auto">
|
||||||
<StackPanel Name="NavLogoPanel" Orientation="Horizontal" HorizontalAlignment="Left" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Margin="10,0,20,0">
|
<StackPanel Name="NavLogoPanel" Orientation="Horizontal" HorizontalAlignment="Left" Background="{DynamicResource MainBackgroundColor}" SnapsToDevicePixels="True" Margin="10,0,20,0">
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
<ToggleButton HorizontalAlignment="Left" Height="{DynamicResource TabButtonHeight}" Width="{DynamicResource TabButtonWidth}"
|
||||||
Background="{ButtonInstallBackgroundColor}" Foreground="white" FontWeight="Bold" Name="WPFTab1BT">
|
Background="{DynamicResource ButtonInstallBackgroundColor}" Foreground="white" FontWeight="Bold" Name="WPFTab1BT">
|
||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonInstallForegroundColor}" >
|
<TextBlock FontSize="{DynamicResource TabButtonFontSize}" Background="Transparent" Foreground="{DynamicResource ButtonInstallForegroundColor}" >
|
||||||
<Underline>I</Underline>nstall
|
<Underline>I</Underline>nstall
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
<ToggleButton HorizontalAlignment="Left" Height="{DynamicResource TabButtonHeight}" Width="{DynamicResource TabButtonWidth}"
|
||||||
Background="{ButtonTweaksBackgroundColor}" Foreground="{ButtonTweaksForegroundColor}" FontWeight="Bold" Name="WPFTab2BT">
|
Background="{DynamicResource ButtonTweaksBackgroundColor}" Foreground="{DynamicResource ButtonTweaksForegroundColor}" FontWeight="Bold" Name="WPFTab2BT">
|
||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonTweaksForegroundColor}">
|
<TextBlock FontSize="{DynamicResource TabButtonFontSize}" Background="Transparent" Foreground="{DynamicResource ButtonTweaksForegroundColor}">
|
||||||
<Underline>T</Underline>weaks
|
<Underline>T</Underline>weaks
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
<ToggleButton HorizontalAlignment="Left" Height="{DynamicResource TabButtonHeight}" Width="{DynamicResource TabButtonWidth}"
|
||||||
Background="{ButtonConfigBackgroundColor}" Foreground="{ButtonConfigForegroundColor}" FontWeight="Bold" Name="WPFTab3BT">
|
Background="{DynamicResource ButtonConfigBackgroundColor}" Foreground="{DynamicResource ButtonConfigForegroundColor}" FontWeight="Bold" Name="WPFTab3BT">
|
||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonConfigForegroundColor}">
|
<TextBlock FontSize="{DynamicResource TabButtonFontSize}" Background="Transparent" Foreground="{DynamicResource ButtonConfigForegroundColor}">
|
||||||
<Underline>C</Underline>onfig
|
<Underline>C</Underline>onfig
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
<ToggleButton HorizontalAlignment="Left" Height="{DynamicResource TabButtonHeight}" Width="{DynamicResource TabButtonWidth}"
|
||||||
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab4BT">
|
Background="{DynamicResource ButtonUpdatesBackgroundColor}" Foreground="{DynamicResource ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab4BT">
|
||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
<TextBlock FontSize="{DynamicResource TabButtonFontSize}" Background="Transparent" Foreground="{DynamicResource ButtonUpdatesForegroundColor}">
|
||||||
<Underline>U</Underline>pdates
|
<Underline>U</Underline>pdates
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<ToggleButton HorizontalAlignment="Left" Height="{TabButtonHeight}" Width="{TabButtonWidth}"
|
<ToggleButton HorizontalAlignment="Left" Height="{DynamicResource TabButtonHeight}" Width="{DynamicResource TabButtonWidth}"
|
||||||
Background="{ButtonUpdatesBackgroundColor}" Foreground="{ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab5BT">
|
Background="{DynamicResource ButtonUpdatesBackgroundColor}" Foreground="{DynamicResource ButtonUpdatesForegroundColor}" FontWeight="Bold" Name="WPFTab5BT">
|
||||||
<ToggleButton.Content>
|
<ToggleButton.Content>
|
||||||
<TextBlock FontSize="{TabButtonFontSize}" Background="Transparent" Foreground="{ButtonUpdatesForegroundColor}">
|
<TextBlock FontSize="{DynamicResource TabButtonFontSize}" Background="Transparent" Foreground="{DynamicResource ButtonUpdatesForegroundColor}">
|
||||||
<Underline>M</Underline>icroWin
|
<Underline>M</Underline>icroWin
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</ToggleButton.Content>
|
</ToggleButton.Content>
|
||||||
</ToggleButton>
|
</ToggleButton>
|
||||||
<Grid Background="{MainBackgroundColor}" ShowGridLines="False" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
<Grid Background="{DynamicResource MainBackgroundColor}" ShowGridLines="False" Width="Auto" Height="Auto" HorizontalAlignment="Stretch">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*"/> <!-- Main content area -->
|
<ColumnDefinition Width="*"/> <!-- Main content area -->
|
||||||
<ColumnDefinition Width="Auto"/> <!-- Space for options button -->
|
<ColumnDefinition Width="Auto"/><!-- Space for options button -->
|
||||||
<ColumnDefinition Width="Auto"/> <!-- Space for close button -->
|
<ColumnDefinition Width="Auto"/><!-- Space for close button -->
|
||||||
|
<ColumnDefinition Width="Auto"/>
|
||||||
<ColumnDefinition Width="Auto"/>
|
<ColumnDefinition Width="Auto"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
@ -710,13 +682,13 @@
|
|||||||
-->
|
-->
|
||||||
<TextBox
|
<TextBox
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
Width="{SearchBarWidth}"
|
Width="{DynamicResource SearchBarWidth}"
|
||||||
Height="{SearchBarHeight}"
|
Height="{DynamicResource SearchBarHeight}"
|
||||||
FontSize="{SearchBarTextBoxFontSize}"
|
FontSize="{DynamicResource SearchBarTextBoxFontSize}"
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Left"
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
||||||
BorderThickness="1"
|
BorderThickness="1"
|
||||||
Name="SearchBar"
|
Name="SearchBar"
|
||||||
Foreground="{MainForegroundColor}" Background="{MainBackgroundColor}"
|
Foreground="{DynamicResource MainForegroundColor}" Background="{DynamicResource MainBackgroundColor}"
|
||||||
Padding="3,3,30,0"
|
Padding="3,3,30,0"
|
||||||
Margin="5,0,0,0"
|
Margin="5,0,0,0"
|
||||||
ToolTip="Press Ctrl-F and type app name to filter application list below. Press Esc to reset the filter">
|
ToolTip="Press Ctrl-F and type app name to filter application list below. Press Esc to reset the filter">
|
||||||
@ -725,7 +697,7 @@
|
|||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Left"
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
||||||
FontFamily="Segoe MDL2 Assets"
|
FontFamily="Segoe MDL2 Assets"
|
||||||
FontSize="{IconFontSize}"
|
FontSize="{DynamicResource DynamicResource IconFontSize}"
|
||||||
Margin="180,0,0,0">
|
Margin="180,0,0,0">
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<!--
|
<!--
|
||||||
@ -747,8 +719,8 @@
|
|||||||
Minimum="0"
|
Minimum="0"
|
||||||
Maximum="100"
|
Maximum="100"
|
||||||
Width="250"
|
Width="250"
|
||||||
Height="{SearchBarHeight}"
|
Height="{DynamicResource SearchBarHeight}"
|
||||||
Foreground="{ProgressBarForegroundColor}" Background="{ProgressBarBackgroundColor}" BorderBrush="{ProgressBarForegroundColor}"
|
Foreground="{DynamicResource ProgressBarForegroundColor}" Background="{DynamicResource ProgressBarBackgroundColor}" BorderBrush="{DynamicResource ProgressBarForegroundColor}"
|
||||||
Visibility="Collapsed"
|
Visibility="Collapsed"
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Left"
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
||||||
Margin="2,0,0,0" BorderThickness="1" Padding="6,2,2,2"
|
Margin="2,0,0,0" BorderThickness="1" Padding="6,2,2,2"
|
||||||
@ -757,9 +729,9 @@
|
|||||||
<Label
|
<Label
|
||||||
Grid.Column="1"
|
Grid.Column="1"
|
||||||
Width="250"
|
Width="250"
|
||||||
Height="{SearchBarHeight}"
|
Height="{DynamicResource SearchBarHeight}"
|
||||||
VerticalAlignment="Center" HorizontalAlignment="Left"
|
VerticalAlignment="Center" HorizontalAlignment="Left"
|
||||||
FontSize="{SearchBarTextBoxFontSize}"
|
FontSize="{DynamicResource SearchBarTextBoxFontSize}"
|
||||||
Background="Transparent"
|
Background="Transparent"
|
||||||
Visibility="Collapsed"
|
Visibility="Collapsed"
|
||||||
Margin="2,0,0,0" BorderThickness="0" Padding="6,2,2,2"
|
Margin="2,0,0,0" BorderThickness="0" Padding="6,2,2,2"
|
||||||
@ -767,54 +739,92 @@
|
|||||||
<TextBlock
|
<TextBlock
|
||||||
TextTrimming="CharacterEllipsis"
|
TextTrimming="CharacterEllipsis"
|
||||||
Background="Transparent"
|
Background="Transparent"
|
||||||
Foreground="{ProgressBarTextColor}">
|
Foreground="{DynamicResource ProgressBarTextColor}">
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</Label>
|
</Label>
|
||||||
|
<Button Name="ThemeButton"
|
||||||
|
Style="{StaticResource HoverButtonStyle}"
|
||||||
|
Grid.Column="2" BorderBrush="Transparent"
|
||||||
|
Background="{DynamicResource MainBackgroundColor}"
|
||||||
|
Foreground="{DynamicResource MainForegroundColor}"
|
||||||
|
FontSize="{DynamicResource SettingsIconFontSize}"
|
||||||
|
Width="{DynamicResource IconButtonSize}" Height="{DynamicResource IconButtonSize}"
|
||||||
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
||||||
|
Margin="0,5,5,0"
|
||||||
|
FontFamily="Segoe MDL2 Assets"
|
||||||
|
Content="N/A"
|
||||||
|
ToolTip="Change the Winutil UI Theme"
|
||||||
|
/>
|
||||||
|
<Popup Grid.Column="2" Name="ThemePopup"
|
||||||
|
IsOpen="False"
|
||||||
|
PlacementTarget="{Binding ElementName=ThemeButton}" Placement="Bottom"
|
||||||
|
HorizontalAlignment="Right" VerticalAlignment="Top">
|
||||||
|
<Border Background="{DynamicResource MainBackgroundColor}" BorderBrush="{DynamicResource MainForegroundColor}" BorderThickness="1" CornerRadius="0" Margin="0">
|
||||||
|
<StackPanel Background="{DynamicResource MainBackgroundColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||||
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Auto" Name="AutoThemeMenuItem" Foreground="{DynamicResource MainForegroundColor}">
|
||||||
|
<MenuItem.ToolTip>
|
||||||
|
<ToolTip Content="Follow the Windows Theme"/>
|
||||||
|
</MenuItem.ToolTip>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Dark" Name="DarkThemeMenuItem" Foreground="{DynamicResource MainForegroundColor}">
|
||||||
|
<MenuItem.ToolTip>
|
||||||
|
<ToolTip Content="Use Dark Theme"/>
|
||||||
|
</MenuItem.ToolTip>
|
||||||
|
</MenuItem>
|
||||||
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Light" Name="LightThemeMenuItem" Foreground="{DynamicResource MainForegroundColor}">
|
||||||
|
<MenuItem.ToolTip>
|
||||||
|
<ToolTip Content="Use Light Theme"/>
|
||||||
|
</MenuItem.ToolTip>
|
||||||
|
</MenuItem>
|
||||||
|
</StackPanel>
|
||||||
|
</Border>
|
||||||
|
</Popup>
|
||||||
|
|
||||||
|
|
||||||
<Button Name="SettingsButton"
|
<Button Name="SettingsButton"
|
||||||
Style="{StaticResource HoverButtonStyle}"
|
Style="{StaticResource HoverButtonStyle}"
|
||||||
Grid.Column="2" BorderBrush="Transparent"
|
Grid.Column="3" BorderBrush="Transparent"
|
||||||
Background="{MainBackgroundColor}"
|
Background="{DynamicResource MainBackgroundColor}"
|
||||||
Foreground="{MainForegroundColor}"
|
Foreground="{DynamicResource MainForegroundColor}"
|
||||||
FontSize="{SettingsIconFontSize}"
|
FontSize="{DynamicResource SettingsIconFontSize}"
|
||||||
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
Width="{DynamicResource IconButtonSize}" Height="{DynamicResource IconButtonSize}"
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Top"
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
||||||
Margin="5,5,5,0"
|
Margin="5,5,5,0"
|
||||||
FontFamily="Segoe MDL2 Assets"
|
FontFamily="Segoe MDL2 Assets"
|
||||||
Content=""/>
|
Content=""/>
|
||||||
<Popup Grid.Column="2" Name="SettingsPopup"
|
<Popup Grid.Column="3" Name="SettingsPopup"
|
||||||
IsOpen="False"
|
IsOpen="False"
|
||||||
PlacementTarget="{Binding ElementName=SettingsButton}" Placement="Bottom"
|
PlacementTarget="{Binding ElementName=SettingsButton}" Placement="Bottom"
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Top">
|
HorizontalAlignment="Right" VerticalAlignment="Top">
|
||||||
<Border Background="{MainBackgroundColor}" BorderBrush="{MainForegroundColor}" BorderThickness="1" CornerRadius="0" Margin="0">
|
<Border Background="{DynamicResource MainBackgroundColor}" BorderBrush="{DynamicResource MainForegroundColor}" BorderThickness="1" CornerRadius="0" Margin="0">
|
||||||
<StackPanel Background="{MainBackgroundColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
<StackPanel Background="{DynamicResource MainBackgroundColor}" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||||
<MenuItem FontSize="{ButtonFontSize}" Header="Import" Name="ImportMenuItem" Foreground="{MainForegroundColor}">
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Import" Name="ImportMenuItem" Foreground="{DynamicResource MainForegroundColor}">
|
||||||
<MenuItem.ToolTip>
|
<MenuItem.ToolTip>
|
||||||
<ToolTip Content="Import Configuration from exported file."/>
|
<ToolTip Content="Import Configuration from exported file."/>
|
||||||
</MenuItem.ToolTip>
|
</MenuItem.ToolTip>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<MenuItem FontSize="{ButtonFontSize}" Header="Export" Name="ExportMenuItem" Foreground="{MainForegroundColor}">
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Export" Name="ExportMenuItem" Foreground="{DynamicResource MainForegroundColor}">
|
||||||
<MenuItem.ToolTip>
|
<MenuItem.ToolTip>
|
||||||
<ToolTip Content="Export Selected Elements and copy execution command to clipboard."/>
|
<ToolTip Content="Export Selected Elements and copy execution command to clipboard."/>
|
||||||
</MenuItem.ToolTip>
|
</MenuItem.ToolTip>
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
<Separator/>
|
<Separator/>
|
||||||
<MenuItem FontSize="{ButtonFontSize}" Header="About" Name="AboutMenuItem" Foreground="{MainForegroundColor}"/>
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="About" Name="AboutMenuItem" Foreground="{DynamicResource MainForegroundColor}"/>
|
||||||
<MenuItem FontSize="{ButtonFontSize}" Header="Sponsors" Name="SponsorMenuItem" Foreground="{MainForegroundColor}"/>
|
<MenuItem FontSize="{DynamicResource ButtonFontSize}" Header="Sponsors" Name="SponsorMenuItem" Foreground="{DynamicResource MainForegroundColor}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
</Popup>
|
</Popup>
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
Grid.Column="3"
|
Grid.Column="4"
|
||||||
Content="×" BorderThickness="0"
|
Content="×" BorderThickness="0"
|
||||||
BorderBrush="Transparent"
|
BorderBrush="Transparent"
|
||||||
Background="{MainBackgroundColor}"
|
Background="{DynamicResource MainBackgroundColor}"
|
||||||
Width="{IconButtonSize}" Height="{IconButtonSize}"
|
Width="{DynamicResource IconButtonSize}" Height="{DynamicResource IconButtonSize}"
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Top"
|
HorizontalAlignment="Right" VerticalAlignment="Top"
|
||||||
Margin="0,5,5,0"
|
Margin="0,5,5,0"
|
||||||
FontFamily="Arial"
|
FontFamily="{DynamicResource FontFamily}"
|
||||||
Foreground="{MainForegroundColor}" FontSize="{CloseIconFontSize}" Name="WPFCloseButton" />
|
Foreground="{DynamicResource MainForegroundColor}" FontSize="{DynamicResource CloseIconFontSize}" Name="WPFCloseButton" />
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
</DockPanel>
|
</DockPanel>
|
||||||
@ -827,7 +837,7 @@
|
|||||||
<RowDefinition Height="45px"/>
|
<RowDefinition Height="45px"/>
|
||||||
<RowDefinition Height="0.95*"/>
|
<RowDefinition Height="0.95*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="{TabContentMargin}">
|
<StackPanel Background="{DynamicResource MainBackgroundColor}" Orientation="Horizontal" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Column="0" Grid.ColumnSpan="3" Margin="{DynamicResource TabContentMargin}">
|
||||||
<Button Name="WPFInstall" Content=" Install/Upgrade Selected" Margin="2" />
|
<Button Name="WPFInstall" Content=" Install/Upgrade Selected" Margin="2" />
|
||||||
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
<Button Name="WPFInstallUpgrade" Content=" Upgrade All" Margin="2"/>
|
||||||
<Button Name="WPFUninstall" Content=" Uninstall Selected" Margin="2"/>
|
<Button Name="WPFUninstall" Content=" Uninstall Selected" Margin="2"/>
|
||||||
@ -838,13 +848,13 @@
|
|||||||
</CheckBox>
|
</CheckBox>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
|
|
||||||
<ScrollViewer x:Name="scrollViewer" Grid.Row="1" Grid.Column="0" Margin="{TabContentMargin}" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
|
<ScrollViewer x:Name="scrollViewer" Grid.Row="1" Grid.Column="0" Margin="{DynamicResource TabContentMargin}" VerticalScrollBarVisibility="Auto" HorizontalScrollBarVisibility="Auto"
|
||||||
BorderBrush="Transparent" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
BorderBrush="Transparent" BorderThickness="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||||
<Grid Name="appspanel" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
<Grid Name="appspanel" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
|
|
||||||
<Rectangle Grid.Row="1" Grid.Column="0" Width="22" Height="22" Fill="{MainBackgroundColor}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Style="{StaticResource ScrollVisibilityRectangle}"/>
|
<Rectangle Grid.Row="1" Grid.Column="0" Width="22" Height="22" Fill="{DynamicResource MainBackgroundColor}" HorizontalAlignment="Right" VerticalAlignment="Bottom" Style="{StaticResource ScrollVisibilityRectangle}"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
@ -856,7 +866,7 @@
|
|||||||
<RowDefinition Height="Auto" />
|
<RowDefinition Height="Auto" />
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="0" Margin="{TabContentMargin}">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" Grid.Row="0" Margin="{DynamicResource TabContentMargin}">
|
||||||
<Grid Background="Transparent">
|
<Grid Background="Transparent">
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="45px"/>
|
<RowDefinition Height="45px"/>
|
||||||
@ -864,8 +874,8 @@
|
|||||||
<RowDefinition Height="Auto"/>
|
<RowDefinition Height="Auto"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
|
|
||||||
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Margin="5">
|
<StackPanel Background="{DynamicResource 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"/>
|
<Label Content="Recommended Selections:" FontSize="{DynamicResource FontSize}" VerticalAlignment="Center" Margin="2"/>
|
||||||
<Button Name="WPFstandard" Content=" Standard " Margin="2"/>
|
<Button Name="WPFstandard" Content=" Standard " Margin="2"/>
|
||||||
<Button Name="WPFminimal" Content=" Minimal " Margin="2"/>
|
<Button Name="WPFminimal" Content=" Minimal " Margin="2"/>
|
||||||
<Button Name="WPFClearTweaksSelection" Content=" Clear " Margin="2"/>
|
<Button Name="WPFClearTweaksSelection" Content=" Clear " Margin="2"/>
|
||||||
@ -877,7 +887,7 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<Border Grid.ColumnSpan="2" Grid.Row="2" Grid.Column="0" Style="{StaticResource BorderStyle}">
|
<Border Grid.ColumnSpan="2" Grid.Row="2" Grid.Column="0" Style="{StaticResource BorderStyle}">
|
||||||
<StackPanel Background="{MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left">
|
<StackPanel Background="{DynamicResource MainBackgroundColor}" Orientation="Horizontal" HorizontalAlignment="Left">
|
||||||
<TextBlock Padding="10">
|
<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.
|
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!
|
<LineBreak/>Recommended selections are for normal users and if you are unsure do NOT check anything else!
|
||||||
@ -886,7 +896,7 @@
|
|||||||
</Border>
|
</Border>
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
<Border Grid.Row="1" Background="{MainBackgroundColor}" BorderBrush="{BorderColor}" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" Padding="10">
|
<Border Grid.Row="1" Background="{DynamicResource MainBackgroundColor}" BorderBrush="{DynamicResource BorderColor}" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" Padding="10">
|
||||||
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="0">
|
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="0">
|
||||||
<Button Name="WPFTweaksbutton" Content="Run Tweaks" Margin="5"/>
|
<Button Name="WPFTweaksbutton" Content="Run Tweaks" Margin="5"/>
|
||||||
<Button Name="WPFUndoall" Content="Undo Selected Tweaks" Margin="5"/>
|
<Button Name="WPFUndoall" Content="Undo Selected Tweaks" Margin="5"/>
|
||||||
@ -895,13 +905,13 @@
|
|||||||
</Grid>
|
</Grid>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="Config" Visibility="Collapsed" Name="WPFTab3">
|
<TabItem Header="Config" Visibility="Collapsed" Name="WPFTab3">
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{TabContentMargin}">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{DynamicResource TabContentMargin}">
|
||||||
<Grid Name="featurespanel" Grid.Row="1" Background="Transparent">
|
<Grid Name="featurespanel" Grid.Row="1" Background="Transparent">
|
||||||
</Grid>
|
</Grid>
|
||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="Updates" Visibility="Collapsed" Name="WPFTab4">
|
<TabItem Header="Updates" Visibility="Collapsed" Name="WPFTab4">
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{TabContentMargin}">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{DynamicResource TabContentMargin}">
|
||||||
<Grid Background="Transparent">
|
<Grid Background="Transparent">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
@ -909,21 +919,21 @@
|
|||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<Border Grid.Row="0" Grid.Column="0" Style="{StaticResource BorderStyle}">
|
<Border Grid.Row="0" Grid.Column="0" Style="{StaticResource BorderStyle}">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{DynamicResource 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"/>
|
<Button Name="WPFUpdatesdefault" FontSize="{DynamicResource ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Default (Out of Box) Settings" Margin="20,4,20,10" Padding="10"/>
|
||||||
<TextBlock Foreground="{ComboBoxForegroundColor}" 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>
|
<TextBlock Foreground="{DynamicResource ComboBoxForegroundColor}" 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>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="0" Grid.Column="1" Style="{StaticResource BorderStyle}">
|
<Border Grid.Row="0" Grid.Column="1" Style="{StaticResource BorderStyle}">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{DynamicResource MainBackgroundColor}" SnapsToDevicePixels="True">
|
||||||
<Button Name="WPFUpdatessecurity" FontSize="{ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Security (Recommended) Settings" Margin="20,4,20,10" Padding="10"/>
|
<Button Name="WPFUpdatessecurity" FontSize="{DynamicResource ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Security (Recommended) Settings" Margin="20,4,20,10" Padding="10"/>
|
||||||
<TextBlock Foreground="{ComboBoxForegroundColor}" 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>
|
<TextBlock Foreground="{DynamicResource ComboBoxForegroundColor}" 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>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
<Border Grid.Row="0" Grid.Column="2" Style="{StaticResource BorderStyle}">
|
<Border Grid.Row="0" Grid.Column="2" Style="{StaticResource BorderStyle}">
|
||||||
<StackPanel Background="{MainBackgroundColor}" SnapsToDevicePixels="True">
|
<StackPanel Background="{DynamicResource 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"/>
|
<Button Name="WPFUpdatesdisable" FontSize="{DynamicResource ConfigTabButtonFontSize}" Height="Auto" Width="Auto" Content="Disable ALL Updates (NOT RECOMMENDED!)" Margin="20,4,20,10" Padding="10,10,10,10"/>
|
||||||
<TextBlock Foreground="{ComboBoxForegroundColor}" 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 Foreground="{DynamicResource ComboBoxForegroundColor}" 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"/>
|
<TextBlock Text=" " Margin="20,0,20,0" Padding="10" TextWrapping="WrapWithOverflow" MaxWidth="300"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
@ -931,7 +941,7 @@
|
|||||||
</ScrollViewer>
|
</ScrollViewer>
|
||||||
</TabItem>
|
</TabItem>
|
||||||
<TabItem Header="MicroWin" Visibility="Collapsed" Name="WPFTab5">
|
<TabItem Header="MicroWin" Visibility="Collapsed" Name="WPFTab5">
|
||||||
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{TabContentMargin}">
|
<ScrollViewer VerticalScrollBarVisibility="Auto" Margin="{DynamicResource TabContentMargin}">
|
||||||
<Grid Width="Auto" Height="Auto">
|
<Grid Width="Auto" Height="Auto">
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*"/>
|
<ColumnDefinition Width="*"/>
|
||||||
@ -944,28 +954,28 @@
|
|||||||
Style="{StaticResource BorderStyle}"
|
Style="{StaticResource BorderStyle}"
|
||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalAlignment="Stretch">
|
HorizontalAlignment="Stretch">
|
||||||
<StackPanel Name="MicrowinMain" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Column="0" Grid.Row="0">
|
<StackPanel Name="MicrowinMain" Background="{DynamicResource MainBackgroundColor}" SnapsToDevicePixels="True" Grid.Column="0" Grid.Row="0">
|
||||||
<StackPanel Background="Transparent" SnapsToDevicePixels="True" Margin="1">
|
<StackPanel Background="Transparent" SnapsToDevicePixels="True" Margin="1">
|
||||||
<CheckBox x:Name="WPFMicrowinDownloadFromGitHub" Content="Download oscdimg.exe from CTT Github repo" IsChecked="False" Margin="{MicrowinCheckBoxMargin}" />
|
<CheckBox x:Name="WPFMicrowinDownloadFromGitHub" Content="Download oscdimg.exe from CTT Github repo" IsChecked="False" Margin="{DynamicResource MicrowinCheckBoxMargin}" />
|
||||||
<TextBlock Margin="5" Padding="1" TextWrapping="Wrap" Foreground="{ComboBoxForegroundColor}">
|
<TextBlock Margin="5" Padding="1" TextWrapping="Wrap" Foreground="{DynamicResource ComboBoxForegroundColor}">
|
||||||
Choose a Windows ISO file that you've downloaded <LineBreak/>
|
Choose a Windows ISO file that you've downloaded <LineBreak/>
|
||||||
Check the status in the console
|
Check the status in the console
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
<CheckBox x:Name="WPFMicrowinISOScratchDir" Content="Use ISO directory for ScratchDir " IsChecked="False" Margin="{MicrowinCheckBoxMargin}"
|
<CheckBox x:Name="WPFMicrowinISOScratchDir" Content="Use ISO directory for ScratchDir " IsChecked="False" Margin="{DynamicResource MicrowinCheckBoxMargin}"
|
||||||
ToolTip="Use ISO directory for ScratchDir " />
|
ToolTip="Use ISO directory for ScratchDir " />
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="*" /> <!-- Takes the remaining space -->
|
<ColumnDefinition Width="*" /> <!-- Takes the remaining space -->
|
||||||
<ColumnDefinition Width="30" /> <!-- Fixed width for Button -->
|
<ColumnDefinition Width="30" /> <!-- Fixed width for Button -->
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
<TextBox Name="MicrowinScratchDirBox" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
<TextBox Name="MicrowinScratchDirBox" Background="Transparent" BorderBrush="{DynamicResource MainForegroundColor}"
|
||||||
Text="Scratch"
|
Text="Scratch"
|
||||||
Margin="2"
|
Margin="2"
|
||||||
IsReadOnly="False"
|
IsReadOnly="False"
|
||||||
ToolTip="Alt Path For Scratch Directory"
|
ToolTip="Alt Path For Scratch Directory"
|
||||||
Grid.Column="0"
|
Grid.Column="0"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Foreground="{LabelboxForegroundColor}">
|
Foreground="{DynamicResource LabelboxForegroundColor}">
|
||||||
</TextBox>
|
</TextBox>
|
||||||
<Button Name="MicrowinScratchDirBT"
|
<Button Name="MicrowinScratchDirBT"
|
||||||
Width="Auto"
|
Width="Auto"
|
||||||
@ -978,16 +988,16 @@
|
|||||||
</Button.Content>
|
</Button.Content>
|
||||||
</Button>
|
</Button>
|
||||||
</Grid>
|
</Grid>
|
||||||
<TextBox Name="MicrowinFinalIsoLocation" Background="Transparent" BorderBrush="{MainForegroundColor}"
|
<TextBox Name="MicrowinFinalIsoLocation" Background="Transparent" BorderBrush="{DynamicResource MainForegroundColor}"
|
||||||
Text="ISO location will be printed here"
|
Text="ISO location will be printed here"
|
||||||
Margin="2"
|
Margin="2"
|
||||||
IsReadOnly="True"
|
IsReadOnly="True"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
Foreground="{LabelboxForegroundColor}"
|
Foreground="{DynamicResource LabelboxForegroundColor}"
|
||||||
/>
|
/>
|
||||||
<Button Name="WPFGetIso" Margin="2" Padding="15">
|
<Button Name="WPFGetIso" Margin="2" Padding="15">
|
||||||
<Button.Content>
|
<Button.Content>
|
||||||
<TextBlock Background="Transparent" Foreground="{ButtonForegroundColor}">
|
<TextBlock Background="Transparent" Foreground="{DynamicResource ButtonForegroundColor}">
|
||||||
Select Windows <Underline>I</Underline>SO
|
Select Windows <Underline>I</Underline>SO
|
||||||
</TextBlock>
|
</TextBlock>
|
||||||
</Button.Content>
|
</Button.Content>
|
||||||
@ -997,44 +1007,44 @@
|
|||||||
<StackPanel Name="MicrowinOptionsPanel" HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Hidden">
|
<StackPanel Name="MicrowinOptionsPanel" HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Hidden">
|
||||||
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Choose Windows SKU</TextBlock>
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Choose Windows SKU</TextBlock>
|
||||||
<ComboBox x:Name = "MicrowinWindowsFlavors" Margin="1" />
|
<ComboBox x:Name = "MicrowinWindowsFlavors" Margin="1" />
|
||||||
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
<Rectangle Fill="{DynamicResource MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
||||||
<CheckBox Name="MicrowinInjectDrivers" Content="Inject drivers (I KNOW WHAT I'M DOING)" Margin="{MicrowinCheckBoxMargin}" IsChecked="False" ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"/>
|
<CheckBox Name="MicrowinInjectDrivers" Content="Inject drivers (I KNOW WHAT I'M DOING)" Margin="{DynamicResource MicrowinCheckBoxMargin}" 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}"
|
<TextBox Name="MicrowinDriverLocation" Background="Transparent" BorderThickness="1" BorderBrush="{DynamicResource MainForegroundColor}"
|
||||||
Margin="6"
|
Margin="6"
|
||||||
Text=""
|
Text=""
|
||||||
IsReadOnly="False"
|
IsReadOnly="False"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
Foreground="{LabelboxForegroundColor}"
|
Foreground="{DynamicResource LabelboxForegroundColor}"
|
||||||
ToolTip="Path to unpacked drivers all sys and inf files for devices that need drivers"
|
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="{MicrowinCheckBoxMargin}" IsChecked="False" ToolTip="Export all third-party drivers from your system and inject them to the MicroWin image"/>
|
<CheckBox Name="MicrowinImportDrivers" Content="Import drivers from current system" Margin="{DynamicResource MicrowinCheckBoxMargin}" 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"/>
|
<Rectangle Fill="{DynamicResource MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
||||||
<CheckBox Name="WPFMicrowinCopyToUsb" Content="Copy to Ventoy" Margin="{MicrowinCheckBoxMargin}" IsChecked="False" ToolTip="Copy to USB disk with a label Ventoy"/>
|
<CheckBox Name="WPFMicrowinCopyToUsb" Content="Copy to Ventoy" Margin="{DynamicResource MicrowinCheckBoxMargin}" IsChecked="False" ToolTip="Copy to USB disk with a label Ventoy"/>
|
||||||
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
<Rectangle Fill="{DynamicResource 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"><Bold>Custom user settings (leave empty for default user)</Bold></TextBlock>
|
||||||
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">User name (20 characters max.):</TextBlock>
|
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">User name (20 characters max.):</TextBlock>
|
||||||
<TextBox Name="MicrowinUserName" Background="Transparent" BorderThickness="1" BorderBrush="{MainForegroundColor}"
|
<TextBox Name="MicrowinUserName" Background="Transparent" BorderThickness="1" BorderBrush="{DynamicResource MainForegroundColor}"
|
||||||
Margin="6"
|
Margin="6"
|
||||||
Text=""
|
Text=""
|
||||||
IsReadOnly="False"
|
IsReadOnly="False"
|
||||||
TextWrapping="Wrap"
|
TextWrapping="Wrap"
|
||||||
Foreground="{LabelboxForegroundColor}"
|
Foreground="{DynamicResource LabelboxForegroundColor}"
|
||||||
MaxLength="20"
|
MaxLength="20"
|
||||||
/>
|
/>
|
||||||
<TextBlock Margin="6" Padding="1" TextWrapping="Wrap">Password (characters will not be shown for your security):</TextBlock>
|
<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}"
|
<PasswordBox Name="MicrowinUserPassword" Background="Transparent" BorderThickness="1" BorderBrush="{DynamicResource MainForegroundColor}"
|
||||||
Margin="6"
|
Margin="6"
|
||||||
PasswordChar="*"
|
PasswordChar="*"
|
||||||
Foreground="{LabelboxForegroundColor}"
|
Foreground="{DynamicResource LabelboxForegroundColor}"
|
||||||
/>
|
/>
|
||||||
<Rectangle Fill="{MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
<Rectangle Fill="{DynamicResource MainForegroundColor}" Height="2" HorizontalAlignment="Stretch" Margin="0,10,0,10"/>
|
||||||
<Button Name="WPFMicrowin" Content="Start the process" Margin="2" Padding="15"/>
|
<Button Name="WPFMicrowin" Content="Start the process" Margin="2" Padding="15"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
<StackPanel HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Collapsed">
|
<StackPanel HorizontalAlignment="Left" SnapsToDevicePixels="True" Margin="1" Visibility="Collapsed">
|
||||||
<TextBlock Name="MicrowinIsoDrive" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
<TextBlock Name="MicrowinIsoDrive" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{DynamicResource ComboBoxForegroundColor}"/>
|
||||||
<TextBlock Name="MicrowinIsoLocation" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
<TextBlock Name="MicrowinIsoLocation" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{DynamicResource ComboBoxForegroundColor}"/>
|
||||||
<TextBlock Name="MicrowinMountDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
<TextBlock Name="MicrowinMountDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{DynamicResource ComboBoxForegroundColor}"/>
|
||||||
<TextBlock Name="MicrowinScratchDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{ComboBoxForegroundColor}"/>
|
<TextBlock Name="MicrowinScratchDir" VerticalAlignment="Center" Margin="1" Padding="1" TextWrapping="WrapWithOverflow" Foreground="{DynamicResource ComboBoxForegroundColor}"/>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</StackPanel>
|
</StackPanel>
|
||||||
</Border>
|
</Border>
|
||||||
@ -1043,12 +1053,12 @@
|
|||||||
VerticalAlignment="Stretch"
|
VerticalAlignment="Stretch"
|
||||||
HorizontalAlignment="Stretch"
|
HorizontalAlignment="Stretch"
|
||||||
Grid.Row="0" Grid.Column="1">
|
Grid.Row="0" Grid.Column="1">
|
||||||
<StackPanel HorizontalAlignment="Left" Background="{MainBackgroundColor}" SnapsToDevicePixels="True" Visibility="Visible">
|
<StackPanel HorizontalAlignment="Left" Background="{DynamicResource MainBackgroundColor}" SnapsToDevicePixels="True" Visibility="Visible">
|
||||||
|
|
||||||
<Grid Name = "BusyMessage" Visibility="Collapsed">
|
<Grid Name = "BusyMessage" Visibility="Collapsed">
|
||||||
<TextBlock Name = "BusyText" Text="NBusy" Padding="22,2,1,1" />
|
<TextBlock Name = "BusyText" Text="NBusy" Padding="22,2,1,1" />
|
||||||
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Segoe MDL2 Assets"
|
<TextBlock VerticalAlignment="Center" HorizontalAlignment="Left" FontFamily="Segoe MDL2 Assets"
|
||||||
FontSize="{IconFontSize}" Margin="16,0,0,0"></TextBlock>
|
FontSize="{DynamicResource IconFontSize}" Margin="16,0,0,0"></TextBlock>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
<TextBlock x:Name = "asciiTextBlock"
|
<TextBlock x:Name = "asciiTextBlock"
|
||||||
@ -1058,7 +1068,7 @@
|
|||||||
VerticalAlignment = "Top"
|
VerticalAlignment = "Top"
|
||||||
Height = "Auto"
|
Height = "Auto"
|
||||||
Width = "Auto"
|
Width = "Auto"
|
||||||
FontSize = "{MicroWinLogoSize}"
|
FontSize = "{DynamicResource MicroWinLogoSize}"
|
||||||
FontFamily = "Courier New"
|
FontFamily = "Courier New"
|
||||||
>
|
>
|
||||||
/\/\ (_) ___ _ __ ___ / / /\ \ \(_) _ __
|
/\/\ (_) ___ _ __ ___ / / /\ \ \(_) _ __
|
||||||
@ -1073,7 +1083,7 @@
|
|||||||
TextWrapping="WrapWithOverflow"
|
TextWrapping="WrapWithOverflow"
|
||||||
Height = "Auto"
|
Height = "Auto"
|
||||||
Width = "Auto"
|
Width = "Auto"
|
||||||
Foreground="{ComboBoxForegroundColor}">
|
Foreground="{DynamicResource ComboBoxForegroundColor}">
|
||||||
<Bold>MicroWin features:</Bold><LineBreak/>
|
<Bold>MicroWin features:</Bold><LineBreak/>
|
||||||
- Remove Telemetry and Tracking <LineBreak/>
|
- Remove Telemetry and Tracking <LineBreak/>
|
||||||
- Fast Install using either the "User" local account or the account of your choosing <LineBreak/>
|
- Fast Install using either the "User" local account or the account of your choosing <LineBreak/>
|
||||||
@ -1103,7 +1113,7 @@
|
|||||||
Height = "Auto"
|
Height = "Auto"
|
||||||
Width = "Auto"
|
Width = "Auto"
|
||||||
VerticalAlignment = "Top"
|
VerticalAlignment = "Top"
|
||||||
Foreground = "{ComboBoxForegroundColor}"
|
Foreground = "{DynamicResource ComboBoxForegroundColor}"
|
||||||
xml:space = "preserve"
|
xml:space = "preserve"
|
||||||
>
|
>
|
||||||
<Bold>Example:</Bold>
|
<Bold>Example:</Bold>
|
||||||
|
Loading…
Reference in New Issue
Block a user