Example #1
0
        public override void OnDeactivate()
        {
            if (mInitialOptions == null)
            {
                return;
            }

            bool isDialogueDirty = false;

            try
            {
                PendingChangesOptions currentOptions = GetOptions();
                isDialogueDirty = IsDirty(currentOptions);
                if (!isDialogueDirty)
                {
                    return;
                }

                currentOptions.SavePreferences();
            }
            finally
            {
                IAutoRefreshView autoRefreshView = GetPendingChangesView();

                if (autoRefreshView != null)
                {
                    autoRefreshView.EnableAutoRefresh();

                    if (isDialogueDirty)
                    {
                        autoRefreshView.ForceRefresh();
                    }
                }
            }
        }
Example #2
0
        void SetOptions(PendingChangesOptions options)
        {
            mShowCheckouts = IsEnabled(
                WorkspaceStatusOptions.FindCheckouts, options.WorkspaceStatusOptions);
            mAutoRefresh = options.AutoRefresh;

            mShowChangedFiles = IsEnabled(
                WorkspaceStatusOptions.FindChanged, options.WorkspaceStatusOptions);
            mCheckFileContent = options.CheckFileContentForChanged;

            mShowPrivateFields = IsEnabled(
                WorkspaceStatusOptions.FindPrivates, options.WorkspaceStatusOptions);
            mShowIgnoredFiles = IsEnabled(
                WorkspaceStatusOptions.ShowIgnored, options.WorkspaceStatusOptions);
            mShowHiddenFiles = IsEnabled(
                WorkspaceStatusOptions.ShowHiddenChanges, options.WorkspaceStatusOptions);
            mShowDeletedFiles = IsEnabled(
                WorkspaceStatusOptions.FindLocallyDeleted, options.WorkspaceStatusOptions);

            mShowMovedFiles = IsEnabled(
                WorkspaceStatusOptions.CalculateLocalMoves, options.WorkspaceStatusOptions);
            mMatchBinarySameExtension =
                options.MovedMatchingOptions.bBinMatchingOnlySameExtension;
            mMatchTextSameExtension =
                options.MovedMatchingOptions.bTxtMatchingOnlySameExtension;
            mSimilarityPercent = (int)((1 - options.MovedMatchingOptions.AllowedChangesPerUnit) * 100f);
        }
Example #3
0
        /// <summary>
        /// When initialized
        /// </summary>
        public override void OnActivate(string searchContext, VisualElement rootElement)
        {
            IAutoRefreshView autoRefreshView = GetPendingChangesView();

            if (autoRefreshView != null)
            {
                autoRefreshView.DisableAutoRefresh();
            }

            // Check if FSWatcher should be enabled
            WorkspaceInfo workspaceInfo = FindWorkspace.InfoForApplicationPath(
                Application.dataPath,
                PlasticWindow.PlasticApi);

            CheckFsWatcher(workspaceInfo);

            mInitialOptions = new PendingChangesOptions();
            mInitialOptions.LoadPendingChangesOptions();
            SetOptions(mInitialOptions);
        }
        internal static void ChangeOptions(
            WorkspaceInfo wkInfo,
            bool isGluonMode,
            IRefreshableView view,
            IAutorefreshView autorefreshView,
            EditorWindow window)
        {
            PendingChangesOptionsDialog dialog = Build(wkInfo, isGluonMode);

            autorefreshView.DisableAutorefresh();

            bool isDialogDirty = false;

            try
            {
                if (dialog.RunModal(window) != ResponseType.Ok)
                {
                    return;
                }

                PendingChangesOptions currentOptions = dialog.GetOptions();
                isDialogDirty = dialog.IsDirty(currentOptions);

                if (!isDialogDirty)
                {
                    return;
                }

                currentOptions.SavePreferences();
            }
            finally
            {
                autorefreshView.EnableAutorefresh();

                if (isDialogDirty)
                {
                    view.Refresh();
                }
            }
        }
Example #5
0
        void FillPendingChanges(INewChangesInWk newChangesInWk)
        {
            if (mIsRefreshing)
            {
                return;
            }

            mIsRefreshing = true;

            List <ChangeInfo> changesToSelect =
                PendingChangesSelection.GetChangesToFocus(mChangesTreeView);

            mProgressControls.ShowProgress(PlasticLocalization.GetString(
                                               PlasticLocalization.Name.LoadingPendingChanges));

            IDictionary <MountPoint, IList <PendingMergeLink> > mergeLinks = null;

            IThreadWaiter waiter = ThreadWaiter.GetWaiter();

            waiter.Execute(
                /*threadOperationDelegate*/ delegate
            {
                FilterManager.Get().Reload();

                WorkspaceStatusOptions options = WorkspaceStatusOptions.None;
                options |= WorkspaceStatusOptions.FindAdded;
                options |= WorkspaceStatusOptions.FindDeleted;
                options |= WorkspaceStatusOptions.FindMoved;
                options |= WorkspaceStatusOptions.SplitModifiedMoved;
                options |= PendingChangesOptions.GetWorkspaceStatusOptions();

                if (newChangesInWk != null)
                {
                    newChangesInWk.Detected();
                }

                mPendingChanges.Calculate(
                    options, PendingChangesOptions.GetMovedMatchingOptions());

                mergeLinks = Plastic.API.GetPendingMergeLinks(mWkInfo);
            },
                /*afterOperationDelegate*/ delegate
            {
                mPendingMergeLinks = mergeLinks;

                try
                {
                    if (waiter.Exception != null)
                    {
                        ExceptionsHandler.DisplayException(waiter.Exception);
                        return;
                    }

                    UpdateChangesTree();

                    UpdateMergeLinksList();

                    PendingChangesSelection.SelectChanges(
                        mChangesTreeView, changesToSelect);
                }
                finally
                {
                    mProgressControls.HideProgress();

                    UpdateIsCommentWarningNeeded(CommentText);

                    UpdateNotificationPanel();

                    mIsRefreshing = false;
                }
            });
        }
Example #6
0
 bool IsDirty(PendingChangesOptions currentOptions)
 {
     return(!mInitialOptions.AreSameOptions(currentOptions));
 }