public void InitTray()
 {
     _tray             = Application.Current.FindResource("TrayIcon") as TaskbarIcon;
     _trayViewModel    = new TaskbarIconViewModel(this, Settings, DialogService.Instance);
     _tray.DataContext = _trayViewModel;
     TaskbarIcon.SetParentTaskbarIcon(Application.Current.MainWindow, _tray);
 }
Ejemplo n.º 2
0
 public JarvisTaskbarIcon(JarvisApplication application, TaskbarIconViewModel viewModel)
 {
     _icon = (TaskbarIcon)application.FindResource("SystemTrayIcon");
     if (_icon != null)
     {
         _icon.DataContext = viewModel;
     }
 }
        public TaskbarIconManager(TaskbarIcon taskbarIcon, TaskbarIconViewModel viewModel)
        {
            this.viewModel                  = viewModel;
            taskbarIcon.DataContext         = viewModel;
            taskbarIcon.ContextMenu.Opened += ContextMenu_Opened;


            InitializeAnimator();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Start all functions.
        /// </summary>
        public void StartAllFunctions()
        {
            Logger.Write("Starting functions...");
            Logger.Write("Creating MainService...");
            _mainService = new MainService(_hwndSource);

            Logger.Write("Creating OSD window...");
            if (SettingManager.OsdStyle == 1)
            {
                _osdWindow = new DefaultOsdWindow();
            }
            else if (SettingManager.OsdStyle == 2)
            {
                _osdWindow = new CirculaOsdWindow();
            }

            if (_taskbarIcon == null && SettingManager.TrayIconId > 0)
            {
                Logger.Write("Creating TrayIcon...");
                var icon    = System.Drawing.Icon.ExtractAssociatedIcon(_currentExeFilePath);
                var iconUri = @"pack://application:,,,/"
                              + Assembly.GetExecutingAssembly().GetName().Name
                              + ";component/"
                              + $"Resources/TrayIcon{SettingManager.TrayIconId}.png";
                try
                {
                    var iconImageUri = new Uri(iconUri, UriKind.Absolute);
                    var image        = new BitmapImage(iconImageUri);
                    var iconBitmap   = ImageToBitmap(image);
                    icon = System.Drawing.Icon.FromHandle(iconBitmap.GetHicon());
                    iconBitmap.Dispose();
                }
                catch (Exception ex)
                {
                    Logger.Write($"GetIcon from {iconUri} failed, error:{ex}");
                }

                var settingCommand       = new TaskbarIconMenuCommand(ShowSettingWindow);
                var exitCommand          = new TaskbarIconMenuCommand(Close);
                var taskbarIconViewModel = new TaskbarIconViewModel(settingCommand, exitCommand);
                _taskbarIcon = new TaskbarIcon
                {
                    DataContext = taskbarIconViewModel,
                    ContextMenu = Application.Current.TryFindResource("SysTrayMenu") as ContextMenu,
                    TrayToolTip = Application.Current.TryFindResource("SysTrayToolTip") as Border,
                    Icon        = icon
                };
                _taskbarIcon.TrayMouseDoubleClick += OnTrayIconDoubleClick;
                var backlightService = ServiceManager.GetService <IBacklightService>();
                backlightService.BrightnessChanged += OnBrightnessChanged;
                OnBrightnessChanged(backlightService, EventArgs.Empty);
            }

            Logger.Write("All functions started.");
        }
Ejemplo n.º 5
0
        public void InitTray()
        {
            var ui = new UIServicesDefaults();

            _tray = Application.Current.FindResource("TrayIcon") as TaskbarIcon;
            var vm = new TaskbarIconViewModel(this, ui);

            _tray.DataContext = vm;

            TaskbarIcon.SetParentTaskbarIcon(Application.Current.MainWindow, _tray);
        }