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(); } }); }
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); }
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); }
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); }
private void multiboxingToolStripMenuItem1_Click(object sender, EventArgs e) { coreServCtrl.GetCoreCtrl().RestartCoreThen(); }