* Ground work for NET9 UWP switch. * Add launch settings for Wino.Mail * Added new test WAP project * fix platforms in slnx solution * ManagePackageVersionsCentrally set default * Fixing assets and couple issues with the new packaging project. * Add back markdown * Fix nuget warnings * FIx error in WAP about build tools * Add build.props with default language preview * Some AOT compilation progress. * More AOT stuff. * Remove deprecated protocol auth activation handler. * Fix remaining protocol handler for google auth. * Even more AOT * More more AOT fixes * Fix a few more AOT warnings * Fix signature editor AOT * Fix composer and renderer AOT JSON * Outlook Sync AOT * Fixing bundle generation and package signing. --------- Co-authored-by: Burak Kaan Köse <bkaankose@outlook.com>
60 lines
2.8 KiB
C#
60 lines
2.8 KiB
C#
using Windows.UI.Xaml;
|
|
using Windows.UI.Xaml.Controls;
|
|
using Wino.Core.Domain.MenuItems;
|
|
|
|
namespace Wino.Core.UWP.Selectors
|
|
{
|
|
public partial 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 == Domain.Enums.AccountAttentionReason.MissingSystemFolderConfiguration
|
|
? FixMissingFolderConfigTemplate : FixAuthenticationIssueTemplate;
|
|
else
|
|
{
|
|
var type = item.GetType();
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
}
|