private void GetMailFolders(EmailAccountsArchiveSettings settings, Outlook.Folders folders) { this.tsResults.Nodes.Clear(); this.tsResults.CheckBoxes = true; GetMailFolders(folders, tsResults.Nodes, settings.SelectedFolderEntryIds); this.tsResults.ExpandAll(); }
private void SaveAccountAutoArchivingSettings() { var allSettings = EmailArchiveAccountTabs.TabPages.Cast <TabPage>() .SelectMany(tabPage => tabPage.Controls.OfType <EmailAccountArchiveSettingsControl>()) .Select(accountSettingsControl => accountSettingsControl.SaveSettings()) .ToList(); var conbinedSettings = EmailAccountsArchiveSettings.Combine(allSettings); conbinedSettings.Save(); Properties.Settings.Default.AutoArchive = conbinedSettings.HasAny; }
public void LoadSettings(Outlook.Account outlookAccount, EmailAccountsArchiveSettings settings) { var store = outlookAccount.DeliveryStore; _outlookStoreId = store.StoreID; var rootFolder = store.GetRootFolder(); var smtpAddress = outlookAccount.SmtpAddress; ArchiveInboundCheckbox.Text = $"Archive Mail Received by {smtpAddress}"; ArchiveOutboundCheckbox.Text = $"Archive Mail Sent by {smtpAddress}"; GetMailFolders(settings, rootFolder.Folders); ArchiveInboundCheckbox.Checked = settings.AccountsToArchiveInbound.Contains(_outlookStoreId); ArchiveOutboundCheckbox.Checked = settings.AccountsToArchiveOutbound.Contains(_outlookStoreId); }
public EmailAccountsArchiveSettings SaveSettings() { var result = new EmailAccountsArchiveSettings(); if (_outlookStoreId != null) { GetCheckedFoldersHelper(tsResults.Nodes, result.SelectedFolderEntryIds); if (ArchiveInboundCheckbox.Checked) { result.AccountsToArchiveInbound.Add(_outlookStoreId); } if (ArchiveOutboundCheckbox.Checked) { result.AccountsToArchiveOutbound.Add(_outlookStoreId); } } return(result); }
private void GetAccountAutoArchivingSettings() { var settings = new EmailAccountsArchiveSettings(); settings.Load(); EmailArchiveAccountTabs.TabPages.Clear(); var outlookSession = Application.Session; this.Log.Debug($"SettingsDialog: Setting up account archiving widget. Outlook version is {Globals.ThisAddIn.OutlookVersion}; there are {outlookSession.Accounts.Count} accounts"); if (Globals.ThisAddIn.OutlookVersion >= OutlookMajorVersion.Outlook2010) { // Uses a Outlook 2013 APIs on Account object: DeliveryStore and GetRootFolder() // Needs work to make it work on Outlook 2010 and below. foreach (Account account in outlookSession.Accounts) { this.Log.Debug($"SettingsDialog: Added email archiving tab for account {account.DisplayName}"); AddTabPage(account).LoadSettings(account, settings); } } }
private void GetAccountAutoArchivingSettings() { var settings = new EmailAccountsArchiveSettings(); settings.Load(Globals.ThisAddIn.Settings); EmailArchiveAccountTabs.TabPages.Clear(); var outlookSession = Application.Session; if (Globals.ThisAddIn.OutlookVersion >= OutlookMajorVersion.Outlook2013) { // Uses a Outlook 2013 APIs on Account object: DeliveryStore and GetRootFolder() // Needs work to make it work on Outlook 2010 and below. foreach (Account account in outlookSession.Accounts) { var name = account.DisplayName; var store = account.DeliveryStore; var rootFolder = store.GetRootFolder(); var pageControl = AddTabPage(account); pageControl.LoadSettings(account, settings); } } }