void UpdateInboundModeLabel(VgcApis.Interfaces.CoreCtrlComponents.ICoreStates coreState) { var text = @"Config"; var tooltip = I18N.InbModeConfigToolTip; var inbModeIdx = coreState.GetInboundType(); var lower = coreState.GetInboundIp().Equals(VgcApis.Models.Consts.Webs.LoopBackIP); switch (inbModeIdx) { case (int)VgcApis.Models.Datas.Enums.ProxyTypes.HTTP: text = (lower ? @"h" : @"H") + coreState.GetInboundPort(); tooltip = @"inbound -> http://" + coreState.GetInboundAddr(); break; case (int)VgcApis.Models.Datas.Enums.ProxyTypes.SOCKS: text = (lower ? @"s" : @"S") + coreState.GetInboundPort(); tooltip = @"inbound -> socks://" + coreState.GetInboundAddr(); break; case (int)VgcApis.Models.Datas.Enums.ProxyTypes.Custom: text = I18N.Custom; tooltip = I18N.InbModeCustomToolTip; break; } UpdateControlTextAndTooltip(rlbInboundMode, text, tooltip); }
private void UpdateTitleTextBox(VgcApis.Interfaces.CoreCtrlComponents.ICoreStates coreStates) { var cs = coreStates; var summary = VgcApis.Misc.Utils.AutoEllipsis(cs.GetSummary(), VgcApis.Models.Consts.AutoEllipsis.ServerSummaryMaxLength); var tip = $"{I18N.NameColon}{cs.GetLongName()}\n{I18N.SummaryColon}{summary}"; UpdateControlTextAndTooltip(rtboxServerTitle, cs.GetTitle(), tip); }
private void UpdateSettingsLable(VgcApis.Interfaces.CoreCtrlComponents.ICoreStates coreStates) { var text = (coreStates.IsAutoRun() ? "A" : "") + (coreStates.IsInjectSkipCnSite() ? "C" : "") + (coreStates.IsInjectGlobalImport() ? "I" : "") + (coreStates.IsUntrack() ? "U" : ""); UpdateControlTextOndemand(rlbSetting, text); }
void UpdateStatusLable(VgcApis.Interfaces.CoreCtrlComponents.ICoreStates cs) { var r = cs.GetSpeedTestResult(); var isTimeout = r == long.MaxValue; var color = isTimeout ? Color.OrangeRed : Color.DimGray; var status = cs.GetStatus(); var tooltip = Ticks2Tooltip(cs.GetLastSpeedTestUtcTicks()); UpdateControlTextAndTooltip(rlbSpeedtest, status, tooltip); if (rlbSpeedtest.ForeColor != color) { rlbSpeedtest.ForeColor = color; } }
void UpdateNetworkFlowLable(VgcApis.Interfaces.CoreCtrlComponents.ICoreStates coreState) { var text = ""; var tooltip = ""; if (settings.isEnableStatistics) { var up = coreState.GetUplinkTotalInBytes(); var down = coreState.GetDownlinkTotalInBytes(); if (up > 0 || down > 0) { const long mib = 1024 * 1024; var dm = down / mib; text = $"⇵ {dm}M"; tooltip = string.Format(I18N.NetFlowToolTipTpl, up / mib, dm); } } UpdateControlTextAndTooltip(rlbTotalNetFlow, text, tooltip); }