internal static ConflictResolutionState Build( DirectoryConflict directoryConflict, DirectoryConflictAction[] conflictActions) { bool hasRenameOption = DirectoryConflictResolutionInfo.HasRenameOption( conflictActions); ConflictResolutionState result = new ConflictResolutionState() { IsApplyActionsForNextConflictsChecked = false, ResolveAction = (hasRenameOption) ? DirectoryConflictResolveActions.Rename : DirectoryConflictResolveActions.KeepSource, }; if (!hasRenameOption) { return(result); } result.RenameValue = DirectoryConflictResolutionInfo.GetProposeNewItemName( directoryConflict, "dst"); return(result); }
static bool IsValidName( string name, DirectoryConflict conflict, out string errorMessage) { if (string.IsNullOrEmpty(name)) { errorMessage = PlasticLocalization.GetString( PlasticLocalization.Name.InputItemNameMessage); return(false); } if (name == DirectoryConflictResolutionInfo.GetOldItemName(conflict)) { errorMessage = PlasticLocalization.GetString( PlasticLocalization.Name.ProvideDifferentItemNameForRenameResolution); return(false); } errorMessage = null; return(true); }
static void DoDirectoryConflictResolutionPanel( List <IncomingChangeInfo> selectedChangeInfos, Action <IncomingChangeInfo> resolveDirectoryConflictAction, Dictionary <DirectoryConflict, ConflictResolutionState> conflictResolutionStates) { IncomingChangeInfo selectedDirectoryConflict = selectedChangeInfos[0]; if (selectedDirectoryConflict.DirectoryConflict.IsResolved()) { return; } DirectoryConflictUserInfo conflictUserInfo; DirectoryConflictAction[] conflictActions; DirectoryConflictResolutionInfo.FromDirectoryConflict( selectedDirectoryConflict.GetMount(), selectedDirectoryConflict.DirectoryConflict, out conflictUserInfo, out conflictActions); ConflictResolutionState conflictResolutionState = GetConflictResolutionState( selectedDirectoryConflict.DirectoryConflict, conflictActions, conflictResolutionStates); int pendingSelectedConflictsCount = GetPendingConflictsCount( selectedChangeInfos); DrawDirectoryResolutionPanel.ForConflict( selectedDirectoryConflict, (pendingSelectedConflictsCount <= 1) ? 0 : pendingSelectedConflictsCount - 1, conflictUserInfo, conflictActions, resolveDirectoryConflictAction, ref conflictResolutionState); }