void YamsterCache_MessageChanged(object sender, YamsterMessageChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.PropertyChanged: ThreadViewerMessageTile widget; if (tilesByMessageId.TryGetValue(e.Message.MessageId, out widget)) { widget.UpdateUI(); } break; case YamsterModelChangeType.Added: // Was a thread specified (instead of an ad hoc list of messages?) if (LoadedThread != null) { // Does the new message belong to that thread? if (e.Message.ThreadId == LoadedThread.ThreadId) { rebuildViewLagger.RequestAction(); } } break; } }
void yamsterCache_MessageChanged(object sender, YamsterMessageChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.Added: if (e.Message.GroupId == YamsterGroup.ConversationsGroupId) { this.reloadConversationsLagger.RequestAction(); } break; } }
void yamsterCache_MessageChanged(object sender, YamsterMessageChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.Added: updateStatusBarLagger.RequestAction(); break; case YamsterModelChangeType.PropertyChanged: break; } }
void yamsterCache_MessageChanged(object sender, YamsterMessageChangedEventArgs e) { switch (e.ChangeType) { case YamsterModelChangeType.PropertyChanged: // Since some of the displayed properties depend on the thread, we look for changes // to any message in the thread. YamsterCache.ThreadChanged would not be sufficient // since it doesn't fire for properties that only involve YamsterMessage. if (referencedThreadIds.Contains(e.Message.ThreadId)) { ctlGrid.QueueDraw(); } break; } }