* 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>
108 lines
3.3 KiB
C#
108 lines
3.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Wino.Core.Domain;
|
|
using Wino.Core.Domain.Enums;
|
|
using Wino.Core.Domain.Interfaces;
|
|
|
|
namespace Wino.Mail.ViewModels
|
|
{
|
|
public class MessageListPageViewModel : MailBaseViewModel
|
|
{
|
|
public IPreferencesService PreferencesService { get; }
|
|
|
|
private int selectedMarkAsOptionIndex;
|
|
|
|
public int SelectedMarkAsOptionIndex
|
|
{
|
|
get => selectedMarkAsOptionIndex;
|
|
set
|
|
{
|
|
if (SetProperty(ref selectedMarkAsOptionIndex, value))
|
|
{
|
|
if (value >= 0)
|
|
{
|
|
PreferencesService.MarkAsPreference = (MailMarkAsOption)Enum.GetValues<MailMarkAsOption>().GetValue(value);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
private readonly List<MailOperation> availableHoverActions =
|
|
[
|
|
MailOperation.Archive,
|
|
MailOperation.SoftDelete,
|
|
MailOperation.SetFlag,
|
|
MailOperation.MarkAsRead,
|
|
MailOperation.MoveToJunk
|
|
];
|
|
|
|
public List<string> AvailableHoverActionsTranslations { get; set; } =
|
|
[
|
|
Translator.HoverActionOption_Archive,
|
|
Translator.HoverActionOption_Delete,
|
|
Translator.HoverActionOption_ToggleFlag,
|
|
Translator.HoverActionOption_ToggleRead,
|
|
Translator.HoverActionOption_MoveJunk
|
|
];
|
|
|
|
#region Properties
|
|
|
|
private int leftHoverActionIndex;
|
|
|
|
public int LeftHoverActionIndex
|
|
{
|
|
get => leftHoverActionIndex;
|
|
set
|
|
{
|
|
if (SetProperty(ref leftHoverActionIndex, value))
|
|
{
|
|
PreferencesService.LeftHoverAction = availableHoverActions[value];
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
private int centerHoverActionIndex;
|
|
|
|
public int CenterHoverActionIndex
|
|
{
|
|
get => centerHoverActionIndex;
|
|
set
|
|
{
|
|
if (SetProperty(ref centerHoverActionIndex, value))
|
|
{
|
|
PreferencesService.CenterHoverAction = availableHoverActions[value];
|
|
}
|
|
}
|
|
}
|
|
|
|
private int rightHoverActionIndex;
|
|
|
|
public int RightHoverActionIndex
|
|
{
|
|
get => rightHoverActionIndex;
|
|
set
|
|
{
|
|
if (SetProperty(ref rightHoverActionIndex, value))
|
|
{
|
|
PreferencesService.RightHoverAction = availableHoverActions[value];
|
|
}
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
|
|
public MessageListPageViewModel(IMailDialogService dialogService,
|
|
IPreferencesService preferencesService)
|
|
{
|
|
PreferencesService = preferencesService;
|
|
|
|
leftHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.LeftHoverAction);
|
|
centerHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.CenterHoverAction);
|
|
rightHoverActionIndex = availableHoverActions.IndexOf(PreferencesService.RightHoverAction);
|
|
|
|
SelectedMarkAsOptionIndex = Array.IndexOf(Enum.GetValues<MailMarkAsOption>(), PreferencesService.MarkAsPreference);
|
|
}
|
|
}
|
|
}
|