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