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; } } } } }
// 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(); }
/// <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); } } }
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; } } } }