Tray icon implementation.
This commit is contained in:
@@ -8,6 +8,7 @@ using Wino.Core.WinUI;
|
||||
using Wino.Core.WinUI.Interfaces;
|
||||
using Wino.Mail.Services;
|
||||
using Wino.Mail.ViewModels;
|
||||
using Wino.Mail.WinUI.Services;
|
||||
using Wino.Messaging.Server;
|
||||
using Wino.Services;
|
||||
namespace Wino.Mail.WinUI;
|
||||
@@ -33,6 +34,7 @@ public partial class App : WinoApplication, IRecipient<NewMailSynchronizationReq
|
||||
services.AddTransient<ISettingsBuilderService, SettingsBuilderService>();
|
||||
services.AddTransient<IProviderService, ProviderService>();
|
||||
services.AddSingleton<IAuthenticatorConfig, MailAuthenticatorConfiguration>();
|
||||
services.AddSingleton<ISystemTrayService, SystemTrayService>();
|
||||
}
|
||||
|
||||
private void RegisterViewModels(IServiceCollection services)
|
||||
@@ -91,6 +93,14 @@ public partial class App : WinoApplication, IRecipient<NewMailSynchronizationReq
|
||||
|
||||
await InitializeServicesAsync();
|
||||
|
||||
// Initialize system tray
|
||||
var systemTrayService = Services.GetService<ISystemTrayService>();
|
||||
if (systemTrayService != null)
|
||||
{
|
||||
systemTrayService.Initialize();
|
||||
systemTrayService.Show(); // Explicitly show the tray icon
|
||||
}
|
||||
|
||||
if (MainWindow is not IWinoShellWindow shellWindow) throw new ArgumentException("MainWindow must implement IWinoShellWindow");
|
||||
|
||||
shellWindow.HandleAppActivation(args);
|
||||
|
||||
Reference in New Issue
Block a user