mirror of
https://github.com/ChrisTitusTech/winutil.git
synced 2025-05-23 15:57:24 -05:00

* Initial Remove Expanded View * more cleanup * Add word wrapping for Tooltips * Update tooltip colors in themes and XAML styles * Rename Properties for consistency * More Cleanup, and simplification. Also added support for screenreaders * Remove unused variables and shorten window naming * Rename Invoke-WPFUIApps to Initialize-WPFUI and update function calls for consistency * Rename Invoke-WPFUIApps.ps1 to Initialize-WPFUI.ps1 * Add TODO comments for sidebar UI generation in Initialize-WPFUI function
49 lines
1.7 KiB
PowerShell
49 lines
1.7 KiB
PowerShell
function Find-AppsByNameOrDescription {
|
|
<#
|
|
.SYNOPSIS
|
|
Searches through the Apps on the Install Tab and hides all entries that do not match the string
|
|
|
|
.PARAMETER SearchString
|
|
The string to be searched for
|
|
#>
|
|
param(
|
|
[Parameter(Mandatory=$false)]
|
|
[string]$SearchString = ""
|
|
)
|
|
# Reset the visibility if the search string is empty or the search is cleared
|
|
if ([string]::IsNullOrWhiteSpace($SearchString)) {
|
|
$sync.ItemsControl.Items | ForEach-Object {
|
|
$_.Visibility = [Windows.Visibility]::Visible
|
|
$_.Children | ForEach-Object {
|
|
if ($null -ne $_) {
|
|
$_.Visibility = [Windows.Visibility]::Visible
|
|
}
|
|
|
|
}
|
|
}
|
|
return
|
|
}
|
|
$sync.ItemsControl.Items | ForEach-Object {
|
|
# Ensure ToggleButtons remain visible
|
|
if ($_.Tag -like "CategoryToggleButton") {
|
|
$_.Visibility = [Windows.Visibility]::Visible
|
|
return
|
|
}
|
|
# Hide all CategoryWrapPanel and ToggleButton
|
|
$_.Visibility = [Windows.Visibility]::Collapsed
|
|
if ($_.Tag -like "CategoryWrapPanel_*") {
|
|
# Search for Apps that match the search string
|
|
$_.Children | Foreach-Object {
|
|
if ($sync.configs.applicationsHashtable.$($_.Tag).Content -like "*$SearchString*") {
|
|
# Show the App and the parent CategoryWrapPanel if the string is found
|
|
$_.Visibility = [Windows.Visibility]::Visible
|
|
$_.parent.Visibility = [Windows.Visibility]::Visible
|
|
}
|
|
else {
|
|
$_.Visibility = [Windows.Visibility]::Collapsed
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|