255 references to PanelTargetKind
Aspire.Tray.Tests (255)
src\Aspire.Tray\Common\TrayPanel.cs (99)
210
_focus = new(
PanelTargetKind
.Back, PanelSection.None, null);
406
_focus = new(
PanelTargetKind
.OpenInMenu, open.Section, open.Host);
443
private static bool IsPrimary(
PanelTargetKind
kind)
444
=> kind is
PanelTargetKind
.Row or
PanelTargetKind
.ToggleRecent or
PanelTargetKind
.Documentation
445
or
PanelTargetKind
.Settings or
PanelTargetKind
.Quit or
PanelTargetKind
.ConfirmCancel or
PanelTargetKind
.Back
446
or
PanelTargetKind
.LaunchAtSignIn || IsActionItem(kind);
448
private static bool IsConfirmTarget(
PanelTargetKind
kind)
449
=> kind is
PanelTargetKind
.ConfirmCancel or
PanelTargetKind
.ConfirmAccept;
452
private static bool IsActionItem(
PanelTargetKind
kind)
453
=> kind is
PanelTargetKind
.OpenInMenu or
PanelTargetKind
.OpenIn or
PanelTargetKind
.ShowInFolder or
PanelTargetKind
.CopyPath
454
or
PanelTargetKind
.TogglePin or
PanelTargetKind
.RemoveRecent;
486
var top = Scene.Targets.FirstOrDefault(target => target.Key == row with { Kind =
PanelTargetKind
.Row, Item = 0 })?.Bounds.Y ?? bottom;
506
_focus = new(
PanelTargetKind
.More, actions.Section, actions.Host);
516
_focus = new(
PanelTargetKind
.ConfirmCancel, confirm.Section, confirm.Host?.Id);
548
PanelConfirmKind.ClearRecent => new(
PanelTargetKind
.ClearRecent, confirm.Section, null),
549
_ => new(
PanelTargetKind
.Start, confirm.Section, confirm.Host?.Id)
558
_focus = new(
PanelTargetKind
.Settings, PanelSection.None, null);
583
index = order.FindIndex(target => target.Kind ==
PanelTargetKind
.Row && target.Key.Host == current.Host
639
if (_actions is not null && target.Kind is not (
PanelTargetKind
.More or
PanelTargetKind
.Row) && !IsActionItem(target.Kind))
649
case
PanelTargetKind
.Row:
651
case
PanelTargetKind
.Dashboard:
653
case
PanelTargetKind
.More:
656
case
PanelTargetKind
.Stop:
658
case
PanelTargetKind
.Start:
660
case
PanelTargetKind
.OpenInMenu:
666
case
PanelTargetKind
.OpenIn:
673
case
PanelTargetKind
.ShowInFolder:
676
case
PanelTargetKind
.CopyPath:
679
case
PanelTargetKind
.TogglePin:
682
case
PanelTargetKind
.RemoveRecent:
685
case
PanelTargetKind
.ToggleRecent:
689
case
PanelTargetKind
.ClearRecent:
692
case
PanelTargetKind
.ConfirmCancel:
695
case
PanelTargetKind
.ConfirmAccept when _confirm is { } confirmed:
703
case
PanelTargetKind
.Back:
704
case
PanelTargetKind
.Settings when _settings is not null:
707
case
PanelTargetKind
.LaunchAtSignIn:
709
case
PanelTargetKind
.Documentation:
711
case
PanelTargetKind
.Settings:
713
case
PanelTargetKind
.Quit:
754
void Add(ListItemKind kind, double height, PanelSection section, AppHostMenuItem? host,
PanelTargetKind
target = default)
795
Add(ListItemKind.SectionHeader, SectionHeaderHeight, PanelSection.None, null,
PanelTargetKind
.LaunchAtSignIn);
796
Add(ListItemKind.SettingsToggle, SettingsRowHeight, PanelSection.None, null,
PanelTargetKind
.LaunchAtSignIn);
797
Add(ListItemKind.SectionHeader, SectionHeaderHeight, PanelSection.None, null,
PanelTargetKind
.Documentation);
858
var general = item.Target ==
PanelTargetKind
.LaunchAtSignIn;
1004
var toggleKey = new PanelTargetKey(
PanelTargetKind
.ToggleRecent, section, null);
1015
var clearKey = new PanelTargetKey(
PanelTargetKind
.ClearRecent, section, null);
1025
var rowKey = new PanelTargetKey(
PanelTargetKind
.Row, section, host.Id);
1040
? new[] {
PanelTargetKind
.Dashboard,
PanelTargetKind
.Stop,
PanelTargetKind
.More }
1041
: [
PanelTargetKind
.Start,
PanelTargetKind
.More];
1050
foreach (
var
kind in buttons)
1057
PanelTargetKind
.Dashboard => (PanelIcon.ExternalLink, $"Open dashboard for {host.DisplayName}", "Open dashboard", host.CanOpenDashboard),
1058
PanelTargetKind
.Stop => (PanelIcon.Stop, $"Stop {host.DisplayName}", "Stop", host.CanStop),
1059
PanelTargetKind
.Start => (PanelIcon.Play, $"Start {host.DisplayName}", "Start", host.CanStart),
1070
if (kind ==
PanelTargetKind
.More && expanded && _hover != key && _pressed != key)
1109
private List<(
PanelTargetKind
Kind, int Item, PanelIcon Icon, string Label, string Name)> GetRowActions(AppHostMenuItem host, PanelSection section)
1112
var actions = new List<(
PanelTargetKind
, int, PanelIcon, string, string)>();
1115
actions.Add((
PanelTargetKind
.OpenInMenu, 0, PanelIcon.AppWindow, "Open in",
1120
actions.Add((
PanelTargetKind
.OpenIn, i, PanelIcon.AppWindow, application, $"Open {name} in {application}"));
1123
actions.Add((
PanelTargetKind
.ShowInFolder, 0, PanelIcon.Folder, $"Show in {_fileManagerName}", $"Show {name} in {_fileManagerName}"));
1124
actions.Add((
PanelTargetKind
.CopyPath, 0, PanelIcon.Copy, "Copy path", $"Copy the folder path of {name}"));
1126
? (
PanelTargetKind
.TogglePin, 0, PanelIcon.Unpin, "Unpin", $"Unpin {name}")
1127
: (
PanelTargetKind
.TogglePin, 0, PanelIcon.Pin, "Pin", $"Pin {name}"));
1130
actions.Add((
PanelTargetKind
.RemoveRecent, 0, PanelIcon.Remove, "Remove from recent", $"Remove {name} from recent AppHosts"));
1153
if (kind ==
PanelTargetKind
.OpenIn)
1168
if (kind ==
PanelTargetKind
.OpenInMenu)
1240
var cancelKey = new PanelTargetKey(
PanelTargetKind
.ConfirmCancel, section, id);
1241
var acceptKey = new PanelTargetKey(
PanelTargetKind
.ConfirmAccept, section, id);
1269
var backKey = new PanelTargetKey(
PanelTargetKind
.Back, PanelSection.None, null);
1278
private void AddSettingsToggle(List<PanelCommand> commands, List<PanelHitTarget> targets,
PanelTargetKind
kind, PanelSettings settings,
1333
(
PanelTargetKind
.Settings, PanelIcon.Gear, _settings is null ? "Settings" : "Close settings",
1335
(
PanelTargetKind
.Documentation, PanelIcon.Globe, "Open Aspire documentation", "Documentation", null, right - 2 * ButtonSize - ButtonGap),
1336
(
PanelTargetKind
.Quit, PanelIcon.Power, _quitVerb, quitDescription, quitDescription, right - ButtonSize)
1341
if (kind ==
PanelTargetKind
.Settings && _settings is not null && _hover != key && _pressed != key)
1386
private static bool IsChrome(
PanelTargetKind
kind)
1387
=> kind is
PanelTargetKind
.Documentation or
PanelTargetKind
.Settings or
PanelTargetKind
.Quit or
PanelTargetKind
.Back;
1391
&& value.Kind is
PanelTargetKind
.Row or
PanelTargetKind
.Dashboard or
PanelTargetKind
.Stop
1392
or
PanelTargetKind
.Start or
PanelTargetKind
.More;
1481
PanelTargetKind
Target);
src\Aspire.Tray\Common\TrayPanelScene.cs (2)
149
internal readonly record struct PanelTargetKey(
PanelTargetKind
Kind, PanelSection Section, AppHostId? Host, int Item = 0);
182
public
PanelTargetKind
Kind => Key.Kind;
TrayPanelTests.cs (154)
40
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[3]).HitBounds);
43
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
44
Click(panel, Target(panel,
PanelTargetKind
.OpenInMenu, state.AppHosts[0]).HitBounds);
47
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ToggleRecent).HitBounds);
48
Click(panel, Target(panel,
PanelTargetKind
.More, state.RecentAppHosts[0]).HitBounds);
51
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
81
var footer = scene.Targets.Where(target => target.Kind is
PanelTargetKind
.Documentation or
PanelTargetKind
.Settings or
PanelTargetKind
.Quit).ToList();
84
Assert.All(scene.Targets.Where(target => target.Kind is not (
PanelTargetKind
.Documentation or
PanelTargetKind
.Settings
85
or
PanelTargetKind
.Quit or
PanelTargetKind
.Back)),
94
var rows = scene.Targets.Where(target => target.Kind is
PanelTargetKind
.Row).ToList();
95
var buttons = scene.Targets.Where(target => target.Kind is
PanelTargetKind
.Dashboard or
PanelTargetKind
.Stop
96
or
PanelTargetKind
.Start or
PanelTargetKind
.More).ToList();
112
var buttons = scene.Targets.Where(target => target.Kind is
PanelTargetKind
.Dashboard or
PanelTargetKind
.Stop
113
or
PanelTargetKind
.Start or
PanelTargetKind
.More).Select(target => target.Bounds).ToList();
132
var rows = scene.Targets.Where(target => target.Kind ==
PanelTargetKind
.Row).ToList();
137
Assert.Contains(scene.Targets, target => target.Kind ==
PanelTargetKind
.ClearRecent);
145
var toggle = Assert.Single(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.ToggleRecent);
151
Assert.Equal(2, panel.Scene.Targets.Count(target => target.Kind ==
PanelTargetKind
.Row && target.Key.Section == PanelSection.Recent));
161
Assert.Equal(2, panel.Scene.Targets.Count(target => target.Kind ==
PanelTargetKind
.Row));
172
var response = Click(panel, Target(panel,
PanelTargetKind
.Row, host).HitBounds, offsetX: 10);
177
var focused = Target(panel,
PanelTargetKind
.Row, state.AppHosts[0]).Key;
188
var row = Target(panel,
PanelTargetKind
.Row, host);
190
var response = Click(panel, Target(panel,
PanelTargetKind
.More, host).HitBounds);
202
var next = Target(panel,
PanelTargetKind
.Row, state.AppHosts[3]);
217
PanelAction? Pick(
PanelTargetKind
kind, int item = 0)
219
Click(panel, Target(panel,
PanelTargetKind
.More, host).HitBounds);
220
if (kind ==
PanelTargetKind
.OpenIn)
222
Click(panel, Target(panel,
PanelTargetKind
.OpenInMenu, host).HitBounds);
231
Pick(
PanelTargetKind
.OpenIn, 1)! with { Anchor = default });
232
Assert.Equal(PanelActionKind.ShowInFolder, Pick(
PanelTargetKind
.ShowInFolder)?.Kind);
233
Assert.Equal(PanelActionKind.CopyPath, Pick(
PanelTargetKind
.CopyPath)?.Kind);
234
var pin = Pick(
PanelTargetKind
.TogglePin);
237
Click(panel, Target(panel,
PanelTargetKind
.More, host).HitBounds);
246
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[3]).HitBounds);
248
Assert.Equal("Unpin Weather", panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.TogglePin).AccessibleName);
249
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.RemoveRecent);
251
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ToggleRecent).HitBounds);
253
Click(panel, Target(panel,
PanelTargetKind
.More, recent).HitBounds);
254
var remove = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.RemoveRecent);
267
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
268
Assert.Equal("Hide actions for eShop", Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).AccessibleName);
269
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
272
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
273
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[1]).HitBounds);
276
var stop = Click(panel, Target(panel,
PanelTargetKind
.Stop, state.AppHosts[0]).HitBounds);
287
var more = Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).Key;
293
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.OpenInMenu, PanelSection.Running, host), panel.FocusedTarget);
297
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.OpenIn, PanelSection.Running, host, 1), panel.FocusedTarget);
301
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.OpenInMenu, PanelSection.Running, host), panel.FocusedTarget);
302
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.OpenIn);
304
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.ShowInFolder, PanelSection.Running, host), panel.FocusedTarget);
317
Click(panel, Target(panel,
PanelTargetKind
.More, host).HitBounds);
320
var openIn = Target(panel,
PanelTargetKind
.OpenInMenu, host);
324
Assert.Equal($"Hide applications to open {host.DisplayName} in", Target(panel,
PanelTargetKind
.OpenInMenu, host).AccessibleName);
325
var applications = panel.Scene.Targets.Where(target => target.Kind ==
PanelTargetKind
.OpenIn).ToList();
334
Click(panel, Target(panel,
PanelTargetKind
.OpenInMenu, host).HitBounds);
335
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.OpenIn);
343
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
345
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind is
PanelTargetKind
.OpenInMenu or
PanelTargetKind
.OpenIn);
353
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
357
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.CopyPath);
367
panel.Focus(Target(panel,
PanelTargetKind
.Row, last).Key);
369
panel.Invoke(Target(panel,
PanelTargetKind
.More, last).Key);
371
Assert.All(panel.Scene.Targets.Where(target => target.Kind is
PanelTargetKind
.CopyPath or
PanelTargetKind
.TogglePin),
383
Assert.Equal(Target(panel,
PanelTargetKind
.Row, state.AppHosts[0]).Key, panel.FocusedTarget);
393
Assert.Equal(PanelActionKind.Stop, Click(panel, Target(panel,
PanelTargetKind
.Stop, state.AppHosts[0]).HitBounds).Action?.Kind);
394
Assert.Equal(PanelActionKind.OpenDashboard, Click(panel, Target(panel,
PanelTargetKind
.Dashboard, state.AppHosts[0]).HitBounds).Action?.Kind);
395
var start = Click(panel, Target(panel,
PanelTargetKind
.Start, state.AppHosts[3]).HitBounds).Action;
398
Assert.Equal(PanelActionKind.Settings, Click(panel, panel.Scene.Targets.Single(t => t.Kind ==
PanelTargetKind
.Settings).HitBounds).Action?.Kind);
399
Assert.Equal(PanelActionKind.Quit, Click(panel, panel.Scene.Targets.Single(t => t.Kind ==
PanelTargetKind
.Quit).HitBounds).Action?.Kind);
400
Assert.Equal(PanelActionKind.Documentation, Click(panel, panel.Scene.Targets.Single(t => t.Kind ==
PanelTargetKind
.Documentation).HitBounds).Action?.Kind);
408
var dashboard = Target(panel,
PanelTargetKind
.Dashboard, state.AppHosts[2]);
419
var stop = Target(panel,
PanelTargetKind
.Stop, state.AppHosts[0]);
420
var more = Target(panel,
PanelTargetKind
.More, state.AppHosts[0]);
433
var stop = Target(panel,
PanelTargetKind
.Stop, state.AppHosts[0]);
451
var row = Target(panel,
PanelTargetKind
.Row, state.AppHosts[0]);
468
var footer = scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Quit).Bounds;
474
Assert.Equal(footer, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Quit).Bounds);
479
var last = panel.Scene.Targets.Last(target => target.Kind ==
PanelTargetKind
.ToggleRecent);
491
var first = panel.Scene.Targets.FirstOrDefault(target => target.Kind ==
PanelTargetKind
.Row && target.Host == state.AppHosts[0]);
505
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.Row, PanelSection.Running, state.AppHosts[0].Id), panel.FocusedTarget);
511
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.Row, PanelSection.Running, state.AppHosts[^1].Id), panel.FocusedTarget);
533
Assert.DoesNotContain(new PanelTargetKey(
PanelTargetKind
.Dashboard, PanelSection.Running, state.AppHosts[2].Id), visited);
555
var action = Click(panel, Target(panel,
PanelTargetKind
.Stop, state.AppHosts[1]).HitBounds).Action;
557
Assert.Equal(new PanelAction(PanelActionKind.Stop, state.AppHosts[1], Target(panel,
PanelTargetKind
.Stop, state.AppHosts[1]).Bounds), action);
559
Assert.Contains(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.Row && target.Host == state.AppHosts[1]);
570
Assert.False(Target(panel,
PanelTargetKind
.Dashboard, stopping).Enabled);
571
Assert.Null(Click(panel, Target(panel,
PanelTargetKind
.Row, stopping).HitBounds, offsetX: 10).Action);
572
Assert.Null(Click(panel, Target(panel,
PanelTargetKind
.Row, starting).HitBounds, offsetX: 10).Action);
579
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
593
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
595
var response = Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ConfirmCancel).HitBounds);
599
Assert.Contains(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.ToggleRecent);
606
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
608
var action = Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Documentation).HitBounds).Action;
632
var response = Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
639
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind is
PanelTargetKind
.ToggleRecent);
640
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.ConfirmCancel, PanelSection.Recent, null), panel.FocusedTarget);
641
var accept = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ConfirmAccept);
658
var action = Click(panel, Target(panel,
PanelTargetKind
.ConfirmAccept, missing).HitBounds).Action;
668
Assert.Equal(PanelActionKind.Settings, Click(panel, panel.Scene.Targets.Single(t => t.Kind ==
PanelTargetKind
.Settings).HitBounds).Action?.Kind);
674
Assert.DoesNotContain(panel.Scene.Targets, target => target.Kind ==
PanelTargetKind
.Row);
675
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.Back, PanelSection.None, null), panel.FocusedTarget);
676
var launch = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.LaunchAtSignIn);
688
Assert.True(panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.LaunchAtSignIn).Checked);
697
var launch = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.LaunchAtSignIn);
710
var launch = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.LaunchAtSignIn);
731
Assert.Equal(new PanelTargetKey(
PanelTargetKind
.Settings, PanelSection.None, null), panel.FocusedTarget);
734
Assert.Null(Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Back).HitBounds).Action);
743
Click(panel, Target(panel,
PanelTargetKind
.Stop, state.AppHosts[0]).HitBounds);
751
Click(panel, Target(panel,
PanelTargetKind
.More, state.AppHosts[0]).HitBounds);
884
Assert.All(scene.Targets.Where(target => target.Kind ==
PanelTargetKind
.Back),
1024
Click(panel, panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).HitBounds);
1025
var accept = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ConfirmAccept);
1171
var row = panel.Scene.Targets.Where(target => target.Kind ==
PanelTargetKind
.Row).ElementAt(1);
1196
Assert.Equal([
PanelTargetKind
.Settings,
PanelTargetKind
.Documentation,
PanelTargetKind
.Quit],
1212
Assert.Equal(
PanelTargetKind
.Row, firstRow.Target?.Kind);
1215
var recent = scene.Accessibility.Single(element => element.Target?.Kind ==
PanelTargetKind
.ToggleRecent);
1223
panel.Invoke(panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).Key);
1242
Assert.Null(panel.Invoke(panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ClearRecent).Key).Action);
1244
Assert.Equal(
PanelTargetKind
.ConfirmCancel, panel.FocusedTarget?.Kind);
1246
var accept = panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.ConfirmAccept).Key;
1257
var disabled = Target(panel,
PanelTargetKind
.Dashboard, state.AppHosts[2]);
1261
Assert.Equal(PanelResponse.None, panel.Invoke(new(
PanelTargetKind
.Back, PanelSection.None, null)));
1269
var last = panel.Scene.Accessibility.Last(element => element.Target?.Kind ==
PanelTargetKind
.Row);
1290
var launch = panel.Scene.Accessibility.Single(element => element.Target?.Kind ==
PanelTargetKind
.LaunchAtSignIn);
1308
Assert.Equal("Open dashboard", Target(panel,
PanelTargetKind
.Dashboard, running).Tooltip);
1309
Assert.Equal("Stop", Target(panel,
PanelTargetKind
.Stop, running).Tooltip);
1310
Assert.Equal("Start", Target(panel,
PanelTargetKind
.Start, stopped).Tooltip);
1311
Assert.Equal("More actions", Target(panel,
PanelTargetKind
.More, running).Tooltip);
1314
Assert.All(panel.Scene.Targets.Where(target => target.Kind is
PanelTargetKind
.Row or
PanelTargetKind
.ToggleRecent or
PanelTargetKind
.ClearRecent),
1317
Click(panel, Target(panel,
PanelTargetKind
.More, running).HitBounds);
1318
Assert.Equal("Hide actions", Target(panel,
PanelTargetKind
.More, running).Tooltip);
1320
Assert.Equal("Back", panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Back).Tooltip);
1321
Assert.Equal("Close settings", panel.Scene.Targets.Single(target => target.Kind ==
PanelTargetKind
.Settings).Tooltip);
1330
var quit = panel.Scene.Accessibility.Single(element => element.Target?.Kind ==
PanelTargetKind
.Quit);
1344
Assert.Equal([
PanelTargetKind
.Settings,
PanelTargetKind
.Documentation,
PanelTargetKind
.Quit], footer.Select(target => target.Kind));
1350
private static PanelHitTarget Target(TrayPanel panel,
PanelTargetKind
kind, AppHostMenuItem host)