Initial commit.

This commit is contained in:
Burak Kaan Köse
2024-04-18 01:44:37 +02:00
parent 524ea4c0e1
commit 12d3814626
671 changed files with 77295 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
using System.Threading.Tasks;
using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Navigation;
namespace Wino.Mail.ViewModels.Messages
{
public class ActiveMailFolderChangedEvent : NavigateMailFolderEventArgs
{
public ActiveMailFolderChangedEvent(IBaseFolderMenuItem baseFolderMenuItem,
TaskCompletionSource<bool> folderInitLoadAwaitTask = null) : base(baseFolderMenuItem, folderInitLoadAwaitTask)
{
}
}
}

View File

@@ -0,0 +1,20 @@
using System;
using Wino.Core.MenuItems;
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.ViewModels.Messages
{
/// <summary>
/// When active mail item in the reader is updated.
/// </summary>
public class ActiveMailItemChangedEvent
{
public ActiveMailItemChangedEvent(MailItemViewModel selectedMailItemViewModel)
{
// SelectedMailItemViewModel can be null.
SelectedMailItemViewModel = selectedMailItemViewModel;
}
public MailItemViewModel SelectedMailItemViewModel { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.ViewModels.Messages
{
/// <summary>
/// Wino has complex selected item detection mechanism with nested ListViews that
/// supports multi selection with threads. Each list view will raise this for mail list page
/// to react.
/// </summary>
public class MailItemSelectedEvent
{
public MailItemSelectedEvent(MailItemViewModel selectedMailItem)
{
SelectedMailItem = selectedMailItem;
}
public MailItemViewModel SelectedMailItem { get; set; }
}
}

View File

@@ -0,0 +1,17 @@
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.ViewModels.Messages
{
/// <summary>
/// Selected item removed event.
/// </summary>
public class MailItemSelectionRemovedEvent
{
public MailItemSelectionRemovedEvent(MailItemViewModel removedMailItem)
{
RemovedMailItem = removedMailItem;
}
public MailItemViewModel RemovedMailItem { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.ViewModels.Messages
{
/// <summary>
/// When a thread conversation listview has single selection, all other listviews
/// must unselect all their items.
/// </summary>
public class ResetSingleMailItemSelectionEvent
{
public ResetSingleMailItemSelectionEvent(MailItemViewModel selectedViewModel)
{
SelectedViewModel = selectedViewModel;
}
public MailItemViewModel SelectedViewModel { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
using Wino.Mail.ViewModels.Data;
namespace Wino.Mail.ViewModels.Messages
{
/// <summary>
/// When listing view model manipulated the selected mail container in the UI.
/// </summary>
public record SelectMailItemContainerEvent(MailItemViewModel SelectedMailViewModel, bool ScrollToItem = false);
}