From 0c7408a2e8d17d180ddff23c02272491fbbf11c8 Mon Sep 17 00:00:00 2001
From: 0x5BFA <62196528+0x5bfa@users.noreply.github.com>
Date: Thu, 18 Dec 2025 09:20:47 +0900
Subject: [PATCH 1/3] Update the UI automation classes
---
.../Sidebar/SidebarItemAutomationPeer.cs | 20 ++++++++-----------
.../Sidebar/SidebarViewAutomationPeer.cs | 14 ++++++-------
2 files changed, 15 insertions(+), 19 deletions(-)
diff --git a/src/Files.App.Controls/Sidebar/SidebarItemAutomationPeer.cs b/src/Files.App.Controls/Sidebar/SidebarItemAutomationPeer.cs
index 47721f6cc443..fbd204b74cbf 100644
--- a/src/Files.App.Controls/Sidebar/SidebarItemAutomationPeer.cs
+++ b/src/Files.App.Controls/Sidebar/SidebarItemAutomationPeer.cs
@@ -9,6 +9,9 @@
namespace Files.App.Controls
{
+ ///
+ /// Exposes types to Microsoft UI Automation.
+ ///
public sealed partial class SidebarItemAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IExpandCollapseProvider, ISelectionItemProvider
{
public ExpandCollapseState ExpandCollapseState
@@ -17,6 +20,7 @@ public ExpandCollapseState ExpandCollapseState
{
if (Owner.HasChildren)
return Owner.IsExpanded ? ExpandCollapseState.Expanded : ExpandCollapseState.Collapsed;
+
return ExpandCollapseState.LeafNode;
}
}
@@ -27,7 +31,7 @@ public ExpandCollapseState ExpandCollapseState
public SidebarItemAutomationPeer(SidebarItem owner) : base(owner)
{
- this.Owner = owner;
+ Owner = owner;
}
protected override AutomationControlType GetAutomationControlTypeCore()
@@ -49,28 +53,22 @@ protected override object GetPatternCore(PatternInterface patternInterface)
else if (patternInterface == PatternInterface.ExpandCollapse)
{
if (Owner.CollapseEnabled)
- {
return this;
- }
}
+
return base.GetPatternCore(patternInterface);
}
public void Collapse()
{
if (Owner.CollapseEnabled)
- {
Owner.IsExpanded = false;
- }
}
public void Expand()
{
-
if (Owner.CollapseEnabled)
- {
Owner.IsExpanded = true;
- }
}
public void Invoke()
@@ -106,13 +104,11 @@ protected override int GetPositionInSetCore()
private IList GetOwnerCollection()
{
if (Owner.FindAscendant() is SidebarItem parent && parent.Item?.Children is IList list)
- {
return list;
- }
+
if (Owner?.Owner is not null && Owner.Owner.ViewModel.SidebarItems is IList items)
- {
return items;
- }
+
return new List