Пример #1
0
        static void AddDiffChangesetMenuItem(
            GUIContent menuItemContent,
            GenericMenu menu,
            ChangesetExtendedInfo changeset,
            ChangesetMenuOperations operations,
            GenericMenu.MenuFunction menuFunction)
        {
            string changesetName =
                changeset != null?
                changeset.ChangesetId.ToString() :
                    string.Empty;

            menuItemContent.text =
                PlasticLocalization.GetString(PlasticLocalization.Name.AnnotateDiffChangesetMenuItem,
                                              changesetName);

            if (operations.HasFlag(ChangesetMenuOperations.DiffChangeset))
            {
                menu.AddItem(
                    menuItemContent,
                    false,
                    menuFunction);
                return;
            }

            menu.AddDisabledItem(
                menuItemContent);
        }
Пример #2
0
        static void AddDiffBranchMenuItem(
            GUIContent menuItemContent,
            GenericMenu menu,
            ChangesetExtendedInfo changeset,
            ChangesetMenuOperations operations,
            GenericMenu.MenuFunction menuFunction)
        {
            string branchName = GetBranchName(changeset);

            menuItemContent.text =
                PlasticLocalization.GetString(PlasticLocalization.Name.AnnotateDiffBranchMenuItem,
                                              branchName);

            if (operations.HasFlag(ChangesetMenuOperations.DiffChangeset))
            {
                menu.AddItem(
                    menuItemContent,
                    false,
                    menuFunction);
                return;
            }

            menu.AddDisabledItem(
                menuItemContent);
        }
Пример #3
0
        void UpdateMenuItems(GenericMenu menu)
        {
            ChangesetExtendedInfo singleSeletedChangeset = mMenuOperations.GetSelectedChangeset();

            ChangesetMenuOperations operations = ChangesetMenuUpdater.GetAvailableMenuOperations(
                mChangesetMenuOperations.GetSelectedChangesetsCount());

            AddDiffChangesetMenuItem(
                mDiffChangesetMenuItemContent,
                menu,
                singleSeletedChangeset,
                operations,
                DiffChangesetMenuItem_Click);

            AddDiffSelectedChangesetsMenuItem(
                mDiffSelectedChangesetsMenuItemContent,
                menu,
                operations,
                DiffSelectedChangesetsMenuItem_Click);

            if (IsOnMainBranch(singleSeletedChangeset))
            {
                return;
            }

            menu.AddSeparator(string.Empty);

            AddDiffBranchMenuItem(
                mDiffBranchMenuItemContent,
                menu,
                singleSeletedChangeset,
                operations,
                DiffBranchMenuItem_Click);
        }
Пример #4
0
        internal static void DiffSelectedChangesets(
            RepositorySpec repSpec,
            ChangesetExtendedInfo cset1,
            ChangesetExtendedInfo cset2,
            bool isGluonMode)
        {
            ChangesetExtendedInfo srcChangesetExtendedInfo;
            ChangesetExtendedInfo dstChangesetExtendedInfo;

            GetSrcAndDstCangesets(
                cset1,
                cset2,
                out srcChangesetExtendedInfo,
                out dstChangesetExtendedInfo);

            string srcChangesetFullSpec = GetChangesetFullSpec(
                repSpec,
                srcChangesetExtendedInfo);

            string dstChangesetFullSpec = GetChangesetFullSpec(
                repSpec,
                dstChangesetExtendedInfo);

            LaunchTool.OpenSelectedChangesetsDiffs(
                srcChangesetFullSpec,
                dstChangesetFullSpec,
                isGluonMode);
        }
Пример #5
0
        static void AddDiffChangesetMenuItem(
            GUIContent menuItemContent,
            GenericMenu menu,
            ChangesetExtendedInfo changeset,
            ChangesetMenuOperations operations,
            GenericMenu.MenuFunction menuFunction)
        {
            string changesetName =
                changeset != null?
                changeset.ChangesetId.ToString() :
                    string.Empty;

            menuItemContent.text = string.Format(
                "Diff changeset {0}", changesetName);

            if (operations.HasFlag(ChangesetMenuOperations.DiffChangeset))
            {
                menu.AddItem(
                    menuItemContent,
                    false,
                    menuFunction);
                return;
            }

            menu.AddDisabledItem(
                menuItemContent);
        }
Пример #6
0
 static string GetBranchFullSpec(
     RepositorySpec repSpec,
     ChangesetExtendedInfo changesetExtendedInfo)
 {
     return(string.Format("br:{0}@{1}",
                          changesetExtendedInfo.BranchName,
                          repSpec.ToString()));
 }
Пример #7
0
 static string GetChangesetFullSpec(
     RepositorySpec repSpec,
     ChangesetExtendedInfo changesetExtendedInfo)
 {
     return(string.Format("cs:{0}@{1}",
                          changesetExtendedInfo.ChangesetId,
                          repSpec.ToString()));
 }
Пример #8
0
        static bool IsOnMainBranch(ChangesetExtendedInfo singleSeletedChangeset)
        {
            if (singleSeletedChangeset == null)
            {
                return(false);
            }

            return(singleSeletedChangeset.BranchName == MAIN_BRANCH_NAME);
        }
Пример #9
0
        static void GetSrcAndDstCangesets(
            ChangesetExtendedInfo cset1,
            ChangesetExtendedInfo cset2,
            out ChangesetExtendedInfo srcChangesetExtendedInfo,
            out ChangesetExtendedInfo dstChangesetExtendedInfo)
        {
            if (cset1.LocalTimeStamp < cset2.LocalTimeStamp)
            {
                srcChangesetExtendedInfo = cset1;
                dstChangesetExtendedInfo = cset2;
                return;
            }

            srcChangesetExtendedInfo = cset2;
            dstChangesetExtendedInfo = cset1;
        }
Пример #10
0
        internal static void DiffBranch(
            RepositorySpec repSpec,
            ChangesetExtendedInfo changesetExtendedInfo,
            bool isGluonMode)
        {
            if (changesetExtendedInfo == null)
            {
                return;
            }

            string branchFullSpec = GetBranchFullSpec(
                repSpec, changesetExtendedInfo);

            LaunchTool.OpenBranchDiffs(
                branchFullSpec,
                isGluonMode);
        }
Пример #11
0
        static string GetBranchName(ChangesetExtendedInfo changesetInfo)
        {
            if (changesetInfo == null)
            {
                return(string.Empty);
            }

            string branchName = changesetInfo.BranchName;

            int lastIndex = changesetInfo.BranchName.LastIndexOf("/");

            if (lastIndex == -1)
            {
                return(branchName);
            }

            return(branchName.Substring(lastIndex + 1));
        }
Пример #12
0
        static void AddDiffBranchMenuItem(
            GUIContent menuItemContent,
            GenericMenu menu,
            ChangesetExtendedInfo changeset,
            ChangesetMenuOperations operations,
            GenericMenu.MenuFunction menuFunction)
        {
            string branchName = GetBranchName(changeset);

            menuItemContent.text = string.Format(
                "Diff branch {0}", branchName);

            if (operations.HasFlag(ChangesetMenuOperations.DiffChangeset))
            {
                menu.AddItem(
                    menuItemContent,
                    false,
                    menuFunction);
                return;
            }

            menu.AddDisabledItem(
                menuItemContent);
        }