void model_OnMessage(GoogleVoice.Message msg, GoogleVoice.Contact contact) { bool did_add = false; GoogleVoice.SMS sms = msg as GoogleVoice.SMS; if (sms != null) { if (!sms.Self) { did_add = true; } } if (!did_add) { return; } this.Invoke(() => { var mw = WindowForContact(contact); // ShowActivated may crash on XP. this.Try(() => mw.ShowActivated = false); if (!mw.Ready) { mw.Show(); } mw.AddMessage(msg); }); }
public void AddMessage(GoogleVoice.Message msg) { this.Invoke(() => { foreach (var item in cboNumbers.Items) { GoogleVoice.Phone ph = item as GoogleVoice.Phone; if (ph != null) { if (ph.Number == msg.Number) { cboNumbers.SelectedItem = item; lblNumber.Content = cboNumbers.Text; return; } } } }); bool did_add = false; GoogleVoice.SMS sms = msg as GoogleVoice.SMS; if (sms != null) { if (!sms.Self) { AddMessage(Contact.Name, sms.Text); did_add = true; } } else { switch (msg.Class) { case GoogleVoice.Message.MessageType.Missed: if (Settings.Get("ShowMissedCall", false)) { AddMessage(Contact.Name, "<strong>Missed Call</strong>"); did_add = true; } break; case GoogleVoice.Message.MessageType.Placed: if (Settings.Get("ShowPlacedCall", false)) { AddMessage(Contact.Name, "<strong>Placed Call</strong>"); did_add = true; } break; case GoogleVoice.Message.MessageType.Received: if (Settings.Get("ShowAcceptedCall", false)) { AddMessage(Contact.Name, "<strong>Received Call</strong>"); did_add = true; } break; default: AddMessage(Contact.Name, "<strong>" + msg.Class + "</strong>: " + msg.MessageText); did_add = true; break; } } if (did_add) { if (WindowState != System.Windows.WindowState.Minimized) { Show(); } } }