Wino Calendar app entry. (#819)

* Double app entry.

* New icon for sys tray
This commit is contained in:
Burak Kaan Köse
2026-02-22 15:13:39 +01:00
committed by GitHub
parent 17ca32c537
commit 311b3c77c8
171 changed files with 295 additions and 65 deletions
@@ -0,0 +1,57 @@
using System;
using Wino.Core.Domain.Enums;
namespace Wino.Mail.WinUI.Activation;
internal static class AppModeActivationResolver
{
public static WinoApplicationMode Resolve(string? launchArguments, string? tileId, string? appId)
{
if (TryResolveFromText(launchArguments, out var mode))
return mode;
if (TryResolveFromText(tileId, out mode))
return mode;
if (TryResolveFromText(appId, out mode))
return mode;
return WinoApplicationMode.Mail;
}
private static bool TryResolveFromText(string? value, out WinoApplicationMode mode)
{
mode = WinoApplicationMode.Mail;
if (string.IsNullOrWhiteSpace(value))
return false;
if (Contains(value, "wino-calendar") ||
Contains(value, "--mode=calendar") ||
Contains(value, "mode=calendar") ||
Contains(value, "calendarapp") ||
EqualsToken(value, "calendar"))
{
mode = WinoApplicationMode.Calendar;
return true;
}
if (Contains(value, "wino-mail") ||
Contains(value, "--mode=mail") ||
Contains(value, "mode=mail") ||
Contains(value, "mailapp") ||
EqualsToken(value, "mail"))
{
mode = WinoApplicationMode.Mail;
return true;
}
return false;
}
private static bool Contains(string source, string token)
=> source.Contains(token, StringComparison.OrdinalIgnoreCase);
private static bool EqualsToken(string source, string token)
=> string.Equals(source.Trim(), token, StringComparison.OrdinalIgnoreCase);
}