Beispiel #1
0
 // Token: 0x06002FAD RID: 12205 RVA: 0x00114FD0 File Offset: 0x001131D0
 private int SetCollapsedTreeNodes(int originalValue, string parameterName, StatusPersistTreeNodeType treeNodeType)
 {
     if (base.IsParameterSet(parameterName))
     {
         if ((bool)base.GetParameter(parameterName))
         {
             originalValue &= (int)(~(int)treeNodeType);
         }
         else
         {
             originalValue |= (int)treeNodeType;
         }
     }
     return(originalValue);
 }
        public static void CreateFavoriteAndMailboxTreeAndGetBuddyListStatus(UserContext userContext, out NavigationTree favoritesTree, out MailboxFolderTree mailboxFolderTree, out MailboxFolderTree[] archiveFolderTrees, out bool expandBuddyList)
        {
            NavigationTree.NormalAndSearchFolderList   item;
            NavigationTree.NormalAndSearchFolderList[] array;
            NavigationTree.CreateNormalAndSearchFolderLists(userContext, true, true, out item, out array);
            NavigationNodeCollection navigationCollection        = NavigationNodeCollection.TryCreateNavigationNodeCollection(userContext, userContext.MailboxSession, NavigationNodeGroupSection.First);
            List <NavigationTree.NormalAndSearchFolderList> list = new List <NavigationTree.NormalAndSearchFolderList>(1 + array.Length);

            list.Add(item);
            list.AddRange(array);
            favoritesTree     = NavigationTree.CreateFavoriteTreeByFolderLists(userContext, navigationCollection, list.ToArray());
            mailboxFolderTree = MailboxFolderTree.CreateStartPageMailboxFolderTree(userContext, item.DeepHierarchyFolderList, item.SearchFolderList);
            StatusPersistTreeNodeType valueToTest = StatusPersistTreeNodeType.None;
            object folderProperty = item.DeepHierarchyFolderList.GetFolderProperty(userContext.GetRootFolderId(userContext.MailboxSession), ViewStateProperties.TreeNodeCollapseStatus);

            if (folderProperty is int)
            {
                valueToTest = (StatusPersistTreeNodeType)folderProperty;
            }
            expandBuddyList = !Utilities.IsFlagSet((int)valueToTest, 4);
            bool             flag     = !Utilities.IsFlagSet((int)valueToTest, 2);
            bool             flag2    = !Utilities.IsFlagSet((int)valueToTest, 1);
            OwaStoreObjectId folderId = OwaStoreObjectId.CreateFromMailboxFolderId(userContext.InboxFolderId);

            if (!flag || flag2 || !favoritesTree.RootNode.SelectSpecifiedFolder(folderId))
            {
                mailboxFolderTree.RootNode.SelectSpecifiedFolder(folderId);
            }
            archiveFolderTrees = null;
            if (array.Length > 0)
            {
                List <MailboxFolderTree> list2 = new List <MailboxFolderTree>(array.Length);
                for (int i = 0; i < array.Length; i++)
                {
                    list2.Add(MailboxFolderTree.CreateStartPageArchiveMailboxFolderTree(userContext, array[i].DeepHierarchyFolderList, array[i].SearchFolderList));
                }
                archiveFolderTrees = list2.ToArray();
            }
        }