private MenuControlController()
        {
            Configuration.Load();
            CreateMenu();

            mNotifyIcon             = new NotifyIcon();
            mNotifyIcon.Icon        = Resources.icon;
            mNotifyIcon.Visible     = true;
            mNotifyIcon.ContextMenu = mContextMenu;

            MainProcessController.KillAllKcptunProcess();

            mProcessCtler = MainProcessController.GetInstance();
            mProcessCtler.ProcessLogReceivedHandler += new EventHandler(_ProcessLogReceived);

            if (!mProcessCtler.CheckKcptunExists())
            {
                Configuration.EnabledServerList.Clear();
                Configuration.UpdateEnabledServerList();

                ClientSelectForm dlg = new ClientSelectForm();
                dlg.ShowDialog();
            }

            foreach (Server server in Configuration.Servers)
            {
                if (Configuration.EnabledServerList.Contains(server.Name))
                {
                    mProcessCtler.Start(server);
                }
            }
            LoadServersMenuItem();
        }
 public static MainProcessController GetInstance()
 {
     if (_Instance == null)
     {
         _Instance = new MainProcessController();
     }
     return(_Instance);
 }
        private MenuControlController()
        {
            Configuration.Load();
            CreateMenu();

            _notifyIcon = new NotifyIcon
            {
                Icon        = Resources.icon,
                Visible     = true,
                ContextMenu = _contextMenu
            };
            _notifyIcon.BalloonTipClicked += (sender, e) =>
            {
                UpdateController updateCtllr = UpdateController.GetInstance();
                if (updateCtllr.LatestRelease != null)
                {
                    updateCtllr.StartUpdating(updateCtllr.LatestRelease);
                }
            };

            MainProcessController.KillAllKcptunProcess();

            _processCtler = MainProcessController.GetInstance();
            _processCtler.ProcessLogReceivedHandler += mProcessCtler_ProcessLogReceived;

            if (!_processCtler.CheckKcptunExists())
            {
                Configuration.EnabledServerList.Clear();
                Configuration.UpdateEnabledServerList();

                ClientSelectForm dlg = new ClientSelectForm();
                dlg.ShowDialog();
            }

            foreach (Server server in Configuration.Servers)
            {
                if (Configuration.EnabledServerList.Contains(server.Name))
                {
                    _processCtler.Start(server);
                }
            }
            LoadServersMenuItem();
        }
Exemplo n.º 4
0
 public static MainProcessController GetInstance()
 {
     return(_instance ?? (_instance = new MainProcessController()));
 }