Пример #1
0
        public SynchronizeListItem(SynchronizeListView list, SvnItem item, SvnStatusEventArgs status)
            : base(list)
        {
            if (item == null)
            {
                throw new ArgumentNullException("item");
            }

            _item   = item;
            _status = status;

            _localChange  = PendingChange.CombineStatus(status.LocalContentStatus, status.LocalTextStatus, status.LocalPropertyStatus, item.IsTreeConflicted, item);
            _remoteChange = PendingChange.CombineStatus(status.RemoteContentStatus, status.RemoteTextStatus, status.RemotePropertyStatus, false, null);

            if (_remoteChange == PendingChangeKind.None)
            {
                if (status.RemoteLock != null)
                {
                    _remoteChange = PendingChangeKind.LockedOnly;
                }
            }

            _localStatus  = new PendingChangeStatus(_localChange);
            _remoteStatus = new PendingChangeStatus(_remoteChange);

            UpdateText();
        }
Пример #2
0
        private void RefreshValues()
        {
            bool   exists = SvnItem.Exists;
            string name   = string.IsNullOrEmpty(SvnItem.Name) ? SvnItem.FullPath : SvnItem.Name;

            SvnStatusData     status = SvnItem.Status;
            PendingChangeKind kind   = PendingChange.CombineStatus(status.LocalNodeStatus, status.LocalTextStatus, status.LocalPropertyStatus, SvnItem.IsTreeConflicted, SvnItem);

            if (_chg == null || _chg.State != kind)
            {
                _chg = new PendingChangeStatus(kind);
            }

            SetValues(
                name,
                Modified.ToString("g"),
                View.Context.GetService <IFileIconMapper>().GetFileType(SvnItem),
                _chg.ExplorerText,
                SvnItem.Status.IsLockedLocal ? Ankh.UI.PendingChanges.PCResources.LockedValue : "",
                SvnItem.Status.Revision.ToString(),
                SvnItem.Status.LastChangeTime.ToLocalTime().ToString(),
                SvnItem.Status.LastChangeRevision.ToString(),
                SvnItem.Status.LastChangeAuthor,
                SvnItem.Status.LocalNodeStatus.ToString(),
                SvnItem.Status.LocalPropertyStatus.ToString(),
                SvnItem.Status.IsCopied.ToString(),
                SvnItem.IsConflicted.ToString(),
                SvnItem.FullPath
                );

            StateImageIndex = (int)View.StatusMapper.GetStatusImageForSvnItem(SvnItem);
        }
Пример #3
0
        PendingChangeStatus GetStatus(RefreshContext context, SvnItem item)
        {
            SvnStatusData status = item.Status;

            _kind = CombineStatus(status.LocalNodeStatus, status.LocalTextStatus, status.LocalPropertyStatus, item.IsTreeConflicted, item);

            if (_kind != PendingChangeKind.None)
            {
                return(new PendingChangeStatus(_kind));
            }
            else
            {
                return(null);
            }
        }
Пример #4
0
        public SynchronizeListItem(SynchronizeListView list, SvnItem item, SvnStatusEventArgs status)
            : base(list)
        {
            if (item == null)
                throw new ArgumentNullException("item");

            _item = item;
            _status = status;

            _localChange = PendingChange.CombineStatus(status.LocalContentStatus, status.LocalPropertyStatus, item.IsTreeConflicted, item);
            _remoteChange = PendingChange.CombineStatus(status.RemoteContentStatus, status.RemotePropertyStatus, false, null);

            if (_remoteChange == PendingChangeKind.None)
            {
                if (status.RemoteLock != null)
                    _remoteChange = PendingChangeKind.LockedOnly;
            }

            _localStatus = new PendingChangeStatus(_localChange);
            _remoteStatus = new PendingChangeStatus(_remoteChange);

            UpdateText();
        }
Пример #5
0
 public PendingChangeStatus(PendingChangeKind state)
 {
     _state = state;
 }