public static ToolStripItem CreateToolStripItem(MenuCommand menuCommand) { if (menuCommand.IsSeparator) { return new ToolStripSeparator(); } else { var toolStripMenuItem = new ToolStripMenuItem(); toolStripMenuItem.Name = menuCommand.Name; toolStripMenuItem.Text = menuCommand.Text; toolStripMenuItem.Image = menuCommand.Image; toolStripMenuItem.ShortcutKeys = menuCommand.ShortcutKeys; toolStripMenuItem.ShortcutKeyDisplayString = menuCommand.ShortcutKeyDisplayString; toolStripMenuItem.Click += (obj, sender) => { if (menuCommand.ExecuteAction != null) { menuCommand.ExecuteAction(); } else { MessageBox.Show("No ExecuteAction assigned to this MenuCommand. Please submit a bug report."); } }; return toolStripMenuItem; } }
private IEnumerable<MenuCommand> CreateViewMenuCommands() { var resultList = new List<MenuCommand>(); // the next three MenuCommands just reuse (the currently rather // convoluted) logic from RevisionGrid. // After refactoring the three items should be added to RevisionGrid // as done with "ShowRemoteBranches" and not via RevisionGrid.Designer.cs { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowAllBranches"; menuCommand.Text = "Show all branches"; menuCommand.ExecuteAction = () => _revisionGrid.ShowAllBranches_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => _revisionGrid.ShowAllBranches_ToolStripMenuItemChecked; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowCurrentBranchOnly"; menuCommand.Text = "Show current branch only"; menuCommand.ExecuteAction = () => _revisionGrid.ShowCurrentBranchOnly_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => _revisionGrid.ShowCurrentBranchOnly_ToolStripMenuItemChecked; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowFilteredBranches"; menuCommand.Text = "Show filtered branches"; menuCommand.ExecuteAction = () => _revisionGrid.ShowFilteredBranches_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => _revisionGrid.ShowFilteredBranches_ToolStripMenuItemChecked; resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowRemoteBranches"; menuCommand.Text = "Show remote branches"; menuCommand.ExecuteAction = () => _revisionGrid.ShowRemoteBranches_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowRemoteBranches; resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowSuperprojectTags"; menuCommand.Text = "Show superproject tags"; menuCommand.ExecuteAction = () => _revisionGrid.ShowSuperprojectTags_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowSuperprojectTags; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowSuperprojectBranches"; menuCommand.Text = "Show superproject branches"; menuCommand.ExecuteAction = () => _revisionGrid.ShowSuperprojectBranches_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowSuperprojectBranches; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "ShowSuperprojectRemoteBranches"; menuCommand.Text = "Show superproject remote branches"; menuCommand.ExecuteAction = () => _revisionGrid.ShowSuperprojectRemoteBranches_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowSuperprojectRemoteBranches; resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "showRevisionGraphToolStripMenuItem"; menuCommand.Text = "Show revision graph"; menuCommand.ExecuteAction = () => _revisionGrid.ShowRevisionGraph_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => _revisionGrid.IsGraphLayout(); resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "drawNonrelativesGrayToolStripMenuItem"; menuCommand.Text = "Draw non relatives gray"; menuCommand.ExecuteAction = () => _revisionGrid.DrawNonrelativesGray_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.RevisionGraphDrawNonRelativesGray; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "orderRevisionsByDateToolStripMenuItem"; menuCommand.Text = "Order revisions by date"; menuCommand.ExecuteAction = () => _revisionGrid.OrderRevisionsByDate_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.OrderRevisionByDate; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showAuthorDateToolStripMenuItem"; menuCommand.Text = "Show author date"; menuCommand.ExecuteAction = () => _revisionGrid.ShowAuthorDate_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowAuthorDate; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showRelativeDateToolStripMenuItem"; menuCommand.Text = "Show relative date"; menuCommand.ExecuteAction = () => _revisionGrid.ShowRelativeDate_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.RelativeDate; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showMergeCommitsToolStripMenuItem"; menuCommand.Text = "Show merge commits"; menuCommand.ExecuteAction = () => _revisionGrid.ShowMergeCommits_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowMergeCommits; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showTagsToolStripMenuItem"; menuCommand.Text = "Show tags"; menuCommand.ExecuteAction = () => _revisionGrid.ShowTags_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowTags; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showGitNotesToolStripMenuItem"; menuCommand.Text = "Show git notes"; menuCommand.ExecuteAction = () => _revisionGrid.ShowGitNotes_ToolStripMenuItemClick(null, null); menuCommand.IsCheckedFunc = () => AppSettings.ShowGitNotes; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "showIsMessageMultilineToolStripMenuItem"; menuCommand.Text = "Show indicator for multiline message"; menuCommand.ExecuteAction = () => { AppSettings.ShowIndicatorForMultilineMessage = !AppSettings.ShowIndicatorForMultilineMessage; _revisionGrid.ForceRefreshRevisions(); }; menuCommand.IsCheckedFunc = () => AppSettings.ShowIndicatorForMultilineMessage; resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "ToggleHighlightSelectedBranch"; menuCommand.Text = "Highlight selected branch (until refresh)"; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.ToggleHighlightSelectedBranch); menuCommand.ExecuteAction = () => _revisionGrid.ExecuteCommand(GitUI.RevisionGrid.Commands.ToggleHighlightSelectedBranch); resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "filterToolStripMenuItem"; menuCommand.Text = "Set advanced filter"; menuCommand.Image = global::GitUI.Properties.Resources.IconFilter; menuCommand.ExecuteAction = () => _revisionGrid.FilterToolStripMenuItemClick(null, null); resultList.Add(menuCommand); } return resultList; }
private IEnumerable<MenuCommand> CreateNavigateMenuCommands() { var resultList = new List<MenuCommand>(); { var menuCommand = new MenuCommand(); menuCommand.Name = "GotoCurrentRevision"; menuCommand.Text = "Go to current revision"; menuCommand.Image = global::GitUI.Properties.Resources.IconGotoCurrentRevision; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.SelectCurrentRevision); menuCommand.ExecuteAction = SelectCurrentRevisionExecute; resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "GotoCommit"; menuCommand.Text = "Go to commit..."; menuCommand.Image = global::GitUI.Properties.Resources.IconGotoCommit; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.GoToCommit); menuCommand.ExecuteAction = GotoCommitExcecute; resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "GotoChildCommit"; menuCommand.Text = "Go to child commit"; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.GoToChild); menuCommand.ExecuteAction = () => _revisionGrid.ExecuteCommand(GitUI.RevisionGrid.Commands.GoToChild); resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "GotoParentCommit"; menuCommand.Text = "Go to parent commit"; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.GoToParent); menuCommand.ExecuteAction = () => _revisionGrid.ExecuteCommand(GitUI.RevisionGrid.Commands.GoToParent); resultList.Add(menuCommand); } resultList.Add(MenuCommand.CreateSeparator()); { var menuCommand = new MenuCommand(); menuCommand.Name = "QuickSearch"; menuCommand.Text = "Quick search"; menuCommand.ExecuteAction = () => MessageBox.Show(_quickSearchQuickHelp.Text); resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "PrevQuickSearch"; menuCommand.Text = "Quick search previous"; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.PrevQuickSearch); menuCommand.ExecuteAction = () => _revisionGrid.ExecuteCommand(GitUI.RevisionGrid.Commands.PrevQuickSearch); resultList.Add(menuCommand); } { var menuCommand = new MenuCommand(); menuCommand.Name = "NextQuickSearch"; menuCommand.Text = "Quick search next"; menuCommand.ShortcutKeyDisplayString = GetShortcutKeyDisplayStringFromRevisionGridIfAvailable(GitUI.RevisionGrid.Commands.NextQuickSearch); menuCommand.ExecuteAction = () => _revisionGrid.ExecuteCommand(GitUI.RevisionGrid.Commands.NextQuickSearch); resultList.Add(menuCommand); } return resultList; }
public static ToolStripItem CreateToolStripItem(MenuCommand menuCommand) { if (menuCommand.IsSeparator) { return new ToolStripSeparator(); } else { var toolStripMenuItem = new ToolStripMenuItem(); toolStripMenuItem.Name = menuCommand.Name; toolStripMenuItem.Text = menuCommand.Text; toolStripMenuItem.Image = menuCommand.Image; toolStripMenuItem.ShortcutKeys = menuCommand.ShortcutKeys; toolStripMenuItem.ShortcutKeyDisplayString = menuCommand.ShortcutKeyDisplayString; toolStripMenuItem.Click += (obj, sender) => menuCommand.ExecuteAction(); return toolStripMenuItem; } }