mirror of
https://github.com/2dust/v2rayN.git
synced 2025-04-20 06:02:23 +00:00
commit
fd4af7c90c
18 changed files with 245 additions and 195 deletions
|
@ -18,37 +18,31 @@ namespace v2rayN.Base
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
int count = this.Columns.Count;
|
this.SuspendLayout();
|
||||||
int MaxWidth = 0;
|
|
||||||
Graphics graphics = this.CreateGraphics();
|
Graphics graphics = this.CreateGraphics();
|
||||||
Font font = this.Font;
|
|
||||||
ListViewItemCollection items = this.Items;
|
|
||||||
|
|
||||||
string str;
|
|
||||||
int width;
|
|
||||||
|
|
||||||
|
// 原生 ColumnHeaderAutoResizeStyle.ColumnContent 将忽略列头宽度
|
||||||
this.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
|
this.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
|
||||||
|
|
||||||
for (int i = 0; i < count; i++)
|
for (int i = 0; i < this.Columns.Count; i++)
|
||||||
{
|
{
|
||||||
str = this.Columns[i].Text;
|
ColumnHeader c = this.Columns[i];
|
||||||
MaxWidth = this.Columns[i].Width;
|
int cWidth = c.Width;
|
||||||
|
string MaxStr = "";
|
||||||
|
Font font = this.Items[0].SubItems[0].Font;
|
||||||
|
|
||||||
foreach (ListViewItem item in items)
|
foreach (ListViewItem item in this.Items)
|
||||||
{
|
{
|
||||||
str = item.SubItems[i].Text;
|
// 整行视作相同字形,不单独计算每个单元格
|
||||||
width = (int)graphics.MeasureString(str, font).Width;
|
font = item.SubItems[i].Font;
|
||||||
if (width > MaxWidth)
|
string str = item.SubItems[i].Text;
|
||||||
{
|
if (str.Length > MaxStr.Length) // 未考虑非等宽问题
|
||||||
MaxWidth = width;
|
MaxStr = str;
|
||||||
}
|
}
|
||||||
|
int strWidth = (int)graphics.MeasureString(MaxStr, font).Width;
|
||||||
|
c.Width = System.Math.Max(cWidth, strWidth);
|
||||||
}
|
}
|
||||||
if (i == 0)
|
this.ResumeLayout();
|
||||||
{
|
|
||||||
this.Columns[i].Width = MaxWidth;
|
|
||||||
}
|
|
||||||
this.Columns[i].Width = MaxWidth;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch { }
|
catch { }
|
||||||
}
|
}
|
||||||
|
|
26
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
26
v2rayN/v2rayN/Forms/MainForm.Designer.cs
generated
|
@ -61,8 +61,8 @@
|
||||||
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ServerConfig = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2ShareUrl = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuExport2SubContent = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
|
||||||
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tsbServer = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
|
this.qrCodeControl = new v2rayN.Forms.QRCodeControl();
|
||||||
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
this.notifyMain = new System.Windows.Forms.NotifyIcon(this.components);
|
||||||
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.cmsMain = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
|
this.menuSysAgentMode = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
@ -102,6 +102,7 @@
|
||||||
this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
|
this.tsbSub = new System.Windows.Forms.ToolStripDropDownButton();
|
||||||
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbSubSetting = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
|
this.tsbSubUpdate = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.tsbQRCodeSwitch = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator8 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton();
|
this.tsbOptionSetting = new System.Windows.Forms.ToolStripButton();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
@ -148,6 +149,7 @@
|
||||||
// splitContainer1.Panel2
|
// splitContainer1.Panel2
|
||||||
//
|
//
|
||||||
this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl);
|
this.splitContainer1.Panel2.Controls.Add(this.qrCodeControl);
|
||||||
|
this.splitContainer1.TabStop = false;
|
||||||
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
this.splitContainer1.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.splitContainer1_SplitterMoved);
|
||||||
//
|
//
|
||||||
// lvServers
|
// lvServers
|
||||||
|
@ -369,11 +371,6 @@
|
||||||
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
resources.ApplyResources(this.menuExport2SubContent, "menuExport2SubContent");
|
||||||
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
this.menuExport2SubContent.Click += new System.EventHandler(this.menuExport2SubContent_Click);
|
||||||
//
|
//
|
||||||
// qrCodeControl
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
|
||||||
this.qrCodeControl.Name = "qrCodeControl";
|
|
||||||
//
|
|
||||||
// tsbServer
|
// tsbServer
|
||||||
//
|
//
|
||||||
this.tsbServer.DropDown = this.cmsLv;
|
this.tsbServer.DropDown = this.cmsLv;
|
||||||
|
@ -381,6 +378,11 @@
|
||||||
resources.ApplyResources(this.tsbServer, "tsbServer");
|
resources.ApplyResources(this.tsbServer, "tsbServer");
|
||||||
this.tsbServer.Name = "tsbServer";
|
this.tsbServer.Name = "tsbServer";
|
||||||
//
|
//
|
||||||
|
// qrCodeControl
|
||||||
|
//
|
||||||
|
resources.ApplyResources(this.qrCodeControl, "qrCodeControl");
|
||||||
|
this.qrCodeControl.Name = "qrCodeControl";
|
||||||
|
//
|
||||||
// notifyMain
|
// notifyMain
|
||||||
//
|
//
|
||||||
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
this.notifyMain.ContextMenuStrip = this.cmsMain;
|
||||||
|
@ -619,6 +621,7 @@
|
||||||
this.tsbServer,
|
this.tsbServer,
|
||||||
this.toolStripSeparator4,
|
this.toolStripSeparator4,
|
||||||
this.tsbSub,
|
this.tsbSub,
|
||||||
|
this.tsbQRCodeSwitch,
|
||||||
this.toolStripSeparator8,
|
this.toolStripSeparator8,
|
||||||
this.tsbOptionSetting,
|
this.tsbOptionSetting,
|
||||||
this.toolStripSeparator5,
|
this.toolStripSeparator5,
|
||||||
|
@ -632,6 +635,7 @@
|
||||||
this.tsbClose});
|
this.tsbClose});
|
||||||
resources.ApplyResources(this.tsMain, "tsMain");
|
resources.ApplyResources(this.tsMain, "tsMain");
|
||||||
this.tsMain.Name = "tsMain";
|
this.tsMain.Name = "tsMain";
|
||||||
|
this.tsMain.TabStop = true;
|
||||||
//
|
//
|
||||||
// toolStripSeparator4
|
// toolStripSeparator4
|
||||||
//
|
//
|
||||||
|
@ -659,6 +663,15 @@
|
||||||
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
resources.ApplyResources(this.tsbSubUpdate, "tsbSubUpdate");
|
||||||
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
this.tsbSubUpdate.Click += new System.EventHandler(this.tsbSubUpdate_Click);
|
||||||
//
|
//
|
||||||
|
// tsbQRCodeSwitch
|
||||||
|
//
|
||||||
|
this.tsbQRCodeSwitch.CheckOnClick = true;
|
||||||
|
this.tsbQRCodeSwitch.ForeColor = System.Drawing.Color.Black;
|
||||||
|
this.tsbQRCodeSwitch.Image = global::v2rayN.Properties.Resources.qr_code;
|
||||||
|
resources.ApplyResources(this.tsbQRCodeSwitch, "tsbQRCodeSwitch");
|
||||||
|
this.tsbQRCodeSwitch.Name = "tsbQRCodeSwitch";
|
||||||
|
this.tsbQRCodeSwitch.CheckedChanged += new System.EventHandler(this.tsbQRCodeSwitch_CheckedChanged);
|
||||||
|
//
|
||||||
// toolStripSeparator8
|
// toolStripSeparator8
|
||||||
//
|
//
|
||||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||||
|
@ -922,6 +935,7 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
|
private System.Windows.Forms.ToolStripMenuItem menuKeepPACNothing;
|
||||||
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
|
private System.Windows.Forms.ToolStripMenuItem tsbTestMe;
|
||||||
private System.Windows.Forms.ToolStripButton tsbReload;
|
private System.Windows.Forms.ToolStripButton tsbReload;
|
||||||
|
private System.Windows.Forms.ToolStripButton tsbQRCodeSwitch;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,10 +46,20 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
private void MainForm_Load(object sender, EventArgs e)
|
private void MainForm_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
splitContainer1.Panel2Collapsed = true;
|
||||||
|
|
||||||
ConfigHandler.LoadConfig(ref config);
|
ConfigHandler.LoadConfig(ref config);
|
||||||
v2rayHandler = new V2rayHandler();
|
v2rayHandler = new V2rayHandler();
|
||||||
v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent;
|
v2rayHandler.ProcessEvent += v2rayHandler_ProcessEvent;
|
||||||
|
|
||||||
|
if(!config.formMainSize.IsEmpty) {
|
||||||
|
this.Left = config.formMainSize.X;
|
||||||
|
this.Top = config.formMainSize.Y;
|
||||||
|
this.Width = config.formMainSize.Width;
|
||||||
|
this.Height = config.formMainSize.Height;
|
||||||
|
}
|
||||||
|
this.WindowState = config.windowState;
|
||||||
|
|
||||||
if (config.enableStatistics)
|
if (config.enableStatistics)
|
||||||
{
|
{
|
||||||
statistics = new StatisticsHandler(config, UpdateStatisticsHandler);
|
statistics = new StatisticsHandler(config, UpdateStatisticsHandler);
|
||||||
|
@ -73,7 +83,6 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
InitServersView();
|
InitServersView();
|
||||||
RefreshServers();
|
RefreshServers();
|
||||||
lvServers.AutoResizeColumns();
|
|
||||||
|
|
||||||
LoadV2ray();
|
LoadV2ray();
|
||||||
|
|
||||||
|
@ -85,6 +94,10 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
if (e.CloseReason == CloseReason.UserClosing)
|
if (e.CloseReason == CloseReason.UserClosing)
|
||||||
{
|
{
|
||||||
|
if (this.WindowState != FormWindowState.Maximized)
|
||||||
|
config.formMainSize = new Rectangle(this.Left, this.Top, this.Width, this.Height);
|
||||||
|
config.windowState = this.WindowState;
|
||||||
|
|
||||||
e.Cancel = true;
|
e.Cancel = true;
|
||||||
HideForm();
|
HideForm();
|
||||||
return;
|
return;
|
||||||
|
@ -136,6 +149,7 @@ namespace v2rayN.Forms
|
||||||
private void RefreshServers()
|
private void RefreshServers()
|
||||||
{
|
{
|
||||||
RefreshServersView();
|
RefreshServersView();
|
||||||
|
lvServers.AutoResizeColumns();
|
||||||
RefreshServersMenu();
|
RefreshServersMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,6 +158,7 @@ namespace v2rayN.Forms
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitServersView()
|
private void InitServersView()
|
||||||
{
|
{
|
||||||
|
lvServers.BeginUpdate();
|
||||||
lvServers.Items.Clear();
|
lvServers.Items.Clear();
|
||||||
|
|
||||||
lvServers.GridLines = true;
|
lvServers.GridLines = true;
|
||||||
|
@ -170,6 +185,7 @@ namespace v2rayN.Forms
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvTotalDownloadDataAmount"), 70, HorizontalAlignment.Left);
|
lvServers.Columns.Add(UIRes.I18N("LvTotalDownloadDataAmount"), 70, HorizontalAlignment.Left);
|
||||||
lvServers.Columns.Add(UIRes.I18N("LvTotalUploadDataAmount"), 70, HorizontalAlignment.Left);
|
lvServers.Columns.Add(UIRes.I18N("LvTotalUploadDataAmount"), 70, HorizontalAlignment.Left);
|
||||||
}
|
}
|
||||||
|
lvServers.EndUpdate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -177,6 +193,7 @@ namespace v2rayN.Forms
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void RefreshServersView()
|
private void RefreshServersView()
|
||||||
{
|
{
|
||||||
|
lvServers.BeginUpdate();
|
||||||
lvServers.Items.Clear();
|
lvServers.Items.Clear();
|
||||||
|
|
||||||
for (int k = 0; k < config.vmess.Count; k++)
|
for (int k = 0; k < config.vmess.Count; k++)
|
||||||
|
@ -241,6 +258,8 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
if (lvItem != null) lvServers.Items.Add(lvItem);
|
if (lvItem != null) lvServers.Items.Add(lvItem);
|
||||||
}
|
}
|
||||||
|
lvServers.EnsureVisible(config.index);
|
||||||
|
lvServers.EndUpdate();
|
||||||
|
|
||||||
//if (lvServers.Items.Count > 0)
|
//if (lvServers.Items.Count > 0)
|
||||||
//{
|
//{
|
||||||
|
@ -970,7 +989,6 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
private void menuExit_Click(object sender, EventArgs e)
|
private void menuExit_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
this.Visible = false;
|
this.Visible = false;
|
||||||
this.Close();
|
this.Close();
|
||||||
|
|
||||||
|
@ -980,12 +998,13 @@ namespace v2rayN.Forms
|
||||||
|
|
||||||
private void ShowForm()
|
private void ShowForm()
|
||||||
{
|
{
|
||||||
|
this.ShowInTaskbar = true;
|
||||||
|
//this.WindowState = config.windowState;
|
||||||
this.Show();
|
this.Show();
|
||||||
this.WindowState = FormWindowState.Normal;
|
|
||||||
this.Activate();
|
this.Activate();
|
||||||
//this.notifyIcon1.Visible = false;
|
//this.notifyIcon1.Visible = false;
|
||||||
this.ShowInTaskbar = true;
|
|
||||||
this.txtMsgBox.ScrollToCaret();
|
this.txtMsgBox.ScrollToCaret();
|
||||||
|
lvServers.EnsureVisible(config.index); // workaround
|
||||||
|
|
||||||
SetVisibleCore(true);
|
SetVisibleCore(true);
|
||||||
}
|
}
|
||||||
|
@ -1024,11 +1043,7 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
lvServers.Invoke((MethodInvoker)delegate
|
lvServers.Invoke((MethodInvoker)delegate
|
||||||
{
|
{
|
||||||
lvServers.SuspendLayout();
|
|
||||||
|
|
||||||
SetTestResult(index, msg);
|
SetTestResult(index, msg);
|
||||||
|
|
||||||
lvServers.ResumeLayout();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1048,14 +1063,14 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
lvServers.Invoke((MethodInvoker)delegate
|
lvServers.Invoke((MethodInvoker)delegate
|
||||||
{
|
{
|
||||||
lvServers.SuspendLayout();
|
lvServers.BeginUpdate();
|
||||||
|
|
||||||
lvServers.Items[i].SubItems["todayDown"].Text = Utils.HumanFy(statistics[index].todayDown);
|
lvServers.Items[i].SubItems["todayDown"].Text = Utils.HumanFy(statistics[index].todayDown);
|
||||||
lvServers.Items[i].SubItems["todayUp"].Text = Utils.HumanFy(statistics[index].todayUp);
|
lvServers.Items[i].SubItems["todayUp"].Text = Utils.HumanFy(statistics[index].todayUp);
|
||||||
lvServers.Items[i].SubItems["totalDown"].Text = Utils.HumanFy(statistics[index].totalDown);
|
lvServers.Items[i].SubItems["totalDown"].Text = Utils.HumanFy(statistics[index].totalDown);
|
||||||
lvServers.Items[i].SubItems["totalUp"].Text = Utils.HumanFy(statistics[index].totalUp);
|
lvServers.Items[i].SubItems["totalUp"].Text = Utils.HumanFy(statistics[index].totalUp);
|
||||||
|
|
||||||
lvServers.ResumeLayout();
|
lvServers.EndUpdate();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1209,7 +1224,7 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
if (args.Success)
|
if (args.Success)
|
||||||
{
|
{
|
||||||
AppendText(false, UIRes.I18N("MsgParsingV2rayCoreSuccessfully"));
|
AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayN"));
|
||||||
|
|
||||||
string url = args.Msg;
|
string url = args.Msg;
|
||||||
this.Invoke((MethodInvoker)(delegate
|
this.Invoke((MethodInvoker)(delegate
|
||||||
|
@ -1267,7 +1282,7 @@ namespace v2rayN.Forms
|
||||||
{
|
{
|
||||||
if (args.Success)
|
if (args.Success)
|
||||||
{
|
{
|
||||||
AppendText(false, UIRes.I18N("MsgParsingV2rayCoreSuccessfully"));
|
AppendText(false, string.Format(UIRes.I18N("MsgParsingSuccessfully"), "v2rayCore"));
|
||||||
|
|
||||||
string url = args.Msg;
|
string url = args.Msg;
|
||||||
this.Invoke((MethodInvoker)(delegate
|
this.Invoke((MethodInvoker)(delegate
|
||||||
|
@ -1532,5 +1547,11 @@ namespace v2rayN.Forms
|
||||||
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
|
SpeedtestHandler statistics = new SpeedtestHandler(ref config, ref v2rayHandler, lvSelecteds, "", UpdateSpeedtestHandler);
|
||||||
return statistics.RunAvailabilityCheck();
|
return statistics.RunAvailabilityCheck();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void tsbQRCodeSwitch_CheckedChanged(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
bool bShow = tsbQRCodeSwitch.Checked;
|
||||||
|
splitContainer1.Panel2Collapsed = !bShow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -297,7 +297,7 @@
|
||||||
<value>ImageAboveText</value>
|
<value>ImageAboveText</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="cmsLv.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>356, 578</value>
|
<value>356, 556</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>cmsLv.Name" xml:space="preserve">
|
<data name=">>cmsLv.Name" xml:space="preserve">
|
||||||
<value>cmsLv</value>
|
<value>cmsLv</value>
|
||||||
|
@ -333,7 +333,7 @@
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="lvServers.TabIndex" type="System.Int32, mscorlib">
|
<data name="lvServers.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>lvServers.Name" xml:space="preserve">
|
<data name=">>lvServers.Name" xml:space="preserve">
|
||||||
<value>lvServers</value>
|
<value>lvServers</value>
|
||||||
|
@ -369,7 +369,7 @@
|
||||||
<value>256, 331</value>
|
<value>256, 331</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib">
|
<data name="qrCodeControl.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>qrCodeControl.Name" xml:space="preserve">
|
<data name=">>qrCodeControl.Name" xml:space="preserve">
|
||||||
<value>qrCodeControl</value>
|
<value>qrCodeControl</value>
|
||||||
|
@ -405,7 +405,7 @@
|
||||||
<value>686</value>
|
<value>686</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
|
<data name="splitContainer1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Name" xml:space="preserve">
|
<data name=">>splitContainer1.Name" xml:space="preserve">
|
||||||
<value>splitContainer1</value>
|
<value>splitContainer1</value>
|
||||||
|
@ -543,7 +543,7 @@
|
||||||
<value>952, 351</value>
|
<value>952, 351</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
<data name="groupBox1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox1.Text" xml:space="preserve">
|
<data name="groupBox1.Text" xml:space="preserve">
|
||||||
<value>Servers list</value>
|
<value>Servers list</value>
|
||||||
|
@ -579,7 +579,7 @@
|
||||||
<value>946, 134</value>
|
<value>946, 134</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib">
|
<data name="txtMsgBox.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>txtMsgBox.Name" xml:space="preserve">
|
<data name=">>txtMsgBox.Name" xml:space="preserve">
|
||||||
<value>txtMsgBox</value>
|
<value>txtMsgBox</value>
|
||||||
|
@ -678,7 +678,7 @@
|
||||||
<value>946, 22</value>
|
<value>946, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ssMain.TabIndex" type="System.Int32, mscorlib">
|
<data name="ssMain.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>7</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="ssMain.Text" xml:space="preserve">
|
<data name="ssMain.Text" xml:space="preserve">
|
||||||
<value>statusStrip1</value>
|
<value>statusStrip1</value>
|
||||||
|
@ -705,7 +705,7 @@
|
||||||
<value>952, 176</value>
|
<value>952, 176</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>4</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="groupBox2.Text" xml:space="preserve">
|
<data name="groupBox2.Text" xml:space="preserve">
|
||||||
<value>Informations</value>
|
<value>Informations</value>
|
||||||
|
@ -732,7 +732,7 @@
|
||||||
<value>952, 10</value>
|
<value>952, 10</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="panel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>5</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>panel1.Name" xml:space="preserve">
|
<data name=">>panel1.Name" xml:space="preserve">
|
||||||
<value>panel1</value>
|
<value>panel1</value>
|
||||||
|
@ -753,13 +753,13 @@
|
||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubSetting.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>125, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubSetting.Text" xml:space="preserve">
|
<data name="tsbSubSetting.Text" xml:space="preserve">
|
||||||
<value>Settings</value>
|
<value>Settings</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbSubUpdate.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>180, 22</value>
|
<value>125, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
<data name="tsbSubUpdate.Text" xml:space="preserve">
|
||||||
<value>Updates</value>
|
<value>Updates</value>
|
||||||
|
@ -776,6 +776,21 @@
|
||||||
<data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
<data name="tsbSub.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
<value>ImageAboveText</value>
|
<value>ImageAboveText</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||||
|
<value>Magenta</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>65, 53</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.Text" xml:space="preserve">
|
||||||
|
<value>QR Code</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||||
|
<value>BottomCenter</value>
|
||||||
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.TextImageRelation" type="System.Windows.Forms.TextImageRelation, System.Windows.Forms">
|
||||||
|
<value>ImageAboveText</value>
|
||||||
|
</data>
|
||||||
<data name="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStripSeparator8.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>6, 56</value>
|
<value>6, 56</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -945,7 +960,7 @@
|
||||||
<value>952, 56</value>
|
<value>952, 56</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
|
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>6</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>tsMain.Name" xml:space="preserve">
|
<data name=">>tsMain.Name" xml:space="preserve">
|
||||||
<value>tsMain</value>
|
<value>tsMain</value>
|
||||||
|
@ -1343,6 +1358,12 @@
|
||||||
<data name=">>tsbSubUpdate.Type" xml:space="preserve">
|
<data name=">>tsbSubUpdate.Type" xml:space="preserve">
|
||||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>tsbQRCodeSwitch.Name" xml:space="preserve">
|
||||||
|
<value>tsbQRCodeSwitch</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>tsbQRCodeSwitch.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.ToolStripButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name=">>toolStripSeparator8.Name" xml:space="preserve">
|
<data name=">>toolStripSeparator8.Name" xml:space="preserve">
|
||||||
<value>toolStripSeparator8</value>
|
<value>toolStripSeparator8</value>
|
||||||
</data>
|
</data>
|
||||||
|
|
|
@ -431,13 +431,13 @@
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbService.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbService.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAE3SURBVFhH7ZaBDQIhDEVvBEdwBDfQDXQER3AD3cARdAPd
|
wwAADsMBx2+oZAAAATdJREFUWEftloENAiEMRW8ER3AEN9ANdARHcAPdwBF0A91AN9INtC+5JvUCJwWM
|
||||||
QDfSDbQvuSb1AicFjJrwkxcN0FIolOuamv5VE2E+gLaPayWchEcE+hhTXVPhIoQmDcFYbKpoJtwEdX4X
|
mvCTFw3QUiiU65qa/lUTYT6Ato9rJZyERwT6GFNdU+EihCYNwVhsqmgm3AR1fheOAitd9PCfNvp0HDbY
|
||||||
jgIrXfTwnzb6dBw22BaJVdjJmWQs1/SdBRtE0U5cBXW2oSFRO0HtSEeW2FZ1wsq9sjuRdTDVAXnNuWLY
|
FolV2MmZZCzX9J0FG0TRTlwFdbahIVE7Qe1IR5bYVnXCyr2yO5F1MNUBec25YtjomcCXSxhr9DmrV2Gr
|
||||||
6JnAl0sYa/Q5q1dhq35ci+Bkq2HJvbZpxGeybAAuw4Fq+cnW1wPITgHFYxvBUw+qHEIL1yq1vDKhVlH3
|
flyL4GSrYcm9tmnEZ7JsAC7DgWr5ydbXA8hOAcVjG8FTD6ocQgvXKrW8MqFWUfc1DAXgmRwVFaJQAHsh
|
||||||
NQwF4JkcFRWiUAB7IVW2FFPO3YqlgPd+LJf02e8Fdi3rMdIAcLDuf9UpeT0IS0G/hvhPm305vSl7EQFY
|
VbYUU87diqWA934sl/TZ7wV2Lesx0gBwsO5/1Sl5PQhLQb+G+E+bfTm9KXsRAVgHrMK+jO9gbNEzzMSh
|
||||||
B6zCvozvYGzRM8zEoeg5TPZwDaGvpHQni1yzSxbXPW9q+hF13ROHuJnQcjbhtQAAAABJRU5ErkJggg==
|
6DlM9nANoa+kdCeLXLNLFtc9b2r6EXXdE4e4mdByNuG1AAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbService.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbService.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
@ -499,9 +499,9 @@
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
<data name="tsbClose.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
<value>
|
<value>
|
||||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAySURBVFhH7c6xDQAgCEVBRnVTHU2ZABuMxV3yOvJDAAA/
|
wwAADsMBx2+oZAAAADJJREFUWEftzrENACAIRUFGdVMdTZkAG4zFXfI68kMAAD8ap9lUbpfyaDV19QAA
|
||||||
GqfZVG6X8mg1dfUAAPBQxAZd0SJruVXHWwAAAABJRU5ErkJggg==
|
8FDEBl3RImu5VcdbAAAAAElFTkSuQmCC
|
||||||
</value>
|
</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tsbClose.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
@ -510,4 +510,7 @@
|
||||||
<data name="tsbClose.Text" xml:space="preserve">
|
<data name="tsbClose.Text" xml:space="preserve">
|
||||||
<value> 关闭窗口 </value>
|
<value> 关闭窗口 </value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="tsbQRCodeSwitch.Text" xml:space="preserve">
|
||||||
|
<value> 分享 </value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
10
v2rayN/v2rayN/Forms/QRCodeControl.Designer.cs
generated
10
v2rayN/v2rayN/Forms/QRCodeControl.Designer.cs
generated
|
@ -31,7 +31,6 @@
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QRCodeControl));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(QRCodeControl));
|
||||||
this.txtUrl = new System.Windows.Forms.TextBox();
|
this.txtUrl = new System.Windows.Forms.TextBox();
|
||||||
this.picQRCode = new System.Windows.Forms.PictureBox();
|
this.picQRCode = new System.Windows.Forms.PictureBox();
|
||||||
this.chkShow = new System.Windows.Forms.CheckBox();
|
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picQRCode)).BeginInit();
|
((System.ComponentModel.ISupportInitialize)(this.picQRCode)).BeginInit();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
|
@ -47,20 +46,12 @@
|
||||||
this.picQRCode.Name = "picQRCode";
|
this.picQRCode.Name = "picQRCode";
|
||||||
this.picQRCode.TabStop = false;
|
this.picQRCode.TabStop = false;
|
||||||
//
|
//
|
||||||
// chkShow
|
|
||||||
//
|
|
||||||
resources.ApplyResources(this.chkShow, "chkShow");
|
|
||||||
this.chkShow.Name = "chkShow";
|
|
||||||
this.chkShow.UseVisualStyleBackColor = true;
|
|
||||||
this.chkShow.CheckedChanged += new System.EventHandler(this.chkShow_CheckedChanged);
|
|
||||||
//
|
|
||||||
// QRCodeControl
|
// QRCodeControl
|
||||||
//
|
//
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.picQRCode);
|
this.Controls.Add(this.picQRCode);
|
||||||
this.Controls.Add(this.txtUrl);
|
this.Controls.Add(this.txtUrl);
|
||||||
this.Controls.Add(this.chkShow);
|
|
||||||
this.Name = "QRCodeControl";
|
this.Name = "QRCodeControl";
|
||||||
this.Load += new System.EventHandler(this.QRCodeControl_Load);
|
this.Load += new System.EventHandler(this.QRCodeControl_Load);
|
||||||
((System.ComponentModel.ISupportInitialize)(this.picQRCode)).EndInit();
|
((System.ComponentModel.ISupportInitialize)(this.picQRCode)).EndInit();
|
||||||
|
@ -73,6 +64,5 @@
|
||||||
|
|
||||||
private System.Windows.Forms.TextBox txtUrl;
|
private System.Windows.Forms.TextBox txtUrl;
|
||||||
private System.Windows.Forms.PictureBox picQRCode;
|
private System.Windows.Forms.PictureBox picQRCode;
|
||||||
private System.Windows.Forms.CheckBox chkShow;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,6 @@ namespace v2rayN.Forms
|
||||||
}
|
}
|
||||||
private void QRCodeControl_Load(object sender, System.EventArgs e)
|
private void QRCodeControl_Load(object sender, System.EventArgs e)
|
||||||
{
|
{
|
||||||
chkShow_CheckedChanged(null, null);
|
|
||||||
txtUrl.MouseUp += txtUrl_MouseUp;
|
txtUrl.MouseUp += txtUrl_MouseUp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,12 +35,5 @@ namespace v2rayN.Forms
|
||||||
picQRCode.Image = QRCodeHelper.GetQRCode(url);
|
picQRCode.Image = QRCodeHelper.GetQRCode(url);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chkShow_CheckedChanged(object sender, System.EventArgs e)
|
|
||||||
{
|
|
||||||
picQRCode.Visible =
|
|
||||||
txtUrl.Visible = chkShow.Checked;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,60 +117,15 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
|
||||||
<value>6, 12</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Localizable" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name=">>$this.Name" xml:space="preserve">
|
|
||||||
<value>QRCodeControl</value>
|
|
||||||
</data>
|
|
||||||
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>356, 441</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.AutoSize" type="System.Boolean, mscorlib">
|
|
||||||
<value>True</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Top</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 0</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>356, 16</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>25</value>
|
|
||||||
</data>
|
|
||||||
<data name="chkShow.Text" xml:space="preserve">
|
|
||||||
<value>Sharing panel</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
|
||||||
<value>Fill</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing">
|
|
||||||
<value>0, 16</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>356, 355</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
|
||||||
<value>Zoom</value>
|
|
||||||
</data>
|
|
||||||
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
|
|
||||||
<value>24</value>
|
|
||||||
</data>
|
|
||||||
<data name="txtUrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="txtUrl.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Bottom</value>
|
<value>Bottom</value>
|
||||||
</data>
|
</data>
|
||||||
|
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 371</value>
|
<value>0, 371</value>
|
||||||
</data>
|
</data>
|
||||||
|
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="txtUrl.Multiline" type="System.Boolean, mscorlib">
|
<data name="txtUrl.Multiline" type="System.Boolean, mscorlib">
|
||||||
<value>True</value>
|
<value>True</value>
|
||||||
</data>
|
</data>
|
||||||
|
@ -180,4 +135,58 @@
|
||||||
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
|
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name=">>txtUrl.Name" xml:space="preserve">
|
||||||
|
<value>txtUrl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUrl.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUrl.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>txtUrl.ZOrder" xml:space="preserve">
|
||||||
|
<value>1</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
|
<value>Fill</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
|
<value>0, 0</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>356, 371</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.SizeMode" type="System.Windows.Forms.PictureBoxSizeMode, System.Windows.Forms">
|
||||||
|
<value>Zoom</value>
|
||||||
|
</data>
|
||||||
|
<data name="picQRCode.TabIndex" type="System.Int32, mscorlib">
|
||||||
|
<value>24</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.Name" xml:space="preserve">
|
||||||
|
<value>picQRCode</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.Parent" xml:space="preserve">
|
||||||
|
<value>$this</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>picQRCode.ZOrder" xml:space="preserve">
|
||||||
|
<value>0</value>
|
||||||
|
</data>
|
||||||
|
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||||
|
<value>True</value>
|
||||||
|
</metadata>
|
||||||
|
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
|
||||||
|
<value>6, 12</value>
|
||||||
|
</data>
|
||||||
|
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
|
<value>356, 441</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Name" xml:space="preserve">
|
||||||
|
<value>QRCodeControl</value>
|
||||||
|
</data>
|
||||||
|
<data name=">>$this.Type" xml:space="preserve">
|
||||||
|
<value>System.Windows.Forms.UserControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -117,7 +117,4 @@
|
||||||
<resheader name="writer">
|
<resheader name="writer">
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<data name="chkShow.Text" xml:space="preserve">
|
|
||||||
<value>显示分享内容</value>
|
|
||||||
</data>
|
|
||||||
</root>
|
</root>
|
|
@ -235,27 +235,12 @@ namespace v2rayN.Handler
|
||||||
{
|
{
|
||||||
if (UpdateCompleted != null)
|
if (UpdateCompleted != null)
|
||||||
{
|
{
|
||||||
if (e.Cancelled)
|
if (e.Error != null) throw e.Error;
|
||||||
{
|
|
||||||
((WebClientEx)sender).Dispose();
|
((WebClientEx)sender).Dispose();
|
||||||
TimeSpan ts = (DateTime.Now - totalDatetime);
|
TimeSpan ts = (DateTime.Now - totalDatetime);
|
||||||
string speed = string.Format("<{0} M/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##"));
|
string speed = string.Format("<{0} MB/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##"));
|
||||||
UpdateCompleted(this, new ResultEventArgs(true, speed));
|
UpdateCompleted(this, new ResultEventArgs(true, speed));
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (e.Error == null
|
|
||||||
|| Utils.IsNullOrEmpty(e.Error.ToString()))
|
|
||||||
{
|
|
||||||
|
|
||||||
TimeSpan ts = (DateTime.Now - totalDatetime);
|
|
||||||
string speed = string.Format("{0} M/s", (totalBytesToReceive / ts.TotalMilliseconds / 1000).ToString("#0.##"));
|
|
||||||
UpdateCompleted(this, new ResultEventArgs(true, speed));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
throw e.Error;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
@ -36,6 +36,17 @@ namespace v2rayN.Mode
|
||||||
get; set;
|
get; set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 主窗口的大小和位置
|
||||||
|
/// </summary>
|
||||||
|
public System.Drawing.Rectangle formMainSize
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
|
public System.Windows.Forms.FormWindowState windowState
|
||||||
|
{
|
||||||
|
get; set;
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 活动配置序号
|
/// 活动配置序号
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
10
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
10
v2rayN/v2rayN/Properties/Resources.Designer.cs
generated
|
@ -177,6 +177,16 @@ namespace v2rayN.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap qr_code {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("qr-code", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
/// 查找 System.Drawing.Bitmap 类型的本地化资源。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -118,52 +118,55 @@
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
|
<data name="privoxy_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\privoxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="about" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\about.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="abp_js" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\abp.js.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name="checkupdate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\checkupdate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="help" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="minimize" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="notify" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\notify.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="option" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="option" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\option.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\option.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="pac_txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\pac.txt.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name="privoxy_conf" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\privoxy_conf.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312</value>
|
|
||||||
</data>
|
|
||||||
<data name="privoxy_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\privoxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name="promotion" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\promotion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="restart" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="restart" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\restart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\restart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="server" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\Resources\server.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="sub" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\sub.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
|
||||||
</data>
|
|
||||||
<data name="sysproxy64_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
|
||||||
<value>..\resources\sysproxy64.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</data>
|
|
||||||
<data name="sysproxy_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="sysproxy_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\resources\sysproxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>..\resources\sysproxy.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="sub" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\sub.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="server" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\server.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="notify" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\notify.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="checkupdate" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\checkupdate.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="promotion" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\promotion.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="sysproxy64_exe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\sysproxy64.exe.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="privoxy_conf" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\privoxy_conf.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;gb2312</value>
|
||||||
|
</data>
|
||||||
|
<data name="minimize" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\minimize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="pac_txt" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\pac.txt.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="help" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\resources\help.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
|
<data name="abp_js" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\abp.js.gz;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</data>
|
||||||
|
<data name="qr-code" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\qr-code.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
BIN
v2rayN/v2rayN/Resources/qr-code.png
Normal file
BIN
v2rayN/v2rayN/Resources/qr-code.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 685 B |
6
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
6
v2rayN/v2rayN/Resx/ResUI.Designer.cs
generated
|
@ -475,11 +475,11 @@ namespace v2rayN.Resx {
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查找类似 Resolve V2ray successfully 的本地化字符串。
|
/// 查找类似 Resolve {0} successfully 的本地化字符串。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal static string MsgParsingV2rayCoreSuccessfully {
|
internal static string MsgParsingSuccessfully {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("MsgParsingV2rayCoreSuccessfully", resourceCulture);
|
return ResourceManager.GetString("MsgParsingSuccessfully", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -255,8 +255,8 @@
|
||||||
<data name="MsgPACUpdateSuccessfully" xml:space="preserve">
|
<data name="MsgPACUpdateSuccessfully" xml:space="preserve">
|
||||||
<value>PAC update succeeded</value>
|
<value>PAC update succeeded</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MsgParsingV2rayCoreSuccessfully" xml:space="preserve">
|
<data name="MsgParsingSuccessfully" xml:space="preserve">
|
||||||
<value>Resolve V2ray successfully</value>
|
<value>Resolve {0} successfully</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MsgSimplifyPAC" xml:space="preserve">
|
<data name="MsgSimplifyPAC" xml:space="preserve">
|
||||||
<value>Simplify PAC Success</value>
|
<value>Simplify PAC Success</value>
|
||||||
|
|
|
@ -255,8 +255,8 @@
|
||||||
<data name="MsgPACUpdateSuccessfully" xml:space="preserve">
|
<data name="MsgPACUpdateSuccessfully" xml:space="preserve">
|
||||||
<value>PAC更新成功</value>
|
<value>PAC更新成功</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MsgParsingV2rayCoreSuccessfully" xml:space="preserve">
|
<data name="MsgParsingSuccessfully" xml:space="preserve">
|
||||||
<value>解析V2ray成功</value>
|
<value>解析{0}成功</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="MsgSimplifyPAC" xml:space="preserve">
|
<data name="MsgSimplifyPAC" xml:space="preserve">
|
||||||
<value>简化PAC成功</value>
|
<value>简化PAC成功</value>
|
||||||
|
|
|
@ -285,14 +285,14 @@ namespace v2rayN
|
||||||
if (GBs > 0)
|
if (GBs > 0)
|
||||||
{
|
{
|
||||||
// multi GB
|
// multi GB
|
||||||
ulong TBs = GBs / factor;
|
/*ulong TBs = GBs / factor;
|
||||||
if (TBs > 0)
|
if (TBs > 0)
|
||||||
{
|
{
|
||||||
// 你是魔鬼吗? 用这么多流量
|
// 你是魔鬼吗? 用这么多流量
|
||||||
result = TBs + GBs % factor / (factor + 0.0);
|
result = TBs + GBs % factor / (factor + 0.0);
|
||||||
unit = "TB";
|
unit = "TB";
|
||||||
return;
|
return;
|
||||||
}
|
}*/
|
||||||
result = GBs + MBs % factor / (factor + 0.0);
|
result = GBs + MBs % factor / (factor + 0.0);
|
||||||
unit = "GB";
|
unit = "GB";
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue