예제 #1
0
        public TrayContext(
            ILowLevelProcessor processor,
            IShortcutManager shortcutManager,
            IExceptionShield shield,
            IConverter <OpenedWindow, ToolStripMenuItem> converter)
        {
            _processor = processor;
            _shield    = shield;

            _shield.SetLogger(_logger);

            _windowsCache = new SortedSet <OpenedWindow>(_processor.GetOpenedWindows(), new OpenedWindowComparer());
            _trayManager  = new TrayMenuManager(converter, ItemClickCallback, ExitCallback);

            _trayIcon = new NotifyIcon
            {
                Icon             = Resources.MainIcon.ToIcon(),
                ContextMenuStrip = _trayManager.Init(_windowsCache),
                Visible          = true,
                Text             = Resources.WintoxToolTip
            };

            _trayIcon.Click += TrayClickCallback;
            shortcutManager.Register(FiredShortcutCallback);
        }