@@ -1,5 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
|
||||
@@ -7,5 +7,6 @@
|
||||
bool ContainsResourceKey(string resourceKey);
|
||||
void ReplaceResource(string resourceKey, object resource);
|
||||
T GetLastResource();
|
||||
TReturnType GetResource<TReturnType>(string resourceKey);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using MailKit;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
using Wino.Core.Domain.Models.MailItem;
|
||||
@@ -9,7 +9,7 @@ using Wino.Core.Domain.Models.Synchronization;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface IBaseSynchronizer
|
||||
public interface IBaseMailSynchronizer
|
||||
{
|
||||
/// <summary>
|
||||
/// Account that is assigned for this synchronizer.
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface ICalendarDialogService : IDialogServiceBase
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
using System;
|
||||
using Itenso.TimePeriod;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface ICalendarItem
|
||||
{
|
||||
string Name { get; }
|
||||
Guid Id { get; }
|
||||
DateTime StartTime { get; }
|
||||
DateTime EndTime { get; }
|
||||
TimeRange Period { get; }
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface IDialogServiceBase
|
||||
{
|
||||
Task<string> PickWindowsFolderAsync();
|
||||
Task<byte[]> PickWindowsFileContentAsync(params object[] typeFilters);
|
||||
Task<bool> ShowConfirmationDialogAsync(string question, string title, string confirmationButtonTitle);
|
||||
Task ShowMessageAsync(string message, string title, WinoCustomMessageDialogIcon icon);
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType);
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType, string actionButtonText, Action action);
|
||||
void ShowNotSupportedMessage();
|
||||
Task<string> ShowTextInputDialogAsync(string currentInput, string dialogTitle, string dialogDescription, string primaryButtonText);
|
||||
Task<bool> ShowWinoCustomMessageDialogAsync(string title,
|
||||
string description,
|
||||
string approveButtonText,
|
||||
WinoCustomMessageDialogIcon? icon,
|
||||
string cancelButtonText = "",
|
||||
string dontAskAgainConfigurationKey = "");
|
||||
Task<bool> ShowCustomThemeBuilderDialogAsync();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
+5
-19
@@ -2,33 +2,24 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Accounts;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface IDialogService
|
||||
public interface IMailDialogService : IDialogServiceBase
|
||||
{
|
||||
Task<string> PickWindowsFolderAsync();
|
||||
Task<byte[]> PickWindowsFileContentAsync(params object[] typeFilters);
|
||||
Task<bool> ShowConfirmationDialogAsync(string question, string title, string confirmationButtonTitle);
|
||||
Task<bool> ShowHardDeleteConfirmationAsync();
|
||||
Task HandleSystemFolderConfigurationDialogAsync(Guid accountId, IFolderService folderService);
|
||||
Task<bool> ShowCustomThemeBuilderDialogAsync();
|
||||
|
||||
Task ShowMessageAsync(string message, string title, WinoCustomMessageDialogIcon icon);
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType);
|
||||
void InfoBarMessage(string title, string message, InfoBarMessageType messageType, string actionButtonText, Action action);
|
||||
|
||||
void ShowNotSupportedMessage();
|
||||
|
||||
// Custom dialogs
|
||||
Task<IMailItemFolder> ShowMoveMailFolderDialogAsync(List<IMailItemFolder> availableFolders);
|
||||
Task<AccountCreationDialogResult> ShowNewAccountMailProviderDialogAsync(List<IProviderDetail> availableProviders);
|
||||
IAccountCreationDialog GetAccountCreationDialog(MailProviderType type);
|
||||
Task<string> ShowTextInputDialogAsync(string currentInput, string dialogTitle, string dialogDescription, string primaryButtonText);
|
||||
|
||||
Task<MailAccount> ShowEditAccountDialogAsync(MailAccount account);
|
||||
Task<MailAccount> ShowAccountPickerDialogAsync(List<MailAccount> availableAccounts);
|
||||
|
||||
@@ -58,11 +49,6 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
/// <returns>Created alias model if not canceled.</returns>
|
||||
Task<ICreateAccountAliasDialog> ShowCreateAccountAliasDialogAsync();
|
||||
Task<bool> ShowWinoCustomMessageDialogAsync(string title,
|
||||
string description,
|
||||
string approveButtonText,
|
||||
WinoCustomMessageDialogIcon? icon,
|
||||
string cancelButtonText = "",
|
||||
string dontAskAgainConfigurationKey = "");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -2,7 +2,8 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Entities.Shared;
|
||||
using Wino.Core.Domain.Models.MailItem;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Calendar;
|
||||
using Wino.Core.Domain.Models.Reader;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
@@ -11,6 +12,37 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
event EventHandler<string> PreferenceChanged;
|
||||
|
||||
#region Common
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether logs are enabled or not.
|
||||
/// </summary>
|
||||
bool IsLoggingEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Display language for the application.
|
||||
/// </summary>
|
||||
AppLanguage CurrentLanguage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether the navigation pane is opened on the last session or not.
|
||||
/// </summary>
|
||||
bool IsNavigationPaneOpened { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Gets or sets what should happen to server app when the client is terminated.
|
||||
/// </summary>
|
||||
ServerBackgroundMode ServerTerminationBehavior { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Preferred time format for mail or calendar header display.
|
||||
/// </summary>
|
||||
bool Prefer24HourTimeFormat { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Mail
|
||||
|
||||
/// <summary>
|
||||
/// Setting: For changing the mail display container mode.
|
||||
/// </summary>
|
||||
@@ -21,11 +53,6 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
MailMarkAsOption MarkAsPreference { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Preferred time format for mail display.
|
||||
/// </summary>
|
||||
bool Prefer24HourTimeFormat { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: How many seconds should be waited on rendering page to mark item as read.
|
||||
/// </summary>
|
||||
@@ -101,11 +128,6 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
MailOperation RightHoverAction { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether logs are enabled or not.
|
||||
/// </summary>
|
||||
bool IsLoggingEnabled { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether Mailkit Protocol Logger is enabled for ImapTestService or not.
|
||||
/// </summary>
|
||||
@@ -116,10 +138,7 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
Guid? StartupEntityId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Display language for the application.
|
||||
/// </summary>
|
||||
AppLanguage CurrentLanguage { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Display font for the mail reader.
|
||||
@@ -141,24 +160,31 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// </summary>
|
||||
int ComposerFontSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether the navigation pane is opened on the last session or not.
|
||||
/// </summary>
|
||||
bool IsNavigationPaneOpened { get; set; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether the next item should be automatically selected once the current item is moved or removed.
|
||||
/// </summary>
|
||||
bool AutoSelectNextItem { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Gets or sets what should happen to server app when the client is terminated.
|
||||
/// </summary>
|
||||
ServerBackgroundMode ServerTerminationBehavior { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Whether the mail list action bar is enabled or not.
|
||||
/// </summary>
|
||||
bool IsMailListActionBarEnabled { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Calendar
|
||||
|
||||
DayOfWeek FirstDayOfWeek { get; set; }
|
||||
TimeSpan WorkingHourStart { get; set; }
|
||||
TimeSpan WorkingHourEnd { get; set; }
|
||||
DayOfWeek WorkingDayStart { get; set; }
|
||||
DayOfWeek WorkingDayEnd { get; set; }
|
||||
double HourHeight { get; set; }
|
||||
|
||||
CalendarSettings GetCurrentCalendarSettings();
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Collections.Generic;
|
||||
using Wino.Core.Domain.Models.Settings;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface ISettingsBuilderService
|
||||
{
|
||||
List<SettingOption> GetSettingItems();
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using Wino.Core.Domain.Enums;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
@@ -43,5 +44,15 @@ namespace Wino.Core.Domain.Interfaces
|
||||
/// Setting: Mail list pane length for listing mails.
|
||||
/// </summary>
|
||||
double MailListPaneLength { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Calendar display type.
|
||||
/// </summary>
|
||||
CalendarDisplayType CalendarDisplayType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Setting: Calendar display count for the day view.
|
||||
/// </summary>
|
||||
int DayDisplayCount { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface ISynchronizerFactory
|
||||
{
|
||||
Task<IBaseSynchronizer> GetAccountSynchronizerAsync(Guid accountId);
|
||||
Task<IBaseMailSynchronizer> GetAccountSynchronizerAsync(Guid accountId);
|
||||
Task InitializeAsync();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Wino.Core.Domain.Entities;
|
||||
using Wino.Core.Domain.Entities.Mail;
|
||||
using Wino.Core.Domain.Models.Folders;
|
||||
using Wino.Core.Domain.Models.MailItem;
|
||||
|
||||
|
||||
@@ -1,18 +1,16 @@
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.MailItem;
|
||||
using System;
|
||||
using Wino.Core.Domain.Enums;
|
||||
using Wino.Core.Domain.Models.Navigation;
|
||||
|
||||
namespace Wino.Core.Domain.Interfaces
|
||||
{
|
||||
public interface IWinoNavigationService
|
||||
public interface INavigationService
|
||||
{
|
||||
bool Navigate(WinoPage page,
|
||||
object parameter = null,
|
||||
NavigationReferenceFrame frame = NavigationReferenceFrame.ShellFrame,
|
||||
NavigationTransitionType transition = NavigationTransitionType.None);
|
||||
void NavigateCompose(IMailItem mailItem, NavigationTransitionType transition = NavigationTransitionType.None);
|
||||
void NavigateRendering(IMailItem mailItem, NavigationTransitionType transition = NavigationTransitionType.None);
|
||||
void NavigateRendering(MimeMessageInformation mimeMessageInformation, NavigationTransitionType transition = NavigationTransitionType.None);
|
||||
void NavigateFolder(NavigateMailFolderEventArgs args);
|
||||
|
||||
Type GetPageType(WinoPage winoPage);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user