mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2026-08-10 01:51:18 +10:00
* Replace FOSS highlight toggle with inline label Remove the separate "Highlight FOSS" toggle and its theming logic, and instead append an inline "- FOSS" label to FOSS app entries. Changes: remove WPFToggleFOSSHighlight from app navigation and related event handlers, delete FOSSColor resource updates in theme code and button handler, simplify checkbox setup in Invoke-WPFUIElements by removing the special-case toggle logic, and update Initialize-InstallAppEntry to build a horizontal panel containing the app name plus a small green "- FOSS" TextBlock for FOSS items. This consolidates FOSS indication into the item UI and cleans up toggle/theme handling. * Add inline FOSS label to app entries Replace the separate StackPanel/TextBlock used for the FOSS indicator with an inline System.Windows.Documents.Run appended to the app name. The run is styled (green RGB(76,175,80) and FontSize=10) and the checkbox content assignment was moved outside the conditional so the appName (with optional FOSS run) is always used. Cleaned up related comments to reflect the FOSS label change. * Add FOSS note type with green bullet Added FOSS notes in the UI and FOSS labels with a green bullet instead of the text '#FOSS' * Use larger circle glyph; remove italic text Replaced the FOSS and list bullet glyphs with a larger circle for better visual consistency and removed the italic styling * Update FOSS/bullet glyphs, colors and sizes Updated FOSS/list bullet styling by switching glyphs from U+2B24 to U+25CF, increasing size (10→11.5), and adjusting bullet/text colors for better visibility and consistency across.
73 lines
3.0 KiB
PowerShell
73 lines
3.0 KiB
PowerShell
function Invoke-WPFButton {
|
|
|
|
<#
|
|
|
|
.SYNOPSIS
|
|
Invokes the function associated with the clicked button
|
|
|
|
.PARAMETER Button
|
|
The name of the button that was clicked
|
|
|
|
#>
|
|
|
|
Param ([string]$Button)
|
|
|
|
# Use this to get the name of the button
|
|
#[System.Windows.MessageBox]::Show("$Button","Chris Titus Tech's Windows Utility","OK","Info")
|
|
if (-not $sync.ProcessRunning) {
|
|
Set-WinUtilProgressBar -label "" -percent 0
|
|
}
|
|
|
|
# Check if button is defined in feature config with function or InvokeScript
|
|
if ($sync.configs.feature.$Button) {
|
|
$buttonConfig = $sync.configs.feature.$Button
|
|
|
|
# If button has a function defined, call it
|
|
if ($buttonConfig.function) {
|
|
$functionName = $buttonConfig.function
|
|
if (Get-Command $functionName -ErrorAction SilentlyContinue) {
|
|
& $functionName
|
|
return
|
|
}
|
|
}
|
|
|
|
# If button has InvokeScript defined, execute the scripts
|
|
if ($buttonConfig.InvokeScript -and $buttonConfig.InvokeScript.Count -gt 0) {
|
|
foreach ($script in $buttonConfig.InvokeScript) {
|
|
if (-not [string]::IsNullOrWhiteSpace($script)) {
|
|
Invoke-Expression $script
|
|
}
|
|
}
|
|
return
|
|
}
|
|
}
|
|
|
|
# Fallback to hard-coded switch for buttons not in feature.json
|
|
Switch -Wildcard ($Button) {
|
|
"WPFTab?BT" {Invoke-WPFTab $Button}
|
|
"WPFInstall" {Invoke-WPFInstall}
|
|
"WPFUninstall" {Invoke-WPFUnInstall}
|
|
"WPFInstallUpgrade" {Invoke-WPFInstallUpgrade}
|
|
"WPFCollapseAllCategories" {Invoke-WPFToggleAllCategories -Action "Collapse"}
|
|
"WPFExpandAllCategories" {Invoke-WPFToggleAllCategories -Action "Expand"}
|
|
"WPFStandard" {Invoke-WPFPresets "Standard" -checkboxfilterpattern "WPFTweak*"}
|
|
"WPFMinimal" {Invoke-WPFPresets "Minimal" -checkboxfilterpattern "WPFTweak*"}
|
|
"WPFAdvanced" {Invoke-WPFPresets "Advanced" -checkboxfilterpattern "WPFTweak*"}
|
|
"WPFClearTweaksSelection" {Invoke-WPFPresets -imported $true -checkboxfilterpattern "WPFTweak*"}
|
|
"WPFClearInstallSelection" {Invoke-WPFPresets -imported $true -checkboxfilterpattern "WPFInstall*"}
|
|
"WPFtweaksbutton" {Invoke-WPFtweaksbutton}
|
|
"WPFOOSUbutton" {Invoke-WPFOOSU}
|
|
"WPFAddUltPerf" {Invoke-WPFUltimatePerformance -Enable}
|
|
"WPFRemoveUltPerf" {Invoke-WPFUltimatePerformance}
|
|
"WPFundoall" {Invoke-WPFundoall}
|
|
"WPFUpdatesdefault" {Invoke-WPFUpdatesdefault}
|
|
"WPFUpdatesdisable" {Invoke-WPFUpdatesdisable}
|
|
"WPFUpdatessecurity" {Invoke-WPFUpdatessecurity}
|
|
"WPFGetInstalled" {Invoke-WPFGetInstalled -CheckBox "winget"}
|
|
"WPFGetInstalledTweaks" {Invoke-WPFGetInstalled -CheckBox "tweaks"}
|
|
"WPFCloseButton" {$sync.Form.Close(); Write-Host "Bye bye!"}
|
|
"WPFMinimizeButton" {$sync.Form.WindowState = [Windows.WindowState]::Minimized}
|
|
"WPFselectedAppsButton" {$sync.selectedAppsPopup.IsOpen = -not $sync.selectedAppsPopup.IsOpen}
|
|
}
|
|
}
|