void yamsterCache_ThreadChanged(object sender, YamsterThreadChangedEventArgs e) { var thread = e.Thread; switch (e.ChangeType) { case YamsterModelChangeType.PropertyChanged: // Handled by ThreadGrid break; case YamsterModelChangeType.Added: // This is an incremental equivalent of the filtering logic // in ReloadThreadsAction() var group = ctlGroupGrid.FocusedItem; if (group != null) { if (thread.Group == group) { bool showReadThreads = chkShowReadThreads.Active || !group.TrackRead; if (showReadThreads || !thread.Read) { ctlThreadGrid.AddThreadAtEnd(thread); } } } break; } }
void yamsterCache_ThreadChanged(object sender, YamsterThreadChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.PropertyChanged: ctlGrid.QueueDraw(); break; } }
void YamsterCache_ThreadChanged(object sender, YamsterThreadChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.PropertyChanged: if (LoadedThread != null && e.Thread.ThreadId == LoadedThread.ThreadId) { SetThreadReadWithoutEvents(LoadedThread.Read); } break; } }