Beispiel #1
0
        void RefreshUiThen(Action done)
        {
            VgcApis.Misc.UI.RunInUiThread(rtboxServerTitle, () =>
            {
                try
                {
                    var cs = coreServCtrl.GetCoreStates();
                    var cc = coreServCtrl.GetCoreCtrl();

                    // must update background first
                    var isSelected = cs.IsSelected();

                    // first line
                    UpdateOnOffLabel(cc.IsCoreRunning());
                    UpdateSelectCheckboxState(isSelected);

                    UpdateTitleTextBox(cs);

                    // second line
                    UpdateInboundModeLabel(cs);
                    UpdateLastModifiedLable(cs.GetLastModifiedUtcTicks());
                    UpdateMarkLabel(cs.GetMark());
                    UpdateSpeedTestLable(cs.GetStatus());
                    UpdateSettingsLable(cs);
                    CompactRoundLables();
                }
                catch { }
                finally
                {
                    done?.Invoke();
                }
            });
        }
Beispiel #2
0
        void RefreshUiWorker(Action done)
        {
            Action worker = () =>
            {
                var cs = coreServCtrl.GetCoreStates();
                var cc = coreServCtrl.GetCoreCtrl();

                // must update background first
                var isSelected = cs.IsSelected();

                // first line
                UpdateOnOffLabel(cc.IsCoreRunning());
                UpdateSelectCheckboxState(isSelected);
                UpdateTitleTextBox(cs);

                // second line
                UpdateInboundModeLabel(cs);
                UpdateLastModifiedLable(cs.GetLastModifiedUtcTicks());
                UpdateMarkLabel(cs.GetMark());
                UpdateRemarkLabel(cs.GetRemark());
                UpdateStatusLable(cs);
                UpdateSettingsLable(cs);
                UpdateNetworkFlowLable(cs);

                CompactRoundLables();
            };

            Action next = () =>
            {
                lazyHighlighter?.Postpone();
                done?.Invoke();
            };

            VgcApis.Misc.UI.InvokeThen(worker, next);
        }
Beispiel #3
0
        private ToolStripMenuItem CoreServ2MenuItem(VgcApis.Interfaces.ICoreServCtrl coreServ)
        {
            var coreState = coreServ.GetCoreStates();

            var dely  = coreState.GetSpeedTestResult();
            var title = coreState.GetTitle();

            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);
        }
Beispiel #4
0
        Models.StatsResult GetterCoreInfo(VgcApis.Interfaces.ICoreServCtrl coreCtrl)
        {
            var result = new Models.StatsResult();

            result.title = coreCtrl.GetCoreStates().GetTitle();
            result.uid   = coreCtrl.GetCoreStates().GetUid();

            var curData = coreCtrl.GetCoreCtrl().TakeStatisticsSample();

            if (curData != null)
            {
                result.stamp     = curData.stamp;
                result.totalUp   = curData.statsUplink;
                result.totalDown = curData.statsDownlink;
            }
            return(result);
        }
Beispiel #5
0
 private void multiboxingToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     coreServCtrl.GetCoreCtrl().RestartCoreThen();
 }