internal bool ProcessKeyActionIfNeeded(Event e) { PendingChangesMenuOperations operationToExecute = GetPendingChangesMenuOperation(e); OpenMenuOperations openOperationToExecute = GetOpenMenuOperation(e); if (operationToExecute == PendingChangesMenuOperations.None && openOperationToExecute == OpenMenuOperations.None) { return(false); } SelectedChangesGroupInfo info = mPendingChangesMenuOperations.GetSelectedChangesGroupInfo(); if (operationToExecute != PendingChangesMenuOperations.None) { return(ProcessKeyActionForPendingChangesMenu( operationToExecute, mPendingChangesMenuOperations, info)); } return(ProcessKeyActionForOpenMenu( openOperationToExecute, mOpenMenuOperations, info)); }
static void ProcessOpenMenuOperation( OpenMenuOperations openOperationToExecute, IOpenMenuOperations openMenuOperations) { if (openOperationToExecute == OpenMenuOperations.Open) { openMenuOperations.Open(); return; } }
static bool ProcessKeyActionForOpenMenu( OpenMenuOperations openOperationToExecute, IOpenMenuOperations openMenuOperations, SelectedChangesGroupInfo info) { OpenMenuOperations openOperations = GetOpenMenuOperations.ForPendingChanges(info); if (!openOperations.HasFlag(openOperationToExecute)) { return(false); } ProcessOpenMenuOperation( openOperationToExecute, openMenuOperations); return(true); }
void UpdateOpenMenuItems(GenericMenu menu, OpenMenuOperations operations) { if (!operations.HasFlag(OpenMenuOperations.Open) && !operations.HasFlag(OpenMenuOperations.OpenWith) && !operations.HasFlag(OpenMenuOperations.OpenInExplorer)) { menu.AddDisabledItem(mOpenSubmenuItemContent); return; } if (operations.HasFlag(OpenMenuOperations.Open)) { menu.AddItem(mOpenMenuItemContent, false, OpenMenuItem_Click); } else { menu.AddDisabledItem(mOpenMenuItemContent); } if (operations.HasFlag(OpenMenuOperations.OpenWith)) { menu.AddItem(mOpenWithMenuItemContent, false, OpenWithMenuItem_Click); } else { menu.AddDisabledItem(mOpenWithMenuItemContent); } if (operations.HasFlag(OpenMenuOperations.OpenInExplorer)) { menu.AddItem(mOpenInExplorerMenuItemContent, false, OpenInExplorerMenuItem_Click); } else { menu.AddDisabledItem(mOpenInExplorerMenuItemContent); } if (!mMetaMenuOperations.SelectionHasMeta()) { return; } menu.AddSeparator(PlasticLocalization.GetString(PlasticLocalization.Name.ItemsMenuItemOpen) + "/"); if (operations.HasFlag(OpenMenuOperations.Open)) { menu.AddItem(mOpenMetaMenuItemContent, false, OpenMetaMenuItem_Click); } else { menu.AddDisabledItem(mOpenMetaMenuItemContent); } if (operations.HasFlag(OpenMenuOperations.OpenWith)) { menu.AddItem(mOpenMetaWithMenuItemContent, false, OpenMetaWithMenuItem_Click); } else { menu.AddDisabledItem(mOpenMetaWithMenuItemContent); } if (operations.HasFlag(OpenMenuOperations.OpenInExplorer)) { menu.AddItem(mOpenMetaInExplorerMenuItemContent, false, OpenMetaInExplorerMenuItem_Click); } else { menu.AddDisabledItem(mOpenMetaInExplorerMenuItemContent); } }
void UpdateMenuItems(GenericMenu menu) { SelectedChangesGroupInfo info = mPendingChangesMenuOperations.GetSelectedChangesGroupInfo(); PendingChangesMenuOperations operations = PendingChangesMenuUpdater.GetAvailableMenuOperations(info); OpenMenuOperations openOperations = GetOpenMenuOperations.ForPendingChanges(info); if (operations == PendingChangesMenuOperations.None && openOperations == OpenMenuOperations.None) { menu.AddDisabledItem(GetNoActionMenuItemContent()); return; } UpdateOpenMenuItems(menu, openOperations); menu.AddSeparator(string.Empty); if (operations.HasFlag(PendingChangesMenuOperations.DiffWorkspaceContent)) { menu.AddItem(mDiffMenuItemContent, false, DiffMenuItem_Click); } else { menu.AddDisabledItem(mDiffMenuItemContent); } if (mMetaMenuOperations.SelectionHasMeta()) { if (operations.HasFlag(PendingChangesMenuOperations.DiffWorkspaceContent)) { menu.AddItem(mDiffMetaMenuItemContent, false, DiffMetaMenuItem_Click); } else { menu.AddDisabledItem(mDiffMetaMenuItemContent); } } menu.AddSeparator(string.Empty); if (operations.HasFlag(PendingChangesMenuOperations.UndoChanges)) { menu.AddItem(mUndoChangesMenuItemContent, false, UndoChangesMenuItem_Click); } else { menu.AddDisabledItem(mUndoChangesMenuItemContent); } menu.AddSeparator(string.Empty); if (operations.HasFlag(PendingChangesMenuOperations.ApplyLocalChanges)) { menu.AddItem(mCheckoutMenuItemContent, false, CheckoutMenuItem_Click); } else { menu.AddDisabledItem(mCheckoutMenuItemContent); } if (operations.HasFlag(PendingChangesMenuOperations.Delete)) { menu.AddItem(mDeleteMenuItemContent, false, DeleteMenuItem_Click); } else { menu.AddDisabledItem(mDeleteMenuItemContent); } menu.AddSeparator(string.Empty); mFilterMenuBuilder.UpdateMenuItems( menu, FilterMenuUpdater.GetMenuActions(info)); menu.AddSeparator(string.Empty); if (operations.HasFlag(PendingChangesMenuOperations.History)) { menu.AddItem(mViewHistoryMenuItemContent, false, HistoryMenuItem_Click); } else { menu.AddDisabledItem(mViewHistoryMenuItemContent, false); } if (mMetaMenuOperations.SelectionHasMeta()) { if (operations.HasFlag(PendingChangesMenuOperations.History)) { menu.AddItem(mViewHistoryMetaMenuItemContent, false, HistoryMetaMenuItem_Click); } else { menu.AddDisabledItem(mViewHistoryMetaMenuItemContent); } } }