fix app action button logic & move get & clear to sidepanel

This commit is contained in:
MyDrift
2024-09-29 09:56:10 +02:00
parent ae1a9530f9
commit 4889c1c508
2 changed files with 19 additions and 27 deletions

View File

@ -1,4 +1,18 @@
{ {
"WPFGetInstalled": {
"Content": "Get Installed",
"Category": "____Navigation",
"Type": "Button",
"Order": "1",
"Description": "Show installed applications"
},
"WPFClearInstallSelection": {
"Content": "Clear Selection",
"Category": "____Navigation",
"Type": "Button",
"Order": "2",
"Description": "Clear the selection of applications"
},
"SortbyCategory": { "SortbyCategory": {
"Content": "Category", "Content": "Category",
"Category": "___Sort by", "Category": "___Sort by",

View File

@ -118,62 +118,40 @@ function Invoke-WPFUIElements {
if ($configVariable -eq $sync.configs.applications) { if ($configVariable -eq $sync.configs.applications) {
# Create a WrapPanel to hold buttons at the top # Create a WrapPanel to hold buttons at the top
$wrapPanelTop = New-Object Windows.Controls.WrapPanel $wrapPanelTop = New-Object Windows.Controls.WrapPanel
$wrapPanelTop.Background = $window.FindResource("MainBackgroundColor") # Dynamic resource for the background $wrapPanelTop.Background = $window.FindResource("MainBackgroundColor")
$wrapPanelTop.HorizontalAlignment = "Left" $wrapPanelTop.HorizontalAlignment = "Left"
$wrapPanelTop.VerticalAlignment = "Top" $wrapPanelTop.VerticalAlignment = "Top"
$wrapPanelTop.Orientation = "Horizontal" $wrapPanelTop.Orientation = "Horizontal"
$wrapPanelTop.Margin = $window.FindResource("TabContentMargin") # Dynamic resource for the margin $wrapPanelTop.Margin = $window.FindResource("TabContentMargin")
# Create buttons and add them to the WrapPanel with dynamic widths # Create buttons and add them to the WrapPanel with dynamic widths
$installButton = New-Object Windows.Controls.Button $installButton = New-Object Windows.Controls.Button
$installButton.Name = "WPFInstall" $installButton.Name = "WPFInstall"
$installButton.Content = "Install/Upgrade Selected" $installButton.Content = "Install/Upgrade Selected"
$installButton.Margin = New-Object Windows.Thickness(2) $installButton.Margin = New-Object Windows.Thickness(2)
$installButton.MinWidth = 100 # Minimum width to ensure readability
$installButton.MaxWidth = 200 # Max width to prevent buttons from being too large
$installButton.HorizontalAlignment = "Stretch" $installButton.HorizontalAlignment = "Stretch"
$wrapPanelTop.Children.Add($installButton) | Out-Null $wrapPanelTop.Children.Add($installButton) | Out-Null
$sync["WPFInstall"] = $installButton
$upgradeButton = New-Object Windows.Controls.Button $upgradeButton = New-Object Windows.Controls.Button
$upgradeButton.Name = "WPFInstallUpgrade" $upgradeButton.Name = "WPFInstallUpgrade"
$upgradeButton.Content = "Upgrade All" $upgradeButton.Content = "Upgrade All"
$upgradeButton.Margin = New-Object Windows.Thickness(2) $upgradeButton.Margin = New-Object Windows.Thickness(2)
$upgradeButton.MinWidth = 100
$upgradeButton.MaxWidth = 200
$upgradeButton.HorizontalAlignment = "Stretch" $upgradeButton.HorizontalAlignment = "Stretch"
$wrapPanelTop.Children.Add($upgradeButton) | Out-Null $wrapPanelTop.Children.Add($upgradeButton) | Out-Null
$sync["WPFInstallUpgrade"] = $upgradeButton
$uninstallButton = New-Object Windows.Controls.Button $uninstallButton = New-Object Windows.Controls.Button
$uninstallButton.Name = "WPFUninstall" $uninstallButton.Name = "WPFUninstall"
$uninstallButton.Content = "Uninstall Selected" $uninstallButton.Content = "Uninstall Selected"
$uninstallButton.Margin = New-Object Windows.Thickness(2) $uninstallButton.Margin = New-Object Windows.Thickness(2)
$uninstallButton.MinWidth = 100
$uninstallButton.MaxWidth = 200
$uninstallButton.HorizontalAlignment = "Stretch" $uninstallButton.HorizontalAlignment = "Stretch"
$wrapPanelTop.Children.Add($uninstallButton) | Out-Null $wrapPanelTop.Children.Add($uninstallButton) | Out-Null
$sync["WPFUninstall"] = $uninstallButton
$getInstalledButton = New-Object Windows.Controls.Button
$getInstalledButton.Name = "WPFGetInstalled"
$getInstalledButton.Content = "Get Installed"
$getInstalledButton.Margin = New-Object Windows.Thickness(2)
$getInstalledButton.MinWidth = 100
$getInstalledButton.MaxWidth = 200
$getInstalledButton.HorizontalAlignment = "Stretch"
$wrapPanelTop.Children.Add($getInstalledButton) | Out-Null
$clearSelectionButton = New-Object Windows.Controls.Button
$clearSelectionButton.Name = "WPFClearInstallSelection"
$clearSelectionButton.Content = "Clear Selection"
$clearSelectionButton.Margin = New-Object Windows.Thickness(2)
$clearSelectionButton.MinWidth = 100
$clearSelectionButton.MaxWidth = 200
$clearSelectionButton.HorizontalAlignment = "Stretch"
$wrapPanelTop.Children.Add($clearSelectionButton) | Out-Null
# Dock the WrapPanel at the top of the DockPanel # Dock the WrapPanel at the top of the DockPanel
[Windows.Controls.DockPanel]::SetDock($wrapPanelTop, [Windows.Controls.Dock]::Top) [Windows.Controls.DockPanel]::SetDock($wrapPanelTop, [Windows.Controls.Dock]::Top)
$dockPanelContainer.Children.Add($wrapPanelTop) | Out-Null $dockPanelContainer.Children.Add($wrapPanelTop) | Out-Null
} }
# Create a ScrollViewer to contain the main content (excluding buttons) # Create a ScrollViewer to contain the main content (excluding buttons)