internal SelectedChangesGroupInfo GetSelectedChangesGroupInfo() { SelectedChangesGroupInfo result = new SelectedChangesGroupInfo(); IList <int> selectedIds = GetSelection(); if (selectedIds.Count == 0) { return(result); } foreach (KeyValuePair <PendingChangeInfo, int> item in mTreeViewItemIds.GetInfoItems()) { if (!selectedIds.Contains(item.Value)) { continue; } ChangeInfo changeInfo = item.Key.ChangeInfo; result.SelectedCount++; result.IsAnyDirectorySelected |= changeInfo.IsDirectory; result.IsAnyPrivateSelected |= !ChangeInfoType.IsControlled(changeInfo); result.IsAnyControlledSelected |= ChangeInfoType.IsControlled(changeInfo); result.IsAnyLocalChangeSelected |= ChangeInfoType.IsLocalChange(changeInfo); result.FilterInfo.IsAnyIgnoredSelected |= ChangeInfoType.IsIgnored(changeInfo); result.FilterInfo.IsAnyHiddenChangedSelected |= ChangeInfoType.IsHiddenChanged(changeInfo); string wkRelativePath = InternalNames.RootDir + WorkspacePath.GetWorkspaceRelativePath( mWkInfo.ClientPath, changeInfo.GetFullPath()); if (result.SelectedCount == 1) { result.FilterInfo.CommonName = Path.GetFileName(changeInfo.GetFullPath()); result.FilterInfo.CommonExtension = changeInfo.GetExtension(); result.FilterInfo.CommonFullPath = wkRelativePath; continue; } if (result.FilterInfo.CommonName != Path.GetFileName(changeInfo.GetFullPath())) { result.FilterInfo.CommonName = null; } if (result.FilterInfo.CommonExtension != changeInfo.GetExtension()) { result.FilterInfo.CommonExtension = null; } if (result.FilterInfo.CommonFullPath != wkRelativePath) { result.FilterInfo.CommonFullPath = null; } } return(result); }
internal static SelectedChangesGroupInfo GetSelectedChangesGroupInfo( PendingChangesTreeView treeView) { SelectedChangesGroupInfo result = treeView.GetSelectedChangesGroupInfo(); result.IsApplicableDiffWorkspaceContent = IsApplicableDiffWorkspaceContent(treeView); return result; }
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 bool ProcessKeyActionForOpenMenu( OpenMenuOperations openOperationToExecute, IOpenMenuOperations openMenuOperations, SelectedChangesGroupInfo info) { OpenMenuOperations openOperations = GetOpenMenuOperations.ForPendingChanges(info); if (!openOperations.HasFlag(openOperationToExecute)) { return(false); } ProcessOpenMenuOperation( openOperationToExecute, openMenuOperations); return(true); }
static bool ProcessKeyActionForPendingChangesMenu( PendingChangesMenuOperations operationToExecute, IPendingChangesMenuOperations pendingChangesMenuOperations, SelectedChangesGroupInfo info) { PendingChangesMenuOperations operations = PendingChangesMenuUpdater.GetAvailableMenuOperations(info); if (!operations.HasFlag(operationToExecute)) { return(false); } ProcessPendingChangesMenuOperation( operationToExecute, pendingChangesMenuOperations); return(true); }
static bool ProcessKeyActionForPendingChangesMenu( WorkspaceInfo wkInfo, PendingChangesMenuOperations operationToExecute, IPendingChangesMenuOperations pendingChangesMenuOperations, SelectedChangesGroupInfo info, bool isGluonMode) { PendingChangesMenuOperations operations = PendingChangesMenuUpdater.GetAvailableMenuOperations(info); if (!operations.HasFlag(operationToExecute)) { return(false); } ProcessPendingChangesMenuOperation( wkInfo, operationToExecute, pendingChangesMenuOperations, isGluonMode); return(true); }
internal bool ProcessKeyActionIfNeeded(Event e) { PendingChangesMenuOperations operationToExecute = GetMenuOperation(e); if (operationToExecute == PendingChangesMenuOperations.None) { return(false); } SelectedChangesGroupInfo info = mPendingChangesMenuOperations.GetSelectedChangesGroupInfo(); PendingChangesMenuOperations operations = PendingChangesMenuUpdater.GetAvailableMenuOperations(info); if (!operations.HasFlag(operationToExecute)) { return(false); } ProcessMenuOperation(operationToExecute, mPendingChangesMenuOperations); return(true); }
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); } } }