void growl_NotificationCallback(Growl.Connector.Response response, Growl.Connector.CallbackData callbackData, object state)
        {
            if (callbackData != null)
            {
                if (callbackData.Result == Growl.CoreLibrary.CallbackResult.CLICK)
                {
                    if (response.CustomTextAttributes.ContainsKey("Rating"))
                    {
                        string r      = response.CustomTextAttributes["Rating"];
                        int    rating = Convert.ToInt32(r);

                        string[] parts      = callbackData.Data.Split('|');
                        int      sourceID   = Convert.ToInt32(parts[0]);
                        int      playlistID = Convert.ToInt32(parts[1]);
                        int      trackID    = Convert.ToInt32(parts[2]);
                        int      databaseID = Convert.ToInt32(parts[3]);

                        IITTrack song = (IITTrack)this.GetITObjectByID(sourceID, playlistID, trackID, databaseID);
                        if (song != null)
                        {
                            song.Rating = rating;
                        }
                    }
                }
            }
        }
示例#2
0
 // this class cannot be created from VB
 public CallbackData(Growl.Connector.CallbackData callbackData)
 {
     this.notificationID = callbackData.NotificationID;
     this.data           = callbackData.Data;
     this.type           = callbackData.Type;
     this.result         = callbackData.Result.ToString();
 }
示例#3
0
 /// <summary>
 /// Growlが通知を終えた際に呼び出されるコールバックを処理するイベントハンドラ
 /// </summary>
 /// <param name="response"></param>
 /// <param name="callbackData"></param>
 /// <param name="state"></param>
 private void ConnectorNotificationCallback(Growl.Connector.Response response, Growl.Connector.CallbackData callbackData, object state)
 {
     Debug.WriteLine("{0}:{1}", DateTime.Now.ToLongTimeString(), callbackData.Data);
     Trace.WriteLine(String.Format("{0}:{1}", DateTime.Now.ToLongTimeString(), callbackData.Data));
     if (callbackData.Result == Growl.CoreLibrary.CallbackResult.CLICK)
     {
         if (callbackData.Data != "")
         {
             OpenChatWindow(callbackData.Data);
         }
     }
 }
示例#4
0
        void growl_NotificationCallback(Growl.Connector.Response response, Growl.Connector.CallbackData callbackData)

        {
            if (callbackData != null && callbackData.Result == Growl.CoreLibrary.CallbackResult.CLICK)

            {
                string type = callbackData.Type;

                if (type != null && type != String.Empty)

                {
                    string id = callbackData.Data;

                    object obj = this.Session.GetItemFromID(id, Type.Missing);



                    switch (type)

                    {
                    case "mailmessage":

                        if (obj != null && obj is Outlook.MailItem)

                        {
                            Outlook.MailItem message = (Outlook.MailItem)obj;

                            EnableFullActivation();

                            message.Display(false);

                            DisableFullActivation();
                        }

                        obj = null;

                        break;

                    case "multimessage":

                        object aw = this.ActiveWindow();

                        if (aw is Microsoft.Office.Interop.Outlook.Explorer)

                        {
                            Microsoft.Office.Interop.Outlook.Explorer explorer = (Microsoft.Office.Interop.Outlook.Explorer)aw;

                            EnableFullActivation();

                            explorer.Activate();

                            DisableFullActivation();
                        }

                        else if (aw is Microsoft.Office.Interop.Outlook.Inspector)

                        {
                            Microsoft.Office.Interop.Outlook.Inspector inspector = (Microsoft.Office.Interop.Outlook.Inspector)aw;

                            EnableFullActivation();

                            inspector.Activate();

                            DisableFullActivation();
                        }

                        break;

                    case "remindermail":

                        if (obj != null && obj is Outlook.MailItem)

                        {
                            Outlook.MailItem item = (Outlook.MailItem)obj;

                            EnableFullActivation();

                            item.Display(false);

                            DisableFullActivation();
                        }

                        obj = null;

                        break;

                    case "reminderappointment":

                        if (obj != null && obj is Outlook.AppointmentItem)

                        {
                            Outlook.AppointmentItem item = (Outlook.AppointmentItem)obj;

                            EnableFullActivation();

                            item.Display(false);

                            DisableFullActivation();
                        }

                        obj = null;

                        break;

                    case "remindertask":

                        if (obj != null && obj is Outlook.TaskItem)

                        {
                            Outlook.TaskItem item = (Outlook.TaskItem)obj;

                            EnableFullActivation();

                            item.Display(false);

                            DisableFullActivation();
                        }

                        obj = null;

                        break;
                    }
                }
            }
        }