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(); }
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); }