22 Commits

Author SHA1 Message Date
Burak Kaan Köse
4f09345769 Added simple validations for advanced imap setup dialog to prevent users from making mistakes. 2025-02-22 01:43:09 +01:00
Aleh Khantsevich
5073ead8fe Extract webvieweditor to share between compose page and signature editor (#578)
* initial work for webview editor control

* moved more stuff to editor itself

* revert packages.props indention changes

* move alignment logic

* Migrate signature editor to new control

* move background to editor control

* Some polishing

* Fixed the corner glitch issue with dark theme.

---------

Co-authored-by: Burak Kaan Köse <bkaankose@outlook.com>
2025-02-22 00:43:39 +01:00
Burak Kaan Köse
f61bcb621b Online Search (#576)
* Very basic online search for gmail.

* Server side of handling offline search and listing part in listing page.

* Default search mode implementation and search UI improvements.

* Online search for Outlook.

* Very basic online search for gmail.

* Server side of handling offline search and listing part in listing page.

* Default search mode implementation and search UI improvements.

* Online search for Outlook.

* Online search for imap without downloading the messages yet. TODO

* Completing imap search.
2025-02-22 00:22:00 +01:00
Burak Kaan Köse
42b695854b Merge branch 'main' of https://github.com/bkaankose/Wino-Mail 2025-02-20 00:54:46 +01:00
Burak Kaan Köse
496ae8b1b2 Download imap messages in ascending order. 2025-02-20 00:54:41 +01:00
Aleh Khantsevich
4215a2592f Remove last simicolon in to/cc/bcc (#574) 2025-02-18 20:51:02 +01:00
Sean Chen
bca62033a1 Log unexpected exceptions on sync failure (#569) 2025-02-16 21:15:31 +01:00
Burak Kaan Köse
18a91f9223 Fix condstore synchronization. 2025-02-16 20:40:53 +01:00
Burak Kaan Köse
474d7c7a26 New Crowdin updates (#568)
* New translations resources.json (Romanian)

* New translations resources.json (French)

* New translations resources.json (Spanish)

* New translations resources.json (Catalan)

* New translations resources.json (Czech)

* New translations resources.json (Danish)

* New translations resources.json (German)

* New translations resources.json (Greek)

* New translations resources.json (Finnish)

* New translations resources.json (Italian)

* New translations resources.json (Japanese)

* New translations resources.json (Dutch)

* New translations resources.json (Polish)

* New translations resources.json (Russian)

* New translations resources.json (Turkish)

* New translations resources.json (Ukrainian)

* New translations resources.json (Chinese Simplified)

* New translations resources.json (Galician)

* New translations resources.json (Portuguese, Brazilian)

* New translations resources.json (Indonesian)

* New translations resources.json (Lithuanian)
2025-02-16 18:13:32 +01:00
Burak Kaan Köse
3f9a51ff46 Fix portuguese - brazil typo. 2025-02-16 17:06:07 +01:00
Burak Kaan Köse
df3b5c41f9 Clicking on loaded account menu item will automatically go to Inbox. 2025-02-16 16:56:59 +01:00
Burak Kaan Köse
8800d11ab0 Lower the amount of text needed to start auto-complete in composer page to 2. 2025-02-16 16:56:42 +01:00
Burak Kaan Köse
f021834ceb Fixing diagnostic id being not saved properly. 2025-02-16 16:42:48 +01:00
Burak Kaan Köse
f54a39a549 Fix missing ; for 'you' 2025-02-16 16:33:02 +01:00
Burak Kaan Köse
c312ff3faf Ignore folders that can't be opened for IMAP. 2025-02-16 16:17:41 +01:00
Burak Kaan Köse
db833594f4 Make sure idle disconnects are not logged to app insights. 2025-02-16 16:14:50 +01:00
Burak Kaan Köse
d36cf59829 Translated dates based on display language. (#567)
* Updating the app's culture based on the display language and making sure that dates/times are properly translated.
2025-02-16 14:46:34 +01:00
Aleh Khantsevich
caae751698 Show "You" for active account in mail rendering page (#566)
* Added account contact view model to handle "You" case.

* fix namespaces again
2025-02-16 14:38:53 +01:00
Burak Kaan Köse
f7836eedce Tracking failed imap setup steps for app insights. 2025-02-16 13:23:45 +01:00
Aleh Khantsevich
3ddc1a6229 file scoped namespaces (#565) 2025-02-16 11:54:23 +01:00
Burak Kaan Köse
cf9869b71e Revert "File scoped namespaces"
This reverts commit d31d8f574e.
2025-02-16 11:43:30 +01:00
Aleh Khantsevich
d31d8f574e File scoped namespaces 2025-02-16 11:35:43 +01:00
661 changed files with 34329 additions and 33496 deletions

View File

@@ -149,7 +149,7 @@ csharp_preferred_modifier_order = public,private,protected,internal,static,exter
# Code-block preferences # Code-block preferences
csharp_prefer_braces = true:silent csharp_prefer_braces = true:silent
csharp_prefer_simple_using_statement = true:suggestion csharp_prefer_simple_using_statement = true:suggestion
csharp_style_namespace_declarations = block_scoped:silent csharp_style_namespace_declarations = file_scoped:error
# Expression-level preferences # Expression-level preferences
csharp_prefer_simple_default_expression = true:suggestion csharp_prefer_simple_default_expression = true:suggestion
@@ -288,3 +288,5 @@ csharp_style_prefer_utf8_string_literals = true:suggestion
csharp_style_prefer_readonly_struct = true:suggestion csharp_style_prefer_readonly_struct = true:suggestion
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = true:silent
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = true:silent
csharp_style_prefer_primary_constructors = true:silent
csharp_prefer_system_threading_lock = true:suggestion

View File

@@ -7,6 +7,7 @@
<PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" /> <PackageVersion Include="CommunityToolkit.Common" Version="8.4.0" />
<PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.4.0" /> <PackageVersion Include="CommunityToolkit.Diagnostics" Version="8.4.0" />
<PackageVersion Include="CommunityToolkit.Labs.Uwp.Controls.MarkdownTextBlock" Version="0.1.250206-build.2040" /> <PackageVersion Include="CommunityToolkit.Labs.Uwp.Controls.MarkdownTextBlock" Version="0.1.250206-build.2040" />
<PackageVersion Include="CommunityToolkit.Labs.Uwp.DependencyPropertyGenerator" Version="0.1.250206-build.2040" />
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" /> <PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0" />
<PackageVersion Include="CommunityToolkit.Uwp.Animations" Version="8.2.250129-preview2" /> <PackageVersion Include="CommunityToolkit.Uwp.Animations" Version="8.2.250129-preview2" />
<PackageVersion Include="CommunityToolkit.Uwp.Behaviors" Version="8.2.250129-preview2" /> <PackageVersion Include="CommunityToolkit.Uwp.Behaviors" Version="8.2.250129-preview2" />

View File

@@ -1,8 +1,8 @@
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
namespace Wino.Authentication namespace Wino.Authentication;
{
public abstract class BaseAuthenticator public abstract class BaseAuthenticator
{ {
public abstract MailProviderType ProviderType { get; } public abstract MailProviderType ProviderType { get; }
@@ -14,4 +14,3 @@ namespace Wino.Authentication
AuthenticatorConfig = authenticatorConfig; AuthenticatorConfig = authenticatorConfig;
} }
} }
}

View File

@@ -7,8 +7,8 @@ using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Authentication; using Wino.Core.Domain.Models.Authentication;
namespace Wino.Authentication namespace Wino.Authentication;
{
public class GmailAuthenticator : BaseAuthenticator, IGmailAuthenticator public class GmailAuthenticator : BaseAuthenticator, IGmailAuthenticator
{ {
public GmailAuthenticator(IAuthenticatorConfig authConfig) : base(authConfig) public GmailAuthenticator(IAuthenticatorConfig authConfig) : base(authConfig)
@@ -48,4 +48,3 @@ namespace Wino.Authentication
}, AuthenticatorConfig.GmailScope, account.Id.ToString(), CancellationToken.None, new FileDataStore(AuthenticatorConfig.GmailTokenStoreIdentifier)); }, AuthenticatorConfig.GmailScope, account.Id.ToString(), CancellationToken.None, new FileDataStore(AuthenticatorConfig.GmailTokenStoreIdentifier));
} }
} }
}

View File

@@ -11,8 +11,8 @@ using Wino.Core.Domain.Exceptions;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Authentication; using Wino.Core.Domain.Models.Authentication;
namespace Wino.Authentication namespace Wino.Authentication;
{
public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator public class OutlookAuthenticator : BaseAuthenticator, IOutlookAuthenticator
{ {
private const string TokenCacheFileName = "OutlookCache.bin"; private const string TokenCacheFileName = "OutlookCache.bin";
@@ -123,4 +123,3 @@ namespace Wino.Authentication
throw new AuthenticationException(Translator.Exception_UnknowErrorDuringAuthentication, new Exception(Translator.Exception_TokenGenerationFailed)); throw new AuthenticationException(Translator.Exception_UnknowErrorDuringAuthentication, new Exception(Translator.Exception_TokenGenerationFailed));
} }
} }
}

View File

@@ -1,7 +1,7 @@
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
namespace Wino.Calendar.Services namespace Wino.Calendar.Services;
{
public class CalendarAuthenticatorConfig : IAuthenticatorConfig public class CalendarAuthenticatorConfig : IAuthenticatorConfig
{ {
public string OutlookAuthenticatorClientId => "b19c2035-d740-49ff-b297-de6ec561b208"; public string OutlookAuthenticatorClientId => "b19c2035-d740-49ff-b297-de6ec561b208";
@@ -30,4 +30,3 @@ namespace Wino.Calendar.Services
public string GmailTokenStoreIdentifier => "WinoCalendarGmailTokenStore"; public string GmailTokenStoreIdentifier => "WinoCalendarGmailTokenStore";
} }
}

View File

@@ -7,8 +7,8 @@ using Wino.Core.Domain.Entities.Calendar;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Calendar; using Wino.Core.Domain.Models.Calendar;
namespace Wino.Core.Domain.Collections namespace Wino.Core.Domain.Collections;
{
public class CalendarEventCollection public class CalendarEventCollection
{ {
public event EventHandler<ICalendarItem> CalendarItemAdded; public event EventHandler<ICalendarItem> CalendarItemAdded;
@@ -153,4 +153,3 @@ namespace Wino.Core.Domain.Collections
CalendarItemsCleared?.Invoke(this, EventArgs.Empty); CalendarItemsCleared?.Invoke(this, EventArgs.Empty);
} }
} }
}

View File

@@ -2,8 +2,8 @@
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
using Wino.Core.Domain.Models.Calendar; using Wino.Core.Domain.Models.Calendar;
namespace Wino.Core.Domain.Collections namespace Wino.Core.Domain.Collections;
{
public class DayRangeCollection : ObservableRangeCollection<DayRangeRenderModel> public class DayRangeCollection : ObservableRangeCollection<DayRangeRenderModel>
{ {
/// <summary> /// <summary>
@@ -39,4 +39,3 @@ namespace Wino.Core.Domain.Collections
} }
} }
} }
}

View File

@@ -4,8 +4,8 @@ using System.Collections.ObjectModel;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
namespace Wino.Core.Domain.Collections namespace Wino.Core.Domain.Collections;
{
/// <summary> /// <summary>
/// Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed. /// Represents a dynamic data collection that provides notifications when items get added, removed, or when the whole list is refreshed.
/// </summary> /// </summary>
@@ -171,4 +171,3 @@ namespace Wino.Core.Domain.Collections
OnCollectionChanged(new NotifyCollectionChangedEventArgs(action, changedItems: changedItems, startingIndex: startingIndex)); OnCollectionChanged(new NotifyCollectionChangedEventArgs(action, changedItems: changedItems, startingIndex: startingIndex));
} }
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain namespace Wino.Core.Domain;
{
public static class Constants public static class Constants
{ {
/// <summary> /// <summary>
@@ -20,4 +20,3 @@
public const string WinoMailIdentiifer = nameof(WinoMailIdentiifer); public const string WinoMailIdentiifer = nameof(WinoMailIdentiifer);
public const string WinoCalendarIdentifier = nameof(WinoCalendarIdentifier); public const string WinoCalendarIdentifier = nameof(WinoCalendarIdentifier);
} }
}

View File

@@ -2,8 +2,8 @@
using SQLite; using SQLite;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
namespace Wino.Core.Domain.Entities.Calendar namespace Wino.Core.Domain.Entities.Calendar;
{
public class AccountCalendar : IAccountCalendar public class AccountCalendar : IAccountCalendar
{ {
[PrimaryKey] [PrimaryKey]
@@ -22,4 +22,3 @@ namespace Wino.Core.Domain.Entities.Calendar
public string BackgroundColorHex { get; set; } public string BackgroundColorHex { get; set; }
public string TimeZone { get; set; } public string TimeZone { get; set; }
} }
}

View File

@@ -2,8 +2,8 @@
using SQLite; using SQLite;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar namespace Wino.Core.Domain.Entities.Calendar;
{
// TODO: Connect to Contact store with Wino People. // TODO: Connect to Contact store with Wino People.
public class CalendarEventAttendee public class CalendarEventAttendee
{ {
@@ -17,4 +17,3 @@ namespace Wino.Core.Domain.Entities.Calendar
public bool IsOptionalAttendee { get; set; } public bool IsOptionalAttendee { get; set; }
public string Comment { get; set; } public string Comment { get; set; }
} }
}

View File

@@ -5,8 +5,8 @@ using SQLite;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Interfaces; using Wino.Core.Domain.Interfaces;
namespace Wino.Core.Domain.Entities.Calendar namespace Wino.Core.Domain.Entities.Calendar;
{
[DebuggerDisplay("{Title} ({StartDate} - {EndDate})")] [DebuggerDisplay("{Title} ({StartDate} - {EndDate})")]
public class CalendarItem : ICalendarItem public class CalendarItem : ICalendarItem
{ {
@@ -177,4 +177,3 @@ namespace Wino.Core.Domain.Entities.Calendar
}; };
} }
} }
}

View File

@@ -2,8 +2,8 @@
using SQLite; using SQLite;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Calendar namespace Wino.Core.Domain.Entities.Calendar;
{
public class Reminder public class Reminder
{ {
[PrimaryKey] [PrimaryKey]
@@ -13,4 +13,3 @@ namespace Wino.Core.Domain.Entities.Calendar
public DateTimeOffset ReminderTime { get; set; } public DateTimeOffset ReminderTime { get; set; }
public CalendarItemReminderType ReminderType { get; set; } public CalendarItemReminderType ReminderType { get; set; }
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using SQLite; using SQLite;
namespace Wino.Core.Domain.Entities.Mail namespace Wino.Core.Domain.Entities.Mail;
{
public class AccountSignature public class AccountSignature
{ {
[PrimaryKey] [PrimaryKey]
@@ -14,4 +14,3 @@ namespace Wino.Core.Domain.Entities.Mail
public Guid MailAccountId { get; set; } public Guid MailAccountId { get; set; }
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using SQLite; using SQLite;
namespace Wino.Core.Domain.Entities.Mail namespace Wino.Core.Domain.Entities.Mail;
{
public class RemoteAccountAlias public class RemoteAccountAlias
{ {
/// <summary> /// <summary>
@@ -60,4 +60,3 @@ namespace Wino.Core.Domain.Entities.Mail
/// </summary> /// </summary>
public bool CanDelete => !IsRootAlias; public bool CanDelete => !IsRootAlias;
} }
}

View File

@@ -5,8 +5,8 @@ using Wino.Core.Domain.Entities.Shared;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.MailItem; using Wino.Core.Domain.Models.MailItem;
namespace Wino.Core.Domain.Entities.Mail namespace Wino.Core.Domain.Entities.Mail;
{
/// <summary> /// <summary>
/// Summary of the parsed MIME messages. /// Summary of the parsed MIME messages.
/// Wino will do non-network operations on this table and others from the original MIME. /// Wino will do non-network operations on this table and others from the original MIME.
@@ -154,4 +154,3 @@ namespace Wino.Core.Domain.Entities.Mail
public IEnumerable<Guid> GetContainingIds() => [UniqueId]; public IEnumerable<Guid> GetContainingIds() => [UniqueId];
public override string ToString() => $"{Subject} <-> {Id}"; public override string ToString() => $"{Subject} <-> {Id}";
} }
}

View File

@@ -5,8 +5,8 @@ using SQLite;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
using Wino.Core.Domain.Models.Folders; using Wino.Core.Domain.Models.Folders;
namespace Wino.Core.Domain.Entities.Mail namespace Wino.Core.Domain.Entities.Mail;
{
[DebuggerDisplay("{FolderName} - {SpecialFolderType}")] [DebuggerDisplay("{FolderName} - {SpecialFolderType}")]
public class MailItemFolder : IMailItemFolder public class MailItemFolder : IMailItemFolder
{ {
@@ -72,4 +72,3 @@ namespace Wino.Core.Domain.Entities.Mail
public override string ToString() => FolderName; public override string ToString() => FolderName;
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using SQLite; using SQLite;
namespace Wino.Core.Domain.Entities.Mail namespace Wino.Core.Domain.Entities.Mail;
{
public class MergedInbox public class MergedInbox
{ {
[PrimaryKey] [PrimaryKey]
@@ -10,4 +10,3 @@ namespace Wino.Core.Domain.Entities.Mail
public string Name { get; set; } public string Name { get; set; }
} }
}

View File

@@ -2,8 +2,8 @@
using System.Collections.Generic; using System.Collections.Generic;
using SQLite; using SQLite;
namespace Wino.Core.Domain.Entities.Shared namespace Wino.Core.Domain.Entities.Shared;
{
/// <summary> /// <summary>
/// Back storage for simple name-address book. /// Back storage for simple name-address book.
/// These values will be inserted during MIME fetch. /// These values will be inserted during MIME fetch.
@@ -36,14 +36,6 @@ namespace Wino.Core.Domain.Entities.Shared
/// </summary> /// </summary>
public bool IsRootContact { get; set; } public bool IsRootContact { get; set; }
/// <summary>
/// Short display name of the contact.
/// Eather Name or Address.
/// </summary>
public string ShortDisplayName => Address == Name || string.IsNullOrWhiteSpace(Name) ? $"{Address.ToLowerInvariant()};" : $"{Name};";
public string DisplayName => Address == Name || string.IsNullOrWhiteSpace(Name) ? Address.ToLowerInvariant() : $"{Name} <{Address.ToLowerInvariant()}>";
public override bool Equals(object obj) public override bool Equals(object obj)
{ {
return Equals(obj as AccountContact); return Equals(obj as AccountContact);
@@ -58,10 +50,7 @@ namespace Wino.Core.Domain.Entities.Shared
public override int GetHashCode() public override int GetHashCode()
{ {
int hashCode = -1717786383; return HashCode.Combine(Address, Name);
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Address);
hashCode = hashCode * -1521134295 + EqualityComparer<string>.Default.GetHashCode(Name);
return hashCode;
} }
public static bool operator ==(AccountContact left, AccountContact right) public static bool operator ==(AccountContact left, AccountContact right)
@@ -74,4 +63,3 @@ namespace Wino.Core.Domain.Entities.Shared
return !(left == right); return !(left == right);
} }
} }
}

View File

@@ -1,9 +1,10 @@
using System; using System;
using System.Collections.Generic;
using SQLite; using SQLite;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Shared namespace Wino.Core.Domain.Entities.Shared;
{
public class CustomServerInformation public class CustomServerInformation
{ {
[PrimaryKey] [PrimaryKey]
@@ -49,5 +50,25 @@ namespace Wino.Core.Domain.Entities.Shared
/// Default is 5. /// Default is 5.
/// </summary> /// </summary>
public int MaxConcurrentClients { get; set; } public int MaxConcurrentClients { get; set; }
public Dictionary<string, string> GetConnectionProperties()
{
// Printout the public connection properties.
var connectionProperties = new Dictionary<string, string>
{
{ "IncomingServer", IncomingServer },
{ "IncomingServerPort", IncomingServerPort },
{ "IncomingServerSocketOption", IncomingServerSocketOption.ToString() },
{ "IncomingAuthenticationMethod", IncomingAuthenticationMethod.ToString() },
{ "OutgoingServer", OutgoingServer },
{ "OutgoingServerPort", OutgoingServerPort },
{ "OutgoingServerSocketOption", OutgoingServerSocketOption.ToString() },
{ "OutgoingAuthenticationMethod", OutgoingAuthenticationMethod.ToString() },
{ "ProxyServer", ProxyServer },
{ "ProxyServerPort", ProxyServerPort }
};
return connectionProperties;
} }
} }

View File

@@ -3,8 +3,8 @@ using SQLite;
using Wino.Core.Domain.Entities.Mail; using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Entities.Shared namespace Wino.Core.Domain.Entities.Shared;
{
public class MailAccount public class MailAccount
{ {
[PrimaryKey] [PrimaryKey]
@@ -108,4 +108,3 @@ namespace Wino.Core.Domain.Entities.Shared
/// </summary> /// </summary>
public bool IsAliasSyncSupported => ProviderType == MailProviderType.Gmail; public bool IsAliasSyncSupported => ProviderType == MailProviderType.Gmail;
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using SQLite; using SQLite;
namespace Wino.Core.Domain.Entities.Shared namespace Wino.Core.Domain.Entities.Shared;
{
public class MailAccountPreferences public class MailAccountPreferences
{ {
[PrimaryKey] [PrimaryKey]
@@ -51,4 +51,3 @@ namespace Wino.Core.Domain.Entities.Shared
/// </summary> /// </summary>
public Guid? SignatureIdForFollowingMessages { get; set; } public Guid? SignatureIdForFollowingMessages { get; set; }
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum AccountAttentionReason public enum AccountAttentionReason
{ {
None, None,
InvalidCredentials, InvalidCredentials,
MissingSystemFolderConfiguration MissingSystemFolderConfiguration
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum AccountCreationDialogState public enum AccountCreationDialogState
{ {
Idle, Idle,
@@ -14,4 +14,3 @@
Canceled, Canceled,
FetchingEvents FetchingEvents
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Indicates the state of synchronizer. /// Indicates the state of synchronizer.
/// </summary> /// </summary>
@@ -9,4 +9,3 @@
ExecutingRequests, ExecutingRequests,
Synchronizing Synchronizing
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum AppLanguage public enum AppLanguage
{ {
None, None,
@@ -18,4 +18,3 @@
Italian, Italian,
Romanian Romanian
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum AppThemeType public enum AppThemeType
{ {
System, System,
PreDefined, PreDefined,
Custom, Custom,
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum ApplicationElementTheme public enum ApplicationElementTheme
{ {
Default, Default,
Light, Light,
Dark Dark
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum AttendeeStatus public enum AttendeeStatus
{ {
NeedsAction, NeedsAction,
@@ -7,4 +7,3 @@
Tentative, Tentative,
Declined Declined
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum BackgroundSynchronizationReason public enum BackgroundSynchronizationReason
{ {
SessionConnected, SessionConnected,
Timer Timer
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarDisplayType public enum CalendarDisplayType
{ {
Day, Day,
@@ -8,4 +8,3 @@
Month, Month,
Year Year
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarEventTargetType public enum CalendarEventTargetType
{ {
Single, // Show details for a single event. Single, // Show details for a single event.
Series // Show the series event. Parent of all recurring events. Series // Show the series event. Parent of all recurring events.
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Trigger to load more data. /// Trigger to load more data.
/// </summary> /// </summary>
@@ -8,4 +8,3 @@
User, User,
App App
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarItemRecurrenceFrequency public enum CalendarItemRecurrenceFrequency
{ {
Daily, Daily,
@@ -7,4 +7,3 @@
Monthly, Monthly,
Yearly Yearly
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarItemReminderType public enum CalendarItemReminderType
{ {
Popup, Popup,
Email Email
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarItemStatus public enum CalendarItemStatus
{ {
NotResponded, NotResponded,
@@ -7,4 +7,3 @@
Tentative, Tentative,
Cancelled, Cancelled,
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarItemVisibility public enum CalendarItemVisibility
{ {
Default, Default,
@@ -7,4 +7,3 @@
Private, Private,
Confidential Confidential
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Which way in time to load more data for calendar. /// Which way in time to load more data for calendar.
/// </summary> /// </summary>
@@ -9,4 +9,3 @@
Previous, Previous,
Next Next
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarOrientation public enum CalendarOrientation
{ {
Horizontal, Horizontal,
Vertical Vertical
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CalendarSynchronizationType public enum CalendarSynchronizationType
{ {
ExecuteRequests, // Execute all requests in the queue. ExecuteRequests, // Execute all requests in the queue.
@@ -8,4 +8,3 @@
SingleCalendar, // Sync events for only specified calendars. SingleCalendar, // Sync events for only specified calendars.
UpdateProfile // Update profile information only. UpdateProfile // Update profile information only.
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum ChangeRequestType public enum ChangeRequestType
{ {
MailMarkAs, MailMarkAs,
@@ -21,4 +21,3 @@
SendDraft, SendDraft,
FetchSingleItem FetchSingleItem
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum CustomIncomingServerType public enum CustomIncomingServerType
{ {
POP3, POP3,
IMAP4 IMAP4
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum DayHeaderDisplayType public enum DayHeaderDisplayType
{ {
TwelveHour, TwelveHour,
TwentyFourHour, TwentyFourHour,
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum DraftCreationReason public enum DraftCreationReason
{ {
Empty, Empty,
@@ -7,4 +7,3 @@
ReplyAll, ReplyAll,
Forward Forward
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum FilterOptionType public enum FilterOptionType
{ {
All, All,
@@ -8,4 +8,3 @@
Mentions, Mentions,
Files Files
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Defines all possible folder operations that can be done. /// Defines all possible folder operations that can be done.
/// Available values for each folder is returned by IContextMenuProvider /// Available values for each folder is returned by IContextMenuProvider
@@ -20,4 +20,3 @@
CreateSubFolder, CreateSubFolder,
Seperator Seperator
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum ImapAuthenticationMethod public enum ImapAuthenticationMethod
{ {
Auto, Auto,
@@ -10,4 +10,3 @@
CramMd5, CramMd5,
DigestMd5 DigestMd5
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum ImapConnectionSecurity public enum ImapConnectionSecurity
{ {
Auto, Auto,
@@ -7,4 +7,3 @@
StartTls, StartTls,
SslTls SslTls
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum InfoBarAnimationType public enum InfoBarAnimationType
{ {
SlideFromRightToLeft, SlideFromRightToLeft,
SlideFromBottomToTop SlideFromBottomToTop
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum InfoBarMessageType public enum InfoBarMessageType
{ {
Information, Information,
@@ -7,4 +7,3 @@
Warning, Warning,
Error Error
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum MailAttachmentType public enum MailAttachmentType
{ {
None, None,
@@ -13,4 +13,3 @@
Archive, Archive,
Other Other
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum MailImportance public enum MailImportance
{ {
Low, Low,
Normal, Normal,
High High
} }
}

View File

@@ -1,9 +1,9 @@
namespace Wino.Core.Domain.Enums
{ namespace Wino.Core.Domain.Enums;
public enum MailListDisplayMode public enum MailListDisplayMode
{ {
Spacious, Spacious,
Medium, Medium,
Compact, Compact,
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum MailMarkAsOption public enum MailMarkAsOption
{ {
WhenSelected, WhenSelected,
DontMark, DontMark,
AfterDelay AfterDelay
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
// Synchronizer requests. // Synchronizer requests.
public enum MailSynchronizerOperation public enum MailSynchronizerOperation
{ {
@@ -55,4 +55,3 @@
DiscardLocalDraft, DiscardLocalDraft,
Navigate // For toast activation Navigate // For toast activation
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum MailProviderType public enum MailProviderType
{ {
Outlook, Outlook,
Gmail, Gmail,
IMAP4 = 4 // 2-3 were removed after release. Don't change for backward compatibility. IMAP4 = 4 // 2-3 were removed after release. Don't change for backward compatibility.
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum MailSynchronizationType public enum MailSynchronizationType
{ {
UpdateProfile, // Only update profile information UpdateProfile, // Only update profile information
@@ -11,4 +11,3 @@
Alias, // Only update alias information Alias, // Only update alias information
IMAPIdle // Idle client triggered synchronization. IMAPIdle // Idle client triggered synchronization.
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum NavigationReferenceFrame public enum NavigationReferenceFrame
{ {
ShellFrame, ShellFrame,
RenderingFrame RenderingFrame
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Defines the potential reasons for picking folder in the folder picking dialog. /// Defines the potential reasons for picking folder in the folder picking dialog.
/// </summary> /// </summary>
@@ -9,4 +9,3 @@
SpecialFolder, SpecialFolder,
Any Any
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum PrintingResult public enum PrintingResult
{ {
Abandoned, Abandoned,
@@ -7,4 +7,3 @@
Failed, Failed,
Submitted Submitted
} }
}

View File

@@ -0,0 +1,6 @@
namespace Wino.Core.Domain.Enums;
public enum SearchMode
{
Local,
Online
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// What should happen to server app when the client is terminated. /// What should happen to server app when the client is terminated.
/// </summary> /// </summary>
@@ -9,4 +9,3 @@
Invisible, // Still runs, tray icon is invisible. Invisible, // Still runs, tray icon is invisible.
Terminate // Server is terminated as Wino terminates. Terminate // Server is terminated as Wino terminates.
} }
}

View File

@@ -1,8 +1,7 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum SortingOptionType public enum SortingOptionType
{ {
ReceiveDate, ReceiveDate,
Sender Sender
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum SpecialFolderType public enum SpecialFolderType
{ {
Inbox, Inbox,
@@ -21,4 +21,3 @@
Other, Other,
More More
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum SpecialImapProvider public enum SpecialImapProvider
{ {
None, None,
iCloud, iCloud,
Yahoo Yahoo
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum StartupBehaviorResult public enum StartupBehaviorResult
{ {
Enabled, Enabled,
@@ -8,4 +8,3 @@
DisabledByPolicy, DisabledByPolicy,
Fatal Fatal
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
// From the SDK. // From the SDK.
public enum StorePurchaseResult public enum StorePurchaseResult
{ {
@@ -16,4 +16,3 @@
// The purchase request did not succeed. // The purchase request did not succeed.
NotPurchased, NotPurchased,
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum SynchronizationCompletedState public enum SynchronizationCompletedState
{ {
Success, // All succeeded. Success, // All succeeded.
Canceled, // Canceled by user or HTTP call. Canceled, // Canceled by user or HTTP call.
Failed // Exception. Failed // Exception.
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// Enumeration for the source of synchronization. /// Enumeration for the source of synchronization.
/// Right now it can either be from the client or the server. /// Right now it can either be from the client or the server.
@@ -9,4 +9,3 @@
Client, Client,
Server Server
} }
}

View File

@@ -1,9 +1,8 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum WinoAppType public enum WinoAppType
{ {
Unknown, Unknown,
Mail, Mail,
Calendar Calendar
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum WinoCustomMessageDialogIcon public enum WinoCustomMessageDialogIcon
{ {
Information, Information,
@@ -7,4 +7,3 @@
Error, Error,
Question Question
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
/// <summary> /// <summary>
/// All registered views. /// All registered views.
/// </summary> /// </summary>
@@ -31,4 +31,3 @@
CalendarSettingsPage, CalendarSettingsPage,
EventDetailsPage EventDetailsPage
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Enums namespace Wino.Core.Domain.Enums;
{
public enum WinoServerConnectionStatus public enum WinoServerConnectionStatus
{ {
None, None,
@@ -8,4 +8,3 @@
Disconnected, Disconnected,
Failed Failed
} }
}

View File

@@ -1,7 +1,6 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class AccountSetupCanceledException : System.Exception public class AccountSetupCanceledException : System.Exception
{ {
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using Wino.Core.Domain.Entities.Shared; using Wino.Core.Domain.Entities.Shared;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// Thrown when IAuthenticator requires user interaction to fix authentication issues. /// Thrown when IAuthenticator requires user interaction to fix authentication issues.
/// It can be expired and can't restorable token, or some stuff that requires re-authentication. /// It can be expired and can't restorable token, or some stuff that requires re-authentication.
@@ -16,4 +16,3 @@ namespace Wino.Core.Domain.Exceptions
public MailAccount Account { get; } public MailAccount Account { get; }
} }
}

View File

@@ -1,7 +1,7 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// All exceptions related to authentication. /// All exceptions related to authentication.
/// </summary> /// </summary>
@@ -15,4 +15,3 @@ namespace Wino.Core.Domain.Exceptions
{ {
} }
} }
}

View File

@@ -1,9 +1,8 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// An exception thrown when the background task registration is failed. /// An exception thrown when the background task registration is failed.
/// </summary> /// </summary>
public class BackgroundTaskRegistrationFailedException : Exception { } public class BackgroundTaskRegistrationFailedException : Exception { }
}

View File

@@ -1,11 +1,10 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// Thrown when composer cant find the mime to load. /// Thrown when composer cant find the mime to load.
/// </summary> /// </summary>
public class ComposerMimeNotFoundException : Exception public class ComposerMimeNotFoundException : Exception
{ {
} }
}

View File

@@ -1,11 +1,10 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class CustomThemeCreationFailedException : Exception public class CustomThemeCreationFailedException : Exception
{ {
public CustomThemeCreationFailedException(string message) : base(message) public CustomThemeCreationFailedException(string message) : base(message)
{ {
} }
} }
}

View File

@@ -1,7 +1,6 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class GoogleAuthenticationException : System.Exception public class GoogleAuthenticationException : System.Exception
{ {
public GoogleAuthenticationException(string message) : base(message) { } public GoogleAuthenticationException(string message) : base(message) { }
} }
}

View File

@@ -1,14 +1,30 @@
using System; using System;
using Wino.Core.Domain.Entities.Shared;
namespace Wino.Core.Domain.Exceptions;
namespace Wino.Core.Domain.Exceptions
{
public class ImapClientPoolException : Exception public class ImapClientPoolException : Exception
{ {
public ImapClientPoolException()
{
}
public ImapClientPoolException(string message, CustomServerInformation customServerInformation, string protocolLog) : base(message)
{
CustomServerInformation = customServerInformation;
ProtocolLog = protocolLog;
}
public ImapClientPoolException(string message, string protocolLog) : base(message)
{
ProtocolLog = protocolLog;
}
public ImapClientPoolException(Exception innerException, string protocolLog) : base(Translator.Exception_ImapClientPoolFailed, innerException) public ImapClientPoolException(Exception innerException, string protocolLog) : base(Translator.Exception_ImapClientPoolFailed, innerException)
{ {
ProtocolLog = protocolLog; ProtocolLog = protocolLog;
} }
public CustomServerInformation CustomServerInformation { get; }
public string ProtocolLog { get; } public string ProtocolLog { get; }
} }
}

View File

@@ -1,7 +1,7 @@
using Wino.Core.Domain.Models.AutoDiscovery; using Wino.Core.Domain.Models.AutoDiscovery;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class ImapConnectionFailedPackage public class ImapConnectionFailedPackage
{ {
public ImapConnectionFailedPackage(string errorMessage, string protocolLog, AutoDiscoverySettings settings) public ImapConnectionFailedPackage(string errorMessage, string protocolLog, AutoDiscoverySettings settings)
@@ -15,4 +15,3 @@ namespace Wino.Core.Domain.Exceptions
public string ErrorMessage { get; set; } public string ErrorMessage { get; set; }
public string ProtocolLog { get; } public string ProtocolLog { get; }
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class ImapSynchronizerStrategyException : System.Exception public class ImapSynchronizerStrategyException : System.Exception
{ {
public ImapSynchronizerStrategyException(string message) : base(message) public ImapSynchronizerStrategyException(string message) : base(message)
@@ -7,4 +7,3 @@
} }
} }
}

View File

@@ -1,5 +1,5 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class ImapTestSSLCertificateException : System.Exception public class ImapTestSSLCertificateException : System.Exception
{ {
public ImapTestSSLCertificateException(string issuer, string expirationDateString, string validFromDateString) public ImapTestSSLCertificateException(string issuer, string expirationDateString, string validFromDateString)
@@ -14,4 +14,3 @@
public string ValidFromDateString { get; set; } public string ValidFromDateString { get; set; }
} }
}

View File

@@ -1,6 +1,5 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class InvalidMoveTargetException : Exception { } public class InvalidMoveTargetException : Exception { }
}

View File

@@ -1,7 +1,6 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class MissingAliasException : System.Exception public class MissingAliasException : System.Exception
{ {
public MissingAliasException() : base(Translator.Exception_MissingAlias) { } public MissingAliasException() : base(Translator.Exception_MissingAlias) { }
} }
}

View File

@@ -1,11 +1,10 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class SynchronizerEntityNotFoundException : Exception public class SynchronizerEntityNotFoundException : Exception
{ {
public SynchronizerEntityNotFoundException(string message) : base(message) public SynchronizerEntityNotFoundException(string message) : base(message)
{ {
} }
} }
}

View File

@@ -1,7 +1,7 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
public class SynchronizerException : Exception public class SynchronizerException : Exception
{ {
public SynchronizerException(string message) : base(message) public SynchronizerException(string message) : base(message)
@@ -12,4 +12,3 @@ namespace Wino.Core.Domain.Exceptions
{ {
} }
} }
}

View File

@@ -1,7 +1,6 @@
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// When IMAP account's system folder configuration setup is not done yet. /// When IMAP account's system folder configuration setup is not done yet.
/// </summary> /// </summary>
public class SystemFolderConfigurationMissingException : System.Exception { } public class SystemFolderConfigurationMissingException : System.Exception { }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// Emitted when special folder is needed for an operation but it couldn't be found. /// Emitted when special folder is needed for an operation but it couldn't be found.
/// </summary> /// </summary>
@@ -17,4 +17,3 @@ namespace Wino.Core.Domain.Exceptions
public SpecialFolderType SpecialFolderType { get; } public SpecialFolderType SpecialFolderType { get; }
public Guid AccountId { get; set; } public Guid AccountId { get; set; }
} }
}

View File

@@ -1,7 +1,7 @@
using System; using System;
namespace Wino.Core.Domain.Exceptions namespace Wino.Core.Domain.Exceptions;
{
/// <summary> /// <summary>
/// All server crash types. Wino Server ideally should not throw anything else than this Exception type. /// All server crash types. Wino Server ideally should not throw anything else than this Exception type.
/// </summary> /// </summary>
@@ -9,4 +9,3 @@ namespace Wino.Core.Domain.Exceptions
{ {
public WinoServerException(string message) : base(message) { } public WinoServerException(string message) : base(message) { }
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using Wino.Core.Domain.Models.Calendar; using Wino.Core.Domain.Models.Calendar;
namespace Wino.Core.Domain.Extensions namespace Wino.Core.Domain.Extensions;
{
public static class DateTimeExtensions public static class DateTimeExtensions
{ {
/// <summary> /// <summary>
@@ -30,4 +30,3 @@ namespace Wino.Core.Domain.Extensions
return date.AddDays(-diff).Date; return date.AddDays(-diff).Date;
} }
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace Wino.Core.Domain.Extensions namespace Wino.Core.Domain.Extensions;
{
public static class ExceptionExtensions public static class ExceptionExtensions
{ {
public static IEnumerable<Exception> GetInnerExceptions(this Exception ex) public static IEnumerable<Exception> GetInnerExceptions(this Exception ex)
@@ -21,4 +21,3 @@ namespace Wino.Core.Domain.Extensions
while (innerException != null); while (innerException != null);
} }
} }
}

View File

@@ -1,8 +1,8 @@
using System; using System;
using System.IO; using System.IO;
namespace Wino.Core.Domain.Extensions namespace Wino.Core.Domain.Extensions;
{
public static class MimeExtensions public static class MimeExtensions
{ {
public static string GetBase64MimeMessage(this MimeKit.MimeMessage message) public static string GetBase64MimeMessage(this MimeKit.MimeMessage message)
@@ -17,4 +17,3 @@ namespace Wino.Core.Domain.Extensions
public static MimeKit.MimeMessage GetMimeMessageFromBase64(this string base64) public static MimeKit.MimeMessage GetMimeMessageFromBase64(this string base64)
=> MimeKit.MimeMessage.Load(new System.IO.MemoryStream(Convert.FromBase64String(base64))); => MimeKit.MimeMessage.Load(new System.IO.MemoryStream(Convert.FromBase64String(base64)));
} }
}

View File

@@ -1,7 +1,7 @@
using System; using System;
namespace Wino.Core.Domain.Interfaces namespace Wino.Core.Domain.Interfaces;
{
public interface IAccountCalendar public interface IAccountCalendar
{ {
string Name { get; set; } string Name { get; set; }
@@ -13,4 +13,3 @@ namespace Wino.Core.Domain.Interfaces
bool IsExtended { get; set; } bool IsExtended { get; set; }
Guid Id { get; set; } Guid Id { get; set; }
} }
}

View File

@@ -2,12 +2,11 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Wino.Core.Domain.Enums; using Wino.Core.Domain.Enums;
namespace Wino.Core.Domain.Interfaces namespace Wino.Core.Domain.Interfaces;
{
public interface IAccountCreationDialog public interface IAccountCreationDialog
{ {
Task ShowDialogAsync(CancellationTokenSource cancellationTokenSource); Task ShowDialogAsync(CancellationTokenSource cancellationTokenSource);
void Complete(bool cancel); void Complete(bool cancel);
AccountCreationDialogState State { get; set; } AccountCreationDialogState State { get; set; }
} }
}

View File

@@ -2,8 +2,8 @@
using Wino.Core.Domain.Entities.Mail; using Wino.Core.Domain.Entities.Mail;
using Wino.Core.Domain.Entities.Shared; using Wino.Core.Domain.Entities.Shared;
namespace Wino.Core.Domain.Interfaces namespace Wino.Core.Domain.Interfaces;
{
public interface IAccountMenuItem : IMenuItem public interface IAccountMenuItem : IMenuItem
{ {
bool IsEnabled { get; set; } bool IsEnabled { get; set; }
@@ -19,4 +19,3 @@ namespace Wino.Core.Domain.Interfaces
MergedInbox Parameter { get; } MergedInbox Parameter { get; }
} }
}

View File

@@ -1,6 +1,5 @@
namespace Wino.Core.Domain.Interfaces namespace Wino.Core.Domain.Interfaces;
{
public interface IAccountPickerDialog public interface IAccountPickerDialog
{ {
} }
}

View File

@@ -1,7 +1,7 @@
using System; using System;
namespace Wino.Core.Domain.Interfaces namespace Wino.Core.Domain.Interfaces;
{
public interface IAccountProviderDetailViewModel public interface IAccountProviderDetailViewModel
{ {
/// <summary> /// <summary>
@@ -35,4 +35,3 @@ namespace Wino.Core.Domain.Interfaces
/// </summary> /// </summary>
int HoldingAccountCount { get; } int HoldingAccountCount { get; }
} }
}

Some files were not shown because too many files have changed in this diff Show More