private void SaveDefaultFolder(NavigationGroups nav, NavigationFolder folder) { NavigationGroup group = null; foreach (NavigationGroup g in nav) { if (group == null) { foreach (NavigationFolder f in g.NavigationFolders) { if (f == folder) { group = g; break; } } } } // NOTE: this should be impossible, but don't crash. if (group == null) { return; } RegistryKey rKey = Registry.CurrentUser.CreateSubKey(REG_PATH); rKey.SetValue("DefaultGroup", group.Name); rKey.SetValue("DefaultFolder", folder.DisplayName); }
internal static ICollection <String> GetCalendarList(String selectedCalendar) { Folder currentFolder = GetApplication().ActiveExplorer().CurrentFolder as Folder; m_calendars = new Dictionary <String, MAPIFolder>(); var navPane = GetApplication().ActiveExplorer().NavigationPane; CalendarModule objModule = (CalendarModule)navPane.Modules.GetNavigationModule(OlNavigationModuleType.olModuleCalendar); // iterate over all groups and add the selected calendars to the list // add the previously selected calendar and make sure it's selected // don't include the default calendar NavigationGroups objGroup = objModule.NavigationGroups; foreach (NavigationGroup navGroup in objGroup) { foreach (NavigationFolder navFolder in navGroup.NavigationFolders) { if (navFolder.DisplayName.Equals(MY_CALENDAR_DEFAULT_NAME)) { continue; } var isSelectedCalendar = navFolder.DisplayName.Equals(selectedCalendar); if (navFolder.IsSelected || isSelectedCalendar) { navFolder.IsSelected = true; m_calendars.Add(navFolder.DisplayName, navFolder.Folder); } } } return(m_calendars.Keys); }
private NavigationFolder LoadDefaultFolder(NavigationGroups nav) { try { RegistryKey rKey = Registry.CurrentUser.CreateSubKey(REG_PATH); string group = rKey.GetValue("DefaultGroup").ToString(); string folder = rKey.GetValue("DefaultFolder").ToString(); if (string.IsNullOrEmpty(group) || string.IsNullOrEmpty(folder)) { // nothing saved return(null); } Debug.WriteLine("Group: " + group + " Folder: " + folder); foreach (NavigationGroup g in nav) { if (g.Name == group) { foreach (NavigationFolder f in g.NavigationFolders) { if (f.DisplayName == folder) { return(f); } } } } } catch (System.Exception ex) { // if we can't load... log the error and continue Debug.WriteLine(ex); } // if the default folder is missing, just invoke the dialog. return(null); }