示例#1
0
        public TrayApplication()
        {
            // Initialize managers
            _resourceManager = new ResourceManager(GetType().Namespace);

            // Initialize UI
            _icon      = new NotifyIcon();
            _menuLeft  = new ContextMenuStrip();
            _menuRight = new ContextMenuStrip();

            // Load configuration
            _config = File.Exists(_path)
                ? JsonConvert.DeserializeObject<ConfigTray>(File.ReadAllText(_path))
                : new ConfigTray();

            // Build UI and global actions
            Build();

            UpdateState();

            // Config tray icon
            _icon.Text    = _state.label;
            _icon.Icon    = _state.icon;
            _icon.Visible = true;

            _icon.MouseClick += OnClick;
            _onUpdate += (sender, e) => { _icon.Text = _state.label; _icon.Icon = _state.icon; };

            //TODO run startup action

            // Init check state of services timer
            _timer = new Timer
            {
                Interval = 200,
                Enabled  = true
            };

            _timer.Tick += (sender, e) => UpdateState();
        }
示例#2
0
 public void LoadConfig()
 {
     _config = File.Exists(CONFIG)
         ? JsonConvert.DeserializeObject <ConfigTray>(File.ReadAllText(CONFIG))
         : new ConfigTray();
 }