mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-04-05 18:57:19 +02:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request - Fix tab navigation issues #41717 - Minor improvement: - Show module group only if there are modules to show #41526 - Add line break in the "no results" message 0.94 <img width="769" height="422" alt="image" src="https://github.com/user-attachments/assets/111fc200-5811-43aa-9ea0-3f8d80543560" /> PR <img width="812" height="524" alt="image" src="https://github.com/user-attachments/assets/65070862-ff3f-4294-8aad-2ade4e6d4e90" /> <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [x] Closes: #41717 #41526 - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed - Verified that tab navigation is smooth between search groups - Verified that narrator announces group names - Tested empty search results page
94 lines
5.1 KiB
XML
94 lines
5.1 KiB
XML
<Page
|
|
x:Class="Microsoft.PowerToys.Settings.UI.Views.SearchResultsPage"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="using:Microsoft.PowerToys.Settings.UI.Controls"
|
|
xmlns:converters="using:Microsoft.PowerToys.Settings.UI.Converters"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:models="using:Settings.UI.Library"
|
|
xmlns:tkcontrols="using:CommunityToolkit.WinUI.Controls"
|
|
xmlns:tkconverters="using:CommunityToolkit.WinUI.Converters"
|
|
xmlns:ui="using:CommunityToolkit.WinUI"
|
|
xmlns:vm="using:Microsoft.PowerToys.Settings.UI.ViewModels"
|
|
x:Name="RootPage"
|
|
AutomationProperties.LandmarkType="Main"
|
|
mc:Ignorable="d">
|
|
|
|
<Page.Resources>
|
|
<converters:IconConverter x:Key="IconConverter" />
|
|
<tkconverters:CollectionVisibilityConverter x:Key="CollectionVisibilityConverter" />
|
|
</Page.Resources>
|
|
|
|
<controls:SettingsPageControl x:Name="PageControl" x:Uid="SearchResults_Title">
|
|
<controls:SettingsPageControl.ModuleContent>
|
|
<StackPanel Margin="0,-40,0,0" Orientation="Vertical">
|
|
<controls:SettingsGroup
|
|
x:Uid="SearchResults_ModulesTitle"
|
|
Margin="0,-10,0,0"
|
|
Visibility="{x:Bind ViewModel.ModuleResults, Mode=OneWay, Converter={StaticResource CollectionVisibilityConverter}}">
|
|
<ItemsControl
|
|
x:Name="ModulesItemsControl"
|
|
IsTabStop="False"
|
|
ItemsSource="{x:Bind ViewModel.ModuleResults, Mode=OneWay}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="models:SettingEntry">
|
|
<tkcontrols:SettingsCard
|
|
Margin="0,0,0,2"
|
|
Click="ModuleButton_Click"
|
|
Header="{x:Bind Header}"
|
|
HeaderIcon="{x:Bind Icon, Converter={StaticResource IconConverter}, ConverterParameter=}"
|
|
IsClickEnabled="True" />
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</controls:SettingsGroup>
|
|
|
|
<!-- Settings Groups -->
|
|
<ItemsControl
|
|
x:Name="SettingsGroupsItemsControl"
|
|
IsTabStop="False"
|
|
ItemsSource="{x:Bind ViewModel.GroupedSettingsResults, Mode=OneWay}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="vm:SettingsGroup">
|
|
<controls:SettingsGroup Header="{x:Bind GroupName}">
|
|
<ItemsControl IsTabStop="False" ItemsSource="{x:Bind Settings}">
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate x:DataType="models:SettingEntry">
|
|
<tkcontrols:SettingsCard
|
|
Margin="0,0,0,2"
|
|
Click="SettingButton_Click"
|
|
Description="{x:Bind Description}"
|
|
Header="{x:Bind Header}"
|
|
HeaderIcon="{x:Bind Icon, Converter={StaticResource IconConverter}, ConverterParameter=}"
|
|
IsClickEnabled="True" />
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</controls:SettingsGroup>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
|
|
<!-- No Results Message -->
|
|
<StackPanel
|
|
x:Name="NoResultsPanel"
|
|
HorizontalAlignment="Center"
|
|
Spacing="16"
|
|
Visibility="{x:Bind ViewModel.HasNoResults, Mode=OneWay, Converter={StaticResource BoolToVisibilityConverter}}">
|
|
<FontIcon
|
|
AutomationProperties.AccessibilityView="Raw"
|
|
FontSize="48"
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
Glyph="" />
|
|
<TextBlock HorizontalAlignment="Center" TextAlignment="Center">
|
|
<Run x:Uid="SearchResults_NoResultsHeader" FontWeight="SemiBold" />
|
|
<LineBreak />
|
|
<Run x:Uid="SearchResults_NoResultsDescription" Foreground="{ThemeResource TextFillColorSecondaryBrush}" />
|
|
</TextBlock>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</controls:SettingsPageControl.ModuleContent>
|
|
</controls:SettingsPageControl>
|
|
</Page>
|