Revision a308d291 trunk/Pithos.Client.WPF/FileProperties/ConflictsViewModel.cs
b/trunk/Pithos.Client.WPF/FileProperties/ConflictsViewModel.cs | ||
---|---|---|
88 | 88 |
[Import] |
89 | 89 |
public IConflictResolver Resolver { get; set; } |
90 | 90 |
|
91 |
private readonly ObservableCollection<ConflictFile> _conflicts; |
|
91 |
private readonly ObservableCollection<ConflictFile> _conflicts=new ObservableCollection<ConflictFile>();
|
|
92 | 92 |
|
93 | 93 |
public ObservableCollection<ConflictFile> Conflicts |
94 | 94 |
{ |
... | ... | |
112 | 112 |
|
113 | 113 |
public ConflictsViewModel() |
114 | 114 |
{ |
115 |
this.DisplayName="Conflicts"; |
|
116 |
var fileStates = from state in FileState.Queryable |
|
117 |
where state.FileStatus == FileStatus.Conflict || |
|
118 |
state.OverlayStatus == FileOverlayStatus.Conflict |
|
119 |
select state; |
|
120 |
var conflicts = from state in fileStates |
|
121 |
let info=FileInfoExtensions.FromPath(state.FilePath) |
|
122 |
select new ConflictFile |
|
123 |
{ |
|
124 |
FilePath = state.FilePath, |
|
125 |
Reason=state.ConflictReason??state.FileStatus.Name() , |
|
126 |
LocalModified = info.LastWriteTime |
|
127 |
}; |
|
128 |
_conflicts = new ObservableCollection<ConflictFile>(conflicts.ToList()); |
|
115 |
this.DisplayName="Conflicts"; |
|
129 | 116 |
|
130 | 117 |
} |
131 | 118 |
|
132 | 119 |
protected override void OnViewLoaded(object view) |
133 | 120 |
{ |
134 | 121 |
base.OnViewLoaded(view); |
122 |
var fileStates = from state in FileState.Queryable |
|
123 |
where state.FileStatus == FileStatus.Conflict || |
|
124 |
state.OverlayStatus == FileOverlayStatus.Conflict |
|
125 |
select state; |
|
126 |
var conflicts = from state in fileStates |
|
127 |
let info = FileInfoExtensions.FromPath(state.FilePath) |
|
128 |
select new ConflictFile |
|
129 |
{ |
|
130 |
FilePath = state.FilePath, |
|
131 |
Reason = state.ConflictReason ?? state.FileStatus.Name(), |
|
132 |
LocalModified = info.LastWriteTime |
|
133 |
}; |
|
134 |
Conflicts.Clear(); |
|
135 |
foreach (var conflict in conflicts) |
|
136 |
{ |
|
137 |
Conflicts.Add(conflict); |
|
138 |
} |
|
139 |
NotifyOfPropertyChange(()=>Conflicts); |
|
140 |
NotifyOfPropertyChange(() => HasConflicts); |
|
141 |
NotifyOfPropertyChange(() => HasNoConflicts); |
|
135 | 142 |
StatusKeeper.CleanupOrphanStates(); |
136 | 143 |
} |
137 | 144 |
|
... | ... | |
170 | 177 |
void Resolve(IEnumerable<ConflictFile> conflicts); |
171 | 178 |
} |
172 | 179 |
|
173 |
[Export(typeof(IConflictResolver))] |
|
174 | 180 |
public class DummyResolver:IConflictResolver |
175 | 181 |
{ |
182 |
|
|
183 |
|
|
176 | 184 |
public void Resolve(IEnumerable<ConflictFile> conflicts) |
177 | 185 |
{ |
178 | 186 |
|
Also available in: Unified diff