예제 #1
0
        // Token: 0x060023B3 RID: 9139 RVA: 0x000CD618 File Offset: 0x000CB818
        protected override void RenderMenuItems(TextWriter output)
        {
            if (output == null)
            {
                throw new ArgumentNullException("output");
            }
            DefaultFolderType defaultFolderType = Utilities.GetDefaultFolderType(this.folder);

            if (defaultFolderType == DefaultFolderType.SentItems || defaultFolderType == DefaultFolderType.Outbox)
            {
                this.RenderMenuItemWithImageAndText(output, -1795472081, null, ColumnId.SentTime);
            }
            else
            {
                this.RenderMenuItemWithImageAndText(output, -1795472081, null, ColumnId.DeliveryTime);
            }
            this.RenderMenuItemWithImageAndText(output, 1309845117, null, ColumnId.From);
            this.RenderMenuItemWithImageAndText(output, 262509582, null, ColumnId.To);
            this.RenderMenuItemWithImageAndText(output, 1128018090, null, ColumnId.Size);
            this.RenderMenuItemWithImageAndText(output, 2014646167, "divSbj", ColumnId.Subject);
            this.RenderMenuItemWithImageAndText(output, 785343019, null, ColumnId.MailIcon);
            this.RenderMenuItemWithImageAndText(output, 1072079569, null, ColumnId.HasAttachment);
            this.RenderMenuItemWithImageAndText(output, 1569168155, null, ColumnId.Importance);
            this.RenderMenuItemWithImageAndText(output, -568934371, null, ColumnId.ConversationFlagStatus);
            this.RenderMenuItemWithImageAndText(output, 1587370059, null, ColumnId.FlagDueDate);
            this.RenderMenuItemWithImageAndText(output, 1580556595, null, ColumnId.FlagStartDate);
            if (ConversationUtilities.ShouldAllowConversationView(this.userContext, this.folder))
            {
                ContextMenu.RenderMenuDivider(output, null);
                string attributes = ConversationUtilities.IsConversationSortColumn(this.sortedColumn) ? "isCnv=1" : "isCnv=0";
                this.RenderMenuItemWithImageAndText(output, 207081000, ThemeFileId.CheckUnchecked, "gbyCnv", attributes);
            }
        }
 // Token: 0x060023D2 RID: 9170 RVA: 0x000CE5E8 File Offset: 0x000CC7E8
 private SortBy[] GetSortByProperties()
 {
     SortBy[] result;
     if (base.SortedColumn == ColumnId.DeliveryTime)
     {
         result = new SortBy[]
         {
             new SortBy(ItemSchema.ReceivedTime, base.SortOrder)
         };
     }
     else if (base.SortedColumn == ColumnId.ConversationLastDeliveryTime)
     {
         result = new SortBy[]
         {
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, base.SortOrder)
         };
     }
     else if (base.SortedColumn == ColumnId.ConversationFlagStatus)
     {
         result = new SortBy[]
         {
             new SortBy(ConversationItemSchema.ConversationFlagStatus, base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationFlagCompleteTime, base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, base.SortOrder)
         };
     }
     else if (ConversationUtilities.IsConversationSortColumn(base.SortedColumn))
     {
         Column column = ListViewColumns.GetColumn(base.SortedColumn);
         result = new SortBy[]
         {
             new SortBy(column[0], base.SortOrder),
             new SortBy(ConversationItemSchema.ConversationLastDeliveryTime, SortOrder.Descending)
         };
     }
     else if (base.SortedColumn == ColumnId.FlagDueDate || base.SortedColumn == ColumnId.FlagStartDate)
     {
         PropertyDefinition columnDefinition = (base.SortedColumn == ColumnId.FlagDueDate) ? ItemSchema.UtcDueDate : ItemSchema.UtcStartDate;
         result = new SortBy[]
         {
             new SortBy(ItemSchema.FlagStatus, base.SortOrder),
             new SortBy(columnDefinition, (base.SortOrder == SortOrder.Ascending) ? SortOrder.Descending : SortOrder.Ascending),
             new SortBy(ItemSchema.ItemColor, base.SortOrder),
             new SortBy(ItemSchema.ReceivedTime, base.SortOrder)
         };
     }
     else
     {
         Column column2 = ListViewColumns.GetColumn(base.SortedColumn);
         result = new SortBy[]
         {
             new SortBy(column2[0], base.SortOrder),
             new SortBy(ItemSchema.ReceivedTime, SortOrder.Descending)
         };
     }
     return(result);
 }
예제 #3
0
        protected override void RenderHeaders(TextWriter writer)
        {
            string value;

            Strings.IDs localizedID;
            switch (base.SortOrder)
            {
            case SortOrder.Ascending:
                value       = ListViewHeaders2.SortDescending;
                localizedID = base.SortedColumn.SortBoundaries.AscendingID;
                goto IL_47;
            }
            value       = ListViewHeaders2.SortAscending;
            localizedID = base.SortedColumn.SortBoundaries.DescendingID;
IL_47:
            writer.Write("<table id=\"");
            writer.Write("tblH");
            writer.Write("\" class=\"abHdr\" cellspacing=\"0\" cellpadding=\"1\" dir=\"");
            writer.Write(base.UserContext.IsRtl ? "rtl" : "ltr");
            writer.Write("\">");
            writer.Write("<tr>");
            writer.Write("<td nowrap id=\"tdAB\">");
            Strings.IDs localizedID2 = -1809061181;
            if (ConversationUtilities.IsConversationSortColumn(base.SortedColumn.Id))
            {
                localizedID2 = 1872724609;
            }
            writer.Write(string.Format(CultureInfo.InvariantCulture, LocalizedStrings.GetHtmlEncoded(localizedID2), new object[]
            {
                LocalizedStrings.GetHtmlEncoded(base.SortedColumn.SortBoundaries.TextID)
            }));
            writer.Write("&nbsp;&nbsp;");
            this.userContext.RenderThemeImage(writer, ThemeFileId.DownButton3, null, new object[0]);
            writer.Write("</td>");
            writer.Write("<td id=\"tdSO\" class=\"v ");
            writer.Write(base.UserContext.IsRtl ? "l" : "r");
            writer.Write("\" nowrap sO=\"");
            writer.Write(value);
            writer.Write("\">");
            writer.Write(LocalizedStrings.GetHtmlEncoded(localizedID));
            writer.Write("</td>");
            writer.Write("</tr>");
            writer.Write("</table>");
        }
        // Token: 0x060021E8 RID: 8680 RVA: 0x000C18B0 File Offset: 0x000BFAB0
        protected override void LoadViewState()
        {
            OwaStoreObjectId owaStoreObjectId = null;

            if (base.SerializedContainerId != null)
            {
                if (OwaStoreObjectId.IsDummyArchiveFolder(base.SerializedContainerId))
                {
                    owaStoreObjectId         = base.UserContext.GetArchiveRootFolderId();
                    this.archiveRootFolderId = owaStoreObjectId.ToString();
                }
                else
                {
                    owaStoreObjectId = OwaStoreObjectId.CreateFromString(base.SerializedContainerId);
                }
            }
            if (owaStoreObjectId == null)
            {
                base.AlgorithmTracer.TraceDebug((long)this.GetHashCode(), "folder Id is null, using default folder");
                owaStoreObjectId = OwaStoreObjectId.CreateFromMailboxFolderId(this.DefaultFolderId);
            }
            PropertyDefinition[] array = new PropertyDefinition[]
            {
                FolderSchema.DisplayName,
                FolderSchema.ItemCount,
                FolderSchema.UnreadCount,
                ViewStateProperties.ReadingPanePosition,
                ViewStateProperties.ViewWidth,
                ViewStateProperties.ViewHeight,
                ViewStateProperties.MultiLine,
                ViewStateProperties.SortColumn,
                ViewStateProperties.SortOrder,
                ViewStateProperties.ViewFilter,
                ViewStateProperties.FilteredViewLabel,
                FolderSchema.SearchFolderAllowAgeout,
                FolderSchema.IsOutlookSearchFolder,
                FolderSchema.AdminFolderFlags,
                FolderSchema.FolderQuota,
                FolderSchema.FolderSize,
                FolderSchema.ELCFolderComment,
                FolderSchema.ELCPolicyIds,
                FolderSchema.ExtendedFolderFlags,
                StoreObjectSchema.EffectiveRights,
                FolderSchema.OutlookSearchFolderClsId
            };
            this.folder = Utilities.GetFolderForContent <Folder>(base.UserContext, owaStoreObjectId, array);
            this.favoritesFilterParameter = Utilities.GetFavoritesFilterViewParameter(base.UserContext, this.Folder);
            if (this.folder is SearchFolder && this.favoritesFilterParameter != null && !this.favoritesFilterParameter.IsCurrentVersion)
            {
                this.favoritesFilterParameter.UpgradeFilter(this.folder as SearchFolder, array);
            }
            this.sortOrder           = this.DefaultSortOrder;
            this.sortedColumn        = this.DefaultSortedColumn;
            this.isMultiLine         = this.DefaultMultiLineSetting;
            this.readingPanePosition = this.DefaultReadingPanePosition;
            FolderViewStates folderViewStates = base.UserContext.GetFolderViewStates(this.folder);

            if (base.UserContext.IsWebPartRequest)
            {
                string          queryStringParameter = Utilities.GetQueryStringParameter(base.Request, "view", false);
                WebPartListView webPartListView      = WebPartUtilities.LookUpWebPartView(this.folder.Id.ObjectId.ObjectType, this.folder.ClassName, queryStringParameter);
                if (webPartListView != null)
                {
                    if (webPartListView.ColumnId != null)
                    {
                        this.sortedColumn = (ColumnId)webPartListView.ColumnId.Value;
                    }
                    if (webPartListView.SortOrder != null)
                    {
                        this.sortOrder = (SortOrder)webPartListView.SortOrder.Value;
                    }
                    if (webPartListView.IsMultiLine != null)
                    {
                        this.isMultiLine = webPartListView.IsMultiLine.Value;
                    }
                }
            }
            else
            {
                this.viewWidth   = folderViewStates.ViewWidth;
                this.viewHeight  = folderViewStates.ViewHeight;
                this.sortOrder   = folderViewStates.GetSortOrder(this.DefaultSortOrder);
                this.isMultiLine = folderViewStates.GetMultiLine(this.DefaultMultiLineSetting);
                string sortColumn = folderViewStates.GetSortColumn(null);
                if (sortColumn != null)
                {
                    ColumnId columnId = ColumnIdParser.Parse(sortColumn);
                    if (columnId < ColumnId.Count && (!this.isMultiLine || ListViewColumns.GetColumn(columnId).SortBoundaries != null))
                    {
                        this.sortedColumn = columnId;
                    }
                }
            }
            if (ConversationUtilities.IsConversationSortColumn(this.sortedColumn) && !ConversationUtilities.ShouldAllowConversationView(base.UserContext, this.Folder))
            {
                this.sortedColumn = ColumnId.DeliveryTime;
            }
            this.readingPanePosition = folderViewStates.GetReadingPanePosition(this.DefaultReadingPanePosition);
            this.LoadELCData();
        }