* New rename folder dialog keys. * Insfra work for folder operations and rename folder code. * RenameFolder for Gmail. * Fixed input dialog to take custom take for primary button. * Missing rename for DS call. * Outlook to throw exception in case of error. * Implemented rename folder functionality for Outlook. * Remove default primary text from input dialog. * Fixed an issue where outlook folder rename does not work. * Disable vertical scroll for composing page editor items. * Fixing some issues with imap folder sync. * fix copy pasta * TODO folder update/removed overrides for shell. * New rename folder dialog keys. * Insfra work for folder operations and rename folder code. * RenameFolder for Gmail. * Fixed input dialog to take custom take for primary button. * Missing rename for DS call. * Outlook to throw exception in case of error. * Implemented rename folder functionality for Outlook. * Remove default primary text from input dialog. * Fixed an issue where outlook folder rename does not work. * Disable vertical scroll for composing page editor items. * Fixing some issues with imap folder sync. * fix copy pasta * TODO folder update/removed overrides for shell. * New rename folder dialog keys. * Insfra work for folder operations and rename folder code. * RenameFolder for Gmail. * Fixed input dialog to take custom take for primary button. * Missing rename for DS call. * Outlook to throw exception in case of error. * Implemented rename folder functionality for Outlook. * Remove default primary text from input dialog. * Fixed an issue where outlook folder rename does not work. * Disable vertical scroll for composing page editor items. * Fixing some issues with imap folder sync. * fix copy pasta * TODO folder update/removed overrides for shell. * New rename folder dialog keys. * Fixed an issue where redundant older updates causing pivots to be re-created. * New empty folder request * New rename folder dialog keys. * Insfra work for folder operations and rename folder code. * RenameFolder for Gmail. * Fixed input dialog to take custom take for primary button. * Missing rename for DS call. * Outlook to throw exception in case of error. * Implemented rename folder functionality for Outlook. * Remove default primary text from input dialog. * Fixed an issue where outlook folder rename does not work. * Fixing some issues with imap folder sync. * fix copy pasta * TODO folder update/removed overrides for shell. * New rename folder dialog keys. * New rename folder dialog keys. * New rename folder dialog keys. * Fixed an issue where redundant older updates causing pivots to be re-created. * New empty folder request * Enable empty folder on base sync. * Move updates on event listeners. * Remove folder UI messages. * Reworked folder synchronization for gmail. * Loading folders on the fly as the selected account changed instead of relying on cached menu items. * Merged account folder items, re-navigating to existing rendering page. * - Reworked merged account menu system. - Reworked unread item count loadings. - Fixed back button visibility. - Instant rendering of mails if renderer is active. - Animation fixes. - Menu item re-load crash/hang fixes. * Handle folder renaming on the UI. * Empty folder for all synchronizers. * New execution delay mechanism and handling folder mark as read for all synchronizers. * Revert UI changes on failure for IMAP. * Remove duplicate translation keys. * Cleanup.
60 lines
2.8 KiB
C#
60 lines
2.8 KiB
C#
using Windows.UI.Xaml;
|
|
using Windows.UI.Xaml.Controls;
|
|
using Wino.Core.MenuItems;
|
|
|
|
namespace Wino.Selectors
|
|
{
|
|
public class NavigationMenuTemplateSelector : DataTemplateSelector
|
|
{
|
|
public DataTemplate MenuItemTemplate { get; set; }
|
|
public DataTemplate AccountManagementTemplate { get; set; }
|
|
public DataTemplate ClickableAccountMenuTemplate { get; set; }
|
|
public DataTemplate MergedAccountTemplate { get; set; }
|
|
public DataTemplate MergedAccountFolderTemplate { get; set; }
|
|
public DataTemplate MergedAccountMoreExpansionItemTemplate { get; set; }
|
|
public DataTemplate FolderMenuTemplate { get; set; }
|
|
public DataTemplate SettingsItemTemplate { get; set; }
|
|
public DataTemplate MoreItemsFolderTemplate { get; set; }
|
|
public DataTemplate RatingItemTemplate { get; set; }
|
|
public DataTemplate CreateNewFolderTemplate { get; set; }
|
|
public DataTemplate SeperatorTemplate { get; set; }
|
|
public DataTemplate NewMailTemplate { get; set; }
|
|
public DataTemplate CategoryItemsTemplate { get; set; }
|
|
public DataTemplate FixAuthenticationIssueTemplate { get; set; }
|
|
public DataTemplate FixMissingFolderConfigTemplate { get; set; }
|
|
|
|
protected override DataTemplate SelectTemplateCore(object item)
|
|
{
|
|
if (item is NewMailMenuItem)
|
|
return NewMailTemplate;
|
|
else if (item is SettingsItem)
|
|
return SettingsItemTemplate;
|
|
else if (item is SeperatorItem)
|
|
return SeperatorTemplate;
|
|
else if (item is AccountMenuItem accountMenuItem)
|
|
// Merged inbox account menu items must be nested.
|
|
return ClickableAccountMenuTemplate;
|
|
else if (item is ManageAccountsMenuItem)
|
|
return AccountManagementTemplate;
|
|
else if (item is RateMenuItem)
|
|
return RatingItemTemplate;
|
|
else if (item is MergedAccountMenuItem)
|
|
return MergedAccountTemplate;
|
|
else if (item is MergedAccountMoreFolderMenuItem)
|
|
return MergedAccountMoreExpansionItemTemplate;
|
|
else if (item is MergedAccountFolderMenuItem)
|
|
return MergedAccountFolderTemplate;
|
|
else if (item is FolderMenuItem)
|
|
return FolderMenuTemplate;
|
|
else if (item is FixAccountIssuesMenuItem fixAccountIssuesMenuItem)
|
|
return fixAccountIssuesMenuItem.Account.AttentionReason == Core.Domain.Enums.AccountAttentionReason.MissingSystemFolderConfiguration
|
|
? FixMissingFolderConfigTemplate : FixAuthenticationIssueTemplate;
|
|
else
|
|
{
|
|
var type = item.GetType();
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|