コード例 #1
0
        public static void ShowForm(ICoreServCtrl coreServ)
        {
            FormModifyServerSettings form = null;

            if (_instant == null || _instant.IsDisposed)
            {
                VgcApis.Misc.UI.Invoke(() =>
                {
                    form = new FormModifyServerSettings();
                });
            }

            lock (formInstanLocker)
            {
                if (_instant == null || _instant.IsDisposed)
                {
                    _instant = form;
                    form     = null;
                }
            }

            VgcApis.Misc.UI.Invoke(() =>
            {
                form?.Close();
                var inst = _instant;
                if (inst != null)
                {
                    inst.InitControls(coreServ);
                    inst.Show();
                    inst.Activate();
                }
            });
        }
コード例 #2
0
ファイル: Notifier.cs プロジェクト: RyanFu/V2RayGCon
        private ToolStripMenuItem CoreServ2MenuItem(ICoreServCtrl coreServ)
        {
            var coreState = coreServ.GetCoreStates();
            var name      = coreState.GetLongName();
            var idx       = ((int)coreState.GetIndex()).ToString();

            var title = $"{idx}.{name}";
            var dely  = coreState.GetSpeedTestResult();

            if (dely == SpeedtestTimeout)
            {
                title = $"{title} - ({I18N.Timeout})";
            }
            else if (dely > 0)
            {
                title = $"{title} - ({dely}ms)";
            }

            Action done    = () => coreServ.GetCoreCtrl().RestartCoreThen();
            Action onClick = () => servers.StopAllServersThen(done);
            var    item    = new ToolStripMenuItem(title, null, (s, a) => onClick());

            item.Checked = coreServ.GetCoreCtrl().IsCoreRunning();
            return(item);
        }
コード例 #3
0
ファイル: Notifier.cs プロジェクト: vrnobody/V2RayGCon
 public void ShowFormServerSettings(ICoreServCtrl coreServ)
 {
     if (coreServ == null)
     {
         VgcApis.Misc.UI.MsgBox(I18N.NullParamError);
         return;
     }
     Views.WinForms.FormModifyServerSettings.ShowForm(coreServ);
 }
コード例 #4
0
 public static void ShowForm(ICoreServCtrl coreServ)
 {
     lock (formInstanLocker)
     {
         if (_instant == null || _instant.IsDisposed)
         {
             _instant = new FormModifyServerSettings();
         }
         _instant.InitControls(coreServ);
         _instant.Show();
         _instant.Activate();
     }
 }
コード例 #5
0
        void InitControls(ICoreServCtrl coreServ)
        {
            this.coreServ       = coreServ;
            orgCoreServSettings = new VgcApis.Models.Datas.CoreServSettings(coreServ);
            var marks = servers.GetMarkList();

            lbServerTitle.Text = coreServ.GetCoreStates().GetTitle();
            cboxMark.Items.Clear();
            cboxMark.Items.AddRange(marks);
            Misc.UI.ResetComboBoxDropdownMenuWidth(cboxMark);
            UpdateControls(orgCoreServSettings);
            AutoSelectShareLinkType();
            UpdateShareLink();
        }
コード例 #6
0
        void InitControls(ICoreServCtrl coreServ)
        {
            this.coreServ       = coreServ;
            orgCoreServSettings = new VgcApis.Models.Datas.CoreServSettings(coreServ);
            var marks = servers.GetMarkList();

            VgcApis.Misc.UI.Invoke(() =>
            {
                tboxTitle.Text = coreServ.GetCoreStates().GetTitle();
                cboxMark.Items.Clear();
                foreach (var mark in marks)
                {
                    cboxMark.Items.Add(mark);
                }
                Misc.UI.ResetComboBoxDropdownMenuWidth(cboxMark);
                UpdateControls(orgCoreServSettings);
            });
        }
コード例 #7
0
ファイル: Notifier.cs プロジェクト: vrnobody/V2RayGCon
        public void ShowFormSimpleEditor(ICoreServCtrl coreServ)
        {
            var f = Views.WinForms.FormSimpleEditor.GetForm();

            f.LoadCoreServer(coreServ);
        }
コード例 #8
0
 public void ShowFormSimpleEditor(ICoreServCtrl coreServ) => vgcNotifier.ShowFormSimpleEditor(coreServ);
コード例 #9
0
 public void ShowFormServerSettings(ICoreServCtrl coreServ) => vgcNotifier.ShowFormServerSettings(coreServ);