Beispiel #1
0
        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);
            });
        }
Beispiel #2
0
        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();
                }
            }
        }