public NotifyIconService([NotNull] IServiceProvider serviceProvider) { if (serviceProvider == null) throw new ArgumentNullException(nameof(serviceProvider)); _serviceManager = new ServiceContainer(serviceProvider); _defaultCommandService = new DefaultCommandService("Janus.Application.ShowMainForm"); _serviceManager.Publish(_defaultCommandService); _uiAsyncOperation = _serviceManager .GetRequiredService<IUIShell>() .CreateUIAsyncOperation(); _uiAsyncOperation.Send( () => { _notifyIcon = new NotifyIcon(); _notifyIcon.DoubleClick += NotifyIconDefaultAction; _notifyIcon.BalloonTipClicked += NotifyIconDefaultAction; Ticker.Instance.DoubleClick += NotifyIconDefaultAction; }); }
public NotifyIconService([NotNull] IServiceProvider serviceProvider) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } _serviceManager = new ServiceManager(serviceProvider); _defaultCommandService = new DefaultCommandService("Janus.Application.ShowMainForm"); _serviceManager.Publish(_defaultCommandService); _uiAsyncOperation = _serviceManager .GetRequiredService <IUIShell>() .CreateUIAsyncOperation(); _uiAsyncOperation.Send( () => { _notifyIcon = new NotifyIcon(); _notifyIcon.DoubleClick += NotifyIconDefaultAction; _notifyIcon.BalloonTipClicked += NotifyIconDefaultAction; Ticker.Instance.DoubleClick += NotifyIconDefaultAction; }); }
public StripMenuGenerator( [NotNull] IServiceProvider serviceProvider, [NotNull] ToolStrip toolStrip, [NotNull] string menuName, bool useSmallImages) { if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } if (menuName == null) { throw new ArgumentNullException("menuName"); } if (toolStrip == null) { throw new ArgumentNullException("toolStrip"); } _serviceProvider = serviceProvider; _toolStrip = toolStrip; _menuName = menuName; _useSmallImages = useSmallImages; if (toolStrip is ContextMenuStrip) { _menuType = TargetMenuType.ContextMenu; } else if (toolStrip is MenuStrip || toolStrip is ToolStripDropDownMenu) { _menuType = TargetMenuType.Menu; } else { _menuType = TargetMenuType.Toolbar; } _styleImageManager = _serviceProvider.GetRequiredService <IStyleImageManager>(); _menuService = _serviceProvider.GetRequiredService <IMenuService>(); _commandHandlerService = _serviceProvider.GetRequiredService <ICommandHandlerService>(); _defaultCommandService = _serviceProvider.GetService <IDefaultCommandService>(); _checkStateService = _serviceProvider.GetService <ICheckStateService>(); _uiAsyncOperation = _serviceProvider.GetRequiredService <IUIShell>().CreateUIAsyncOperation(); Init(); _disposables.Add( _menuService .MenuChanged .Where(changedMenuName => changedMenuName == _menuName) .Subscribe(arg => Init())); _disposables.Add( _commandHandlerService.SubscribeCommandStatusChanged(_serviceProvider, CommandStatusChanged)); if (_checkStateService != null) { _disposables.Add( _checkStateService.SubscribeCheckStateChanged(_serviceProvider, CheckStateChanged)); } if (_defaultCommandService != null) { _disposables.Add( _defaultCommandService.DefaultCommandChanged.Subscribe( arg => _uiAsyncOperation.Post(Init))); } }