Rework foss filtering (#4696)

* 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.
This commit is contained in:
4hm3dn3d41
2026-06-22 14:23:09 -05:00
committed by GitHub
parent cc40fdf42a
commit 376156f072
5 changed files with 50 additions and 60 deletions
+39 -30
View File
@@ -177,38 +177,25 @@ function Invoke-WPFUIElements {
$itemsControl.Items.Add($dockPanel) | Out-Null
$sync[$entryInfo.Name] = $checkBox
if ($entryInfo.Name -eq "WPFToggleFOSSHighlight") {
if ($entryInfo.Checked -eq $true) {
$sync[$entryInfo.Name].IsChecked = $true
}
$sync[$entryInfo.Name].IsChecked = (Get-WinUtilToggleStatus $entryInfo.Name)
$sync[$entryInfo.Name].Add_Checked({
Invoke-WPFButton -Button "WPFToggleFOSSHighlight"
})
$sync[$entryInfo.Name].Add_Unchecked({
Invoke-WPFButton -Button "WPFToggleFOSSHighlight"
})
} else {
$sync[$entryInfo.Name].IsChecked = (Get-WinUtilToggleStatus $entryInfo.Name)
$sync[$entryInfo.Name].Add_Checked({
[System.Object]$Sender = $args[0]
Invoke-WPFSelectedCheckboxesUpdate -type "Add" -checkboxName $Sender.name
# Skip applying tweaks while an import is restoring toggle states
if (-not $sync.ImportInProgress) {
Invoke-WinUtilTweaks $Sender.name
}
})
$sync[$entryInfo.Name].Add_Checked({
[System.Object]$Sender = $args[0]
Invoke-WPFSelectedCheckboxesUpdate -type "Add" -checkboxName $Sender.name
# Skip applying tweaks while an import is restoring toggle states
if (-not $sync.ImportInProgress) {
Invoke-WinUtilTweaks $Sender.name
}
})
$sync[$entryInfo.Name].Add_Unchecked({
[System.Object]$Sender = $args[0]
Invoke-WPFSelectedCheckboxesUpdate -type "Remove" -checkboxName $Sender.name
# Skip undoing tweaks while an import is restoring toggle states
if (-not $sync.ImportInProgress) {
Invoke-WinUtiltweaks $Sender.name -undo $true
}
})
}
$sync[$entryInfo.Name].Add_Unchecked({
[System.Object]$Sender = $args[0]
Invoke-WPFSelectedCheckboxesUpdate -type "Remove" -checkboxName $Sender.name
# Skip undoing tweaks while an import is restoring toggle states
if (-not $sync.ImportInProgress) {
Invoke-WinUtiltweaks $Sender.name -undo $true
}
})
}
"ToggleButton" {
@@ -346,6 +333,28 @@ function Invoke-WPFUIElements {
$sync[$entryInfo.Name] = $radioButton
}
"Note" {
$textBlock = New-Object Windows.Controls.TextBlock
$textBlock.TextWrapping = "Wrap"
$textBlock.Margin = "5,5,5,5"
$textBlock.UseLayoutRounding = $true
$bulletRun = New-Object Windows.Documents.Run
$bulletRun.Text = [char]0x25CF
$bulletRun.Foreground = [Windows.Media.SolidColorBrush]::new([Windows.Media.Color]::FromRgb(110, 255, 114))
$bulletRun.FontSize = 11.5
$textRun = New-Object Windows.Documents.Run
$textRun.Text = " $($entryInfo.Content)"
$textRun.SetResourceReference([Windows.Controls.Control]::FontSizeProperty, "FontSize")
$textRun.Foreground = [Windows.Media.SolidColorBrush]::new([Windows.Media.Color]::FromRgb(19, 143, 83))
$textBlock.Inlines.Add($bulletRun)
$textBlock.Inlines.Add($textRun)
$itemsControl.Items.Add($textBlock) | Out-Null
}
default {
$horizontalStackPanel = New-Object Windows.Controls.StackPanel
$horizontalStackPanel.Orientation = "Horizontal"