Пример #1
0
        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);
        }
Пример #3
0
        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);
        }