|
1035 | 1035 | <!-- DRIVER STORE (pnputil /enum-drivers + size + old-version flag) --> |
1036 | 1036 | <!-- ═══════════════════════════════════════════════════════ --> |
1037 | 1037 | <DataGrid x:Name="dgDrivers" Visibility="Collapsed" AutoGenerateColumns="False" |
1038 | | - ItemsSource="{Binding DriverPackages}"> |
| 1038 | + ItemsSource="{Binding DriverPackages}" |
| 1039 | + AutomationProperties.Name="Driver Store packages" |
| 1040 | + AutomationProperties.HelpText="Third-party driver packages. Old versions can be removed to reclaim disk space."> |
1039 | 1041 | <DataGrid.Columns> |
1040 | 1042 | <DataGridTextColumn Binding="{Binding PublishedName}" Header="OEM" Width="90"/> |
1041 | 1043 | <DataGridTextColumn Binding="{Binding OriginalName}" Header="INF" Width="220"/> |
|
1051 | 1053 | <!-- STARTUP IMPACT (parsed from WDI boot traces) --> |
1052 | 1054 | <!-- ═══════════════════════════════════════════════════════ --> |
1053 | 1055 | <DataGrid x:Name="dgStartupImpact" Visibility="Collapsed" AutoGenerateColumns="False" |
1054 | | - ItemsSource="{Binding StartupImpacts}"> |
| 1056 | + ItemsSource="{Binding StartupImpacts}" |
| 1057 | + AutomationProperties.Name="Startup impact analysis" |
| 1058 | + AutomationProperties.HelpText="Boot-time cost per autorun process. High-impact processes slow system startup."> |
1055 | 1059 | <DataGrid.Columns> |
1056 | 1060 | <DataGridTextColumn Binding="{Binding Impact}" Header="IMPACT" Width="90"/> |
1057 | 1061 | <DataGridTextColumn Binding="{Binding ProcessName}" Header="PROCESS" Width="280"/> |
|
1065 | 1069 | <!-- BROKEN SHORTCUTS (.lnk on Desktop + Start Menu) --> |
1066 | 1070 | <!-- ═══════════════════════════════════════════════════════ --> |
1067 | 1071 | <DataGrid x:Name="dgShortcuts" Visibility="Collapsed" AutoGenerateColumns="False" |
1068 | | - ItemsSource="{Binding BrokenShortcuts}"> |
| 1072 | + ItemsSource="{Binding BrokenShortcuts}" |
| 1073 | + AutomationProperties.Name="Broken shortcuts" |
| 1074 | + AutomationProperties.HelpText="Desktop and Start Menu shortcuts pointing to missing targets."> |
1069 | 1075 | <DataGrid.Columns> |
1070 | 1076 | <DataGridTextColumn Binding="{Binding Path}" Header="SHORTCUT" Width="2*"/> |
1071 | 1077 | <DataGridTextColumn Binding="{Binding TargetPath}" Header="MISSING TARGET" Width="2*"/> |
|
1077 | 1083 | <!-- DUPLICATE FILES (size → XXH3 head → XXH3 full) --> |
1078 | 1084 | <!-- ═══════════════════════════════════════════════════════ --> |
1079 | 1085 | <DataGrid x:Name="dgDuplicates" Visibility="Collapsed" AutoGenerateColumns="False" |
1080 | | - ItemsSource="{Binding DuplicateGroups}"> |
| 1086 | + ItemsSource="{Binding DuplicateGroups}" |
| 1087 | + AutomationProperties.Name="Duplicate file groups" |
| 1088 | + AutomationProperties.HelpText="Files with identical content grouped by hash. Delete copies to reclaim wasted space."> |
1081 | 1089 | <DataGrid.Columns> |
1082 | 1090 | <DataGridTextColumn Binding="{Binding FileSize, Converter={StaticResource BytesToSizeConverter}}" Header="SIZE" Width="90"/> |
1083 | 1091 | <DataGridTextColumn Binding="{Binding Paths, Converter={StaticResource CountConverter}}" Header="COPIES" Width="70"/> |
|
1093 | 1101 | <!-- ═══════════════════════════════════════════════════════ --> |
1094 | 1102 | <!-- COMMUNITY CLEANERS (winapp2.ini) --> |
1095 | 1103 | <!-- ═══════════════════════════════════════════════════════ --> |
1096 | | - <Grid x:Name="panelWinapp2" Visibility="Collapsed"> |
| 1104 | + <Grid x:Name="panelWinapp2" Visibility="Collapsed" |
| 1105 | + AutomationProperties.Name="Community Cleaners panel" |
| 1106 | + AutomationProperties.HelpText="Winapp2.ini community-maintained cleaner definitions. Run applicable rules to clean third-party app caches."> |
1097 | 1107 | <Grid.RowDefinitions> |
1098 | 1108 | <RowDefinition Height="Auto"/> |
1099 | 1109 | <RowDefinition Height="*"/> |
|
1117 | 1127 | <!-- ═══════════════════════════════════════════════════════ --> |
1118 | 1128 | <!-- REPAIR WINDOWS (sfc / dism / chkdsk / caches) --> |
1119 | 1129 | <!-- ═══════════════════════════════════════════════════════ --> |
1120 | | - <Grid x:Name="panelRepair" Visibility="Collapsed"> |
| 1130 | + <Grid x:Name="panelRepair" Visibility="Collapsed" |
| 1131 | + AutomationProperties.Name="Windows Repair tools" |
| 1132 | + AutomationProperties.HelpText="System integrity and cache rebuild tools. sfc, DISM, chkdsk, font cache, and icon cache."> |
1121 | 1133 | <Grid.RowDefinitions> |
1122 | 1134 | <RowDefinition Height="Auto"/> |
1123 | 1135 | <RowDefinition Height="Auto"/> |
|
1130 | 1142 | </TextBlock> |
1131 | 1143 | </Border> |
1132 | 1144 | <WrapPanel Grid.Row="1" Orientation="Horizontal" Margin="24,4,24,14"> |
1133 | | - <Button Content="sfc /scannow" Command="{Binding RunSfcCommand}" Style="{DynamicResource AccentButton}" Margin="0,0,8,6" Padding="14,8"/> |
1134 | | - <Button Content="DISM ScanHealth" Command="{Binding RunDismScanCommand}" Margin="0,0,8,6" Padding="14,8"/> |
| 1145 | + <Button Content="sfc /scannow" Command="{Binding RunSfcCommand}" Style="{DynamicResource AccentButton}" Margin="0,0,8,6" Padding="14,8" |
| 1146 | + AutomationProperties.Name="Run System File Checker scan"/> |
| 1147 | + <Button Content="DISM ScanHealth" Command="{Binding RunDismScanCommand}" Margin="0,0,8,6" Padding="14,8" |
| 1148 | + AutomationProperties.Name="Run DISM scan health check"/> |
1135 | 1149 | <Button Content="DISM RestoreHealth" Command="{Binding RunDismRestoreCommand}" Margin="0,0,8,6" Padding="14,8"/> |
1136 | 1150 | <Button Content="DISM ComponentCleanup" Command="{Binding RunDismCleanupCommand}" Margin="0,0,8,6" Padding="14,8"/> |
1137 | 1151 | <Button Content="chkdsk C: /scan" Command="{Binding RunChkDskCommand}" Margin="0,0,8,6" Padding="14,8"/> |
|
1153 | 1167 | <!-- ═══════════════════════════════════════════════════════ --> |
1154 | 1168 | <!-- SCHEDULED CLEANING (schtasks wrappers) --> |
1155 | 1169 | <!-- ═══════════════════════════════════════════════════════ --> |
1156 | | - <Grid x:Name="panelSchedule" Visibility="Collapsed"> |
| 1170 | + <Grid x:Name="panelSchedule" Visibility="Collapsed" |
| 1171 | + AutomationProperties.Name="Scheduled Cleaning panel" |
| 1172 | + AutomationProperties.HelpText="Scheduled cleaning jobs running via Task Scheduler. Create jobs from the command line."> |
1157 | 1173 | <Grid.RowDefinitions> |
1158 | 1174 | <RowDefinition Height="Auto"/> |
1159 | 1175 | <RowDefinition Height="*"/> |
|
1173 | 1189 | <!-- ═══════════════════════════════════════════════════════ --> |
1174 | 1190 | <!-- ABOUT / UPDATES --> |
1175 | 1191 | <!-- ═══════════════════════════════════════════════════════ --> |
1176 | | - <Border x:Name="panelAbout" Visibility="Collapsed" Padding="48,32"> |
| 1192 | + <Border x:Name="panelAbout" Visibility="Collapsed" Padding="48,32" |
| 1193 | + AutomationProperties.Name="About and Updates panel" |
| 1194 | + AutomationProperties.HelpText="Application version, data location, portable mode status, and update check."> |
1177 | 1195 | <StackPanel MaxWidth="640" HorizontalAlignment="Left" VerticalAlignment="Top"> |
1178 | 1196 | <TextBlock Text="DeepPurge" FontSize="32" FontWeight="Bold" |
1179 | 1197 | Foreground="{DynamicResource TextBrush}" Margin="0,0,0,2"/> |
|
0 commit comments