Beispiel #1
0
        void IFilesFilterPatternsMenuOperations.AddFilesFilterPatterns(
            FilterTypes type, FilterActions action, FilterOperationType operation)
        {
            List <string> selectedPaths = PendingChangesSelection.GetSelectedPaths(
                mPendingChangesTreeView);

            string[] rules = FilterRulesGenerator.GenerateRules(
                selectedPaths, mWkInfo.ClientPath, action, operation);

            bool isApplicableToAllWorkspaces = !mIsGluonMode;
            bool isAddOperation = operation == FilterOperationType.Add;

            FilterRulesConfirmationData filterRulesConfirmationData =
                FilterRulesConfirmationDialog.AskForConfirmation(
                    rules, isAddOperation, isApplicableToAllWorkspaces, mParentWindow);

            AddFilesFilterPatternsOperation.Run(
                mWkInfo, mPlasticClient, type, operation, filterRulesConfirmationData);
        }
        internal static FilterRulesConfirmationData AskForConfirmation(
            string[] rules,
            bool isAddOperation,
            bool isApplicableToAllWorkspaces,
            EditorWindow parentWindow)
        {
            string explanation = PlasticLocalization.GetString(isAddOperation ?
                                                               PlasticLocalization.Name.FilterRulesConfirmationAddMessage :
                                                               PlasticLocalization.Name.FilterRulesConfirmationRemoveMessage);

            FilterRulesConfirmationDialog dialog = Create(
                explanation, GetRulesText(rules), isApplicableToAllWorkspaces);

            ResponseType dialogResult = dialog.RunModal(parentWindow);

            FilterRulesConfirmationData result = new FilterRulesConfirmationData(
                dialog.mApplyRulesToAllWorkspace, dialog.GetRules());

            result.Result = dialogResult == ResponseType.Ok;
            return(result);
        }