private static void AddTagToInspectorEmailIfMatch(Outlook.Inspector inspector, String entryID, String tag) { if (inspector.CurrentItem is Outlook.MailItem) { Outlook.MailItem mailItem = inspector.CurrentItem as Outlook.MailItem; if (entryID.Equals(mailItem.EntryID)) { InspectorWrapper iWrapper = InspectorWrapper.inspectorWrappersValue[inspector]; TagBar otb = iWrapper.getTagBar(); otb.TagBarHelper.AddNewButton(tag); } } }
public static void CreateNewTag(String tag, Outlook.Application application, TagBar explorerTagBar) { CategoryUtils.AddCategory(tag, application); Backend.AddTag(tag); List <String> latestTags = Utils.GetLatestTagList(); /* * There might be more than one TagBar in play - one in the explorer and any number of inspectors. * Find them all and update their tagList */ explorerTagBar.LoadTagList(latestTags); Dictionary <Outlook.Inspector, InspectorWrapper> .KeyCollection keys = InspectorWrapper.inspectorWrappersValue.Keys; foreach (Outlook.Inspector inspector in keys) { InspectorWrapper iWrapper = InspectorWrapper.inspectorWrappersValue[inspector]; iWrapper.getTagBar().LoadTagList(latestTags); } }
private void CurrentExplorer_SelectionChanged() { System.Diagnostics.Debug.Write("CurrentExplorer_SelectionChanged event fired\n"); try { if (this.Application.ActiveExplorer().Selection.Count > 0) { Object selObject = this.Application.ActiveExplorer().Selection[1]; if (selObject is Outlook.MailItem) { Outlook.MailItem mailItem = selObject as Outlook.MailItem; this.globalTaggingContext.SetMostRecentNavigatedToMailItem(mailItem); HookEventHandlersToMailItem(mailItem); this.explorerTagBarDecorator.SetLocalTaggingContext(new OutlookTagBarContext(this.globalTaggingContext)); inspectors = this.Application.Inspectors; foreach (Outlook.Inspector inspector in inspectors) { InspectorWrapper iWrapper = InspectorWrapper.inspectorWrappersValue[inspector]; TagBar otb = iWrapper.getTagBar(); if (otb.TagBarHelper.GetContextID().Equals(mailItem.EntryID)) { otb.TagBarHelper.RefreshTagButtons(); } } String senderName = mailItem.Sender.Name; Backend.AddPerson(Utils.NormalizeName(senderName)); Backend.ShowPersons(); String entryID = mailItem.EntryID; String conversationID = mailItem.ConversationID; Backend.AddEmail(entryID, conversationID); System.Diagnostics.Debug.Write("CurrentExplorer_SelectionChanged FIRED \n"); } } } catch (Exception e) { String expMessage = e.Message; System.Windows.Forms.MessageBox.Show(expMessage + "\n" + e.StackTrace); } }