88 references to LinuxTrayAction
Aspire.Tray.Tests (88)
LinuxTrayTests.cs (39)
61description.Append(item.Action == LinuxTrayAction.Separator ? "---" 86Assert.Equal(LinuxTrayAction.None, item.Action); 89Assert.Equal([LinuxTrayAction.Settings, LinuxTrayAction.Documentation, LinuxTrayAction.Quit], 340Assert.Throws<UnauthorizedAccessException>(() => application.Execute(new("", LinuxTrayAction.Folder, host))); 460Assert.Equal(LinuxTrayAction.None, row.Action); 462var actions = row.Children!.Where(item => item.Action is not (LinuxTrayAction.None or LinuxTrayAction.Separator)).ToArray(); 463Assert.Equal([LinuxTrayAction.Dashboard, LinuxTrayAction.Stop, 464LinuxTrayAction.Folder, LinuxTrayAction.CopyPath, LinuxTrayAction.TogglePin], actions.Select(item => item.Action)); 469Assert.Equal(LinuxTrayAction.OpenIn, editor.Action); 473Assert.Equal(LinuxTrayIcon.Documentation, menu.Single(item => item.Action == LinuxTrayAction.Documentation).Icon); 474Assert.Equal(LinuxTrayIcon.Settings, menu.Single(item => item.Action == LinuxTrayAction.Settings).Icon); 530var action = row.Children!.Single(item => item.Action == LinuxTrayAction.RemoveRecent); 540Assert.Equal([LinuxTrayAction.Start, LinuxTrayAction.Separator, 541LinuxTrayAction.Folder, LinuxTrayAction.CopyPath, LinuxTrayAction.TogglePin, LinuxTrayAction.Separator, LinuxTrayAction.None, 542LinuxTrayAction.None], item.Children!.Select(child => child.Action))); 564Assert.Equal(LinuxTrayAction.OpenIn, item.Action); 569Assert.Equal([LinuxTrayAction.Dashboard, LinuxTrayAction.Stop, 570LinuxTrayAction.Separator, LinuxTrayAction.Folder, LinuxTrayAction.CopyPath, LinuxTrayAction.TogglePin, 571LinuxTrayAction.Separator, LinuxTrayAction.None, LinuxTrayAction.None], 618Assert.Equal(LinuxTrayAction.None, row.Action); 619Assert.Equal(LinuxTrayAction.Start, row.Children![0].Action); 622Assert.Equal("Unpin", row.Children.Single(item => item.Action == LinuxTrayAction.TogglePin).Label);
src\Aspire.Tray\Linux\LinuxTrayApplication.cs (29)
377var widget = item.Action == LinuxTrayAction.Separator ? Gtk.gtk_separator_menu_item_new() 400else if (item.Action is not (LinuxTrayAction.None or LinuxTrayAction.Separator)) 489if (item.Action is LinuxTrayAction.Start or LinuxTrayAction.Folder or LinuxTrayAction.OpenIn 507case LinuxTrayAction.Dashboard: 510case LinuxTrayAction.Stop: 513case LinuxTrayAction.Start: 516case LinuxTrayAction.TogglePin: 519case LinuxTrayAction.RemoveRecent: 522case LinuxTrayAction.Folder: 528case LinuxTrayAction.CopyPath: 531case LinuxTrayAction.OpenIn: 535case LinuxTrayAction.ClearRecent: 541case LinuxTrayAction.Settings: 544case LinuxTrayAction.Documentation: 547case LinuxTrayAction.Quit: 653var command = action.Kind switch 655PanelActionKind.OpenDashboard => LinuxTrayAction.Dashboard, 656PanelActionKind.Stop => LinuxTrayAction.Stop, 657PanelActionKind.Start => LinuxTrayAction.Start, 658PanelActionKind.OpenIn => LinuxTrayAction.OpenIn, 659PanelActionKind.ShowInFolder => LinuxTrayAction.Folder, 660PanelActionKind.CopyPath => LinuxTrayAction.CopyPath, 661PanelActionKind.TogglePin => LinuxTrayAction.TogglePin, 662PanelActionKind.RemoveRecent => LinuxTrayAction.RemoveRecent, 663PanelActionKind.Documentation => LinuxTrayAction.Documentation, 664PanelActionKind.Quit => LinuxTrayAction.Quit,
src\Aspire.Tray\Linux\LinuxTrayMenu.cs (20)
9internal sealed record LinuxTrayMenuItem(string Label, LinuxTrayAction Action = LinuxTrayAction.None, 42items.Add(new("", LinuxTrayAction.Separator)); 44recent.Add(new("", LinuxTrayAction.Separator)); 45recent.Add(new("Clear recent AppHosts...", LinuxTrayAction.ClearRecent, Enabled: state.CanClearRecent)); 48items.Add(new("", LinuxTrayAction.Separator)); 49items.Add(new("Settings...", LinuxTrayAction.Settings) { Icon = LinuxTrayIcon.Settings }); 50items.Add(new("Documentation", LinuxTrayAction.Documentation) { Icon = LinuxTrayIcon.Documentation }); 51items.Add(new("Quit", LinuxTrayAction.Quit)); 61items.Add(new("", LinuxTrayAction.Separator)); 71actions.Add(new("Open dashboard", LinuxTrayAction.Dashboard, host, host.CanOpenDashboard)); 73LinuxTrayAction.Stop, host, host.CanStop)); 77actions.Add(new(host.IsStarting ? "Starting..." : "Start", LinuxTrayAction.Start, host, host.CanStart)); 79actions.Add(new("", LinuxTrayAction.Separator)); 83new LinuxTrayMenuItem(application.Title, LinuxTrayAction.OpenIn, host) { Application = application }).ToArray())); 85actions.Add(new("Show in file manager", LinuxTrayAction.Folder, host)); 86actions.Add(new("Copy path", LinuxTrayAction.CopyPath, host)); 87actions.Add(new(host.IsPinned ? "Unpin" : "Pin", LinuxTrayAction.TogglePin, host)); 90actions.Add(new("Remove from recent", LinuxTrayAction.RemoveRecent, host)); 92actions.Add(new("", LinuxTrayAction.Separator));