添加更新单个订阅功能

This commit is contained in:
VegeHime 2019-12-29 14:16:32 +08:00 committed by GitHub
parent a33e586ff4
commit 5077854a30
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 1134 additions and 986 deletions

View file

@ -1369,35 +1369,27 @@ namespace v2rayN.Forms
private void tsbSubSetting_Click(object sender, EventArgs e) private void tsbSubSetting_Click(object sender, EventArgs e)
{ {
SubSettingForm fm = new SubSettingForm(); SubSettingForm fm = new SubSettingForm();
fm.SubUpdate_Event += new SubUpdate_Delegate(SubUpdate_Single);
if (fm.ShowDialog() == DialogResult.OK) if (fm.ShowDialog() == DialogResult.OK)
{ {
RefreshServers(); RefreshServers();
} }
} }
public delegate void SubUpdate_Delegate(SubItem item, int index);
private void tsbSubUpdate_Click(object sender, EventArgs e) private void SubUpdate_Single(SubItem item, int index=-1)
{ {
AppendText(false, UIRes.I18N("MsgUpdateSubscriptionStart")); if (index == -1) index = config.subItem.IndexOf(item)+1;
string id = config.subItem[index - 1].id.TrimEx();
if (config.subItem == null || config.subItem.Count <= 0) string url = config.subItem[index - 1].url.TrimEx();
string hashCode = $"{index}->";
if (config.subItem[index - 1].enabled == false)
{ {
AppendText(false, UIRes.I18N("MsgNoValidSubscription"));
return; return;
} }
for (int k = 1; k <= config.subItem.Count; k++)
{
string id = config.subItem[k - 1].id.TrimEx();
string url = config.subItem[k - 1].url.TrimEx();
string hashCode = $"{k}->";
if (config.subItem[k - 1].enabled == false)
{
continue;
}
if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url)) if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
{ {
AppendText(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}"); AppendText(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}");
continue; return;
} }
DownloadHandle downloadHandle3 = new DownloadHandle(); DownloadHandle downloadHandle3 = new DownloadHandle();
@ -1438,6 +1430,70 @@ namespace v2rayN.Forms
downloadHandle3.WebDownloadString(url); downloadHandle3.WebDownloadString(url);
AppendText(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}"); AppendText(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
} }
private void tsbSubUpdate_Click(object sender, EventArgs e)
{
AppendText(false, UIRes.I18N("MsgUpdateSubscriptionStart"));
if (config.subItem == null || config.subItem.Count <= 0)
{
AppendText(false, UIRes.I18N("MsgNoValidSubscription"));
return;
}
for (int k = 1; k <= config.subItem.Count; k++)
{
SubUpdate_Single(config.subItem[k - 1], k);
//string id = config.subItem[k - 1].id.TrimEx();
//string url = config.subItem[k - 1].url.TrimEx();
//string hashCode = $"{k}->";
//if (config.subItem[k - 1].enabled == false)
//{
// continue;
//}
//if (Utils.IsNullOrEmpty(id) || Utils.IsNullOrEmpty(url))
//{
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgNoValidSubscription")}");
// continue;
//}
//DownloadHandle downloadHandle3 = new DownloadHandle();
//downloadHandle3.UpdateCompleted += (sender2, args) =>
//{
// if (args.Success)
// {
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgGetSubscriptionSuccessfully")}");
// var result = Utils.Base64Decode(args.Msg);
// if (Utils.IsNullOrEmpty(result))
// {
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgSubscriptionDecodingFailed")}");
// return;
// }
// ConfigHandler.RemoveServerViaSubid(ref config, id);
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgClearSubscription")}");
// RefreshServers();
// if (AddBatchServers(result, id) == 0)
// {
// }
// else
// {
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgFailedImportSubscription")}");
// }
// AppendText(false, $"{hashCode}{UIRes.I18N("MsgUpdateSubscriptionEnd")}");
// }
// else
// {
// AppendText(false, args.Msg);
// }
//};
//downloadHandle3.Error += (sender2, args) =>
//{
// AppendText(true, args.GetException().Message);
//};
//downloadHandle3.WebDownloadString(url);
//AppendText(false, $"{hashCode}{UIRes.I18N("MsgStartGettingSubscriptions")}");
}
} }
#endregion #endregion

View file

@ -30,6 +30,7 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubSettingControl));
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.btnUpdate = new System.Windows.Forms.Button();
this.chkEnabled = new System.Windows.Forms.CheckBox(); this.chkEnabled = new System.Windows.Forms.CheckBox();
this.btnRemove = new System.Windows.Forms.Button(); this.btnRemove = new System.Windows.Forms.Button();
this.txtUrl = new System.Windows.Forms.TextBox(); this.txtUrl = new System.Windows.Forms.TextBox();
@ -42,6 +43,7 @@
// groupBox2 // groupBox2
// //
resources.ApplyResources(this.groupBox2, "groupBox2"); resources.ApplyResources(this.groupBox2, "groupBox2");
this.groupBox2.Controls.Add(this.btnUpdate);
this.groupBox2.Controls.Add(this.chkEnabled); this.groupBox2.Controls.Add(this.chkEnabled);
this.groupBox2.Controls.Add(this.btnRemove); this.groupBox2.Controls.Add(this.btnRemove);
this.groupBox2.Controls.Add(this.txtUrl); this.groupBox2.Controls.Add(this.txtUrl);
@ -51,6 +53,13 @@
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
// //
// btnUpdate
//
resources.ApplyResources(this.btnUpdate, "btnUpdate");
this.btnUpdate.Name = "btnUpdate";
this.btnUpdate.UseVisualStyleBackColor = true;
this.btnUpdate.Click += new System.EventHandler(this.btnUpdate_Click);
//
// chkEnabled // chkEnabled
// //
resources.ApplyResources(this.chkEnabled, "chkEnabled"); resources.ApplyResources(this.chkEnabled, "chkEnabled");
@ -109,5 +118,6 @@
private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label3;
private System.Windows.Forms.Button btnRemove; private System.Windows.Forms.Button btnRemove;
private System.Windows.Forms.CheckBox chkEnabled; private System.Windows.Forms.CheckBox chkEnabled;
private System.Windows.Forms.Button btnUpdate;
} }
} }

View file

@ -2,6 +2,8 @@
using System.Windows.Forms; using System.Windows.Forms;
using v2rayN.Base; using v2rayN.Base;
using v2rayN.Mode; using v2rayN.Mode;
using v2rayN.Handler;
using static v2rayN.Forms.MainForm;
namespace v2rayN.Forms namespace v2rayN.Forms
{ {
@ -59,5 +61,13 @@ namespace v2rayN.Forms
OnButtonClicked(sender, e); OnButtonClicked(sender, e);
} }
} }
public event SubUpdate_Delegate SubUpdate_Event;
private void btnUpdate_Click(object sender, EventArgs e)
{
if (subItem != null)
{
SubUpdate_Event(subItem, -1);
}
}
} }
} }

View file

@ -124,28 +124,40 @@
<data name="&gt;&gt;txtUrl.Parent" xml:space="preserve"> <data name="&gt;&gt;txtUrl.Parent" xml:space="preserve">
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <data name="txtRemarks.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing"> <value>4, 4, 4, 4</value>
<value>60, 16</value> </data>
<data name="&gt;&gt;btnUpdate.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;txtUrl.Name" xml:space="preserve"> <data name="&gt;&gt;txtUrl.Name" xml:space="preserve">
<value>txtUrl</value> <value>txtUrl</value>
</data> </data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 29</value>
</data>
<data name="btnRemove.Text" xml:space="preserve"> <data name="btnRemove.Text" xml:space="preserve">
<value>&amp;Remove</value> <value>&amp;Remove</value>
</data> </data>
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing"> <data name="&gt;&gt;txtRemarks.Name" xml:space="preserve">
<value>484, 21</value> <value>txtRemarks</value>
</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="btnRemove.TabIndex" type="System.Int32, mscorlib"> <data name="btnRemove.TabIndex" type="System.Int32, mscorlib">
<value>24</value> <value>24</value>
</data> </data>
<data name="txtUrl.Size" type="System.Drawing.Size, System.Drawing"> <data name="txtUrl.Size" type="System.Drawing.Size, System.Drawing">
<value>432, 46</value> <value>623, 56</value>
</data> </data>
<data name="&gt;&gt;$this.Name" xml:space="preserve"> <data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>SubSettingControl</value> <value>4, 4, 4, 4</value>
</data>
<data name="btnRemove.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="btnUpdate.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 29</value>
</data> </data>
<data name="&gt;&gt;txtRemarks.Type" xml:space="preserve"> <data name="&gt;&gt;txtRemarks.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -157,35 +169,53 @@
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>83, 12</value> <value>111, 15</value>
</data> </data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve"> <data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing">
<value>groupBox2</value> <value>352, 25</value>
</data>
<data name="btnUpdate.TabIndex" type="System.Int32, mscorlib">
<value>26</value>
</data> </data>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value> <value>8, 15</value>
</data>
<data name="groupBox2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data> </data>
<data name="&gt;&gt;label3.Name" xml:space="preserve"> <data name="&gt;&gt;label3.Name" xml:space="preserve">
<value>label3</value> <value>label3</value>
</data> </data>
<data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtRemarks.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 21</value> <value>155, 26</value>
</data> </data>
<data name="label3.AutoSize" type="System.Boolean, mscorlib"> <data name="label3.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>groupBox2</value>
</data>
<data name="txtUrl.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
<value>77, 19</value>
</data>
<data name="&gt;&gt;chkEnabled.ZOrder" xml:space="preserve"> <data name="&gt;&gt;chkEnabled.ZOrder" xml:space="preserve">
<value>0</value> <value>1</value>
</data> </data>
<data name="label3.Location" type="System.Drawing.Point, System.Drawing"> <data name="label3.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 55</value> <value>16, 69</value>
</data> </data>
<data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtUrl.Location" type="System.Drawing.Point, System.Drawing">
<value>127, 55</value> <value>155, 69</value>
</data> </data>
<data name="label2.TabIndex" type="System.Int32, mscorlib"> <data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
</data> </data>
<data name="&gt;&gt;btnUpdate.Name" xml:space="preserve">
<value>btnUpdate</value>
</data>
<data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms"> <data name="groupBox2.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Bottom</value> <value>Bottom</value>
</data> </data>
@ -193,22 +223,25 @@
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="&gt;&gt;txtUrl.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtUrl.ZOrder" xml:space="preserve">
<value>2</value> <value>3</value>
</data> </data>
<data name="&gt;&gt;chkEnabled.Parent" xml:space="preserve"> <data name="&gt;&gt;chkEnabled.Parent" xml:space="preserve">
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>4</value> <value>5</value>
</data>
<data name="label2.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 12</value> <value>63, 15</value>
</data> </data>
<data name="groupBox2.Text" xml:space="preserve"> <data name="&gt;&gt;btnRemove.Name" xml:space="preserve">
<value>Subscription details</value> <value>btnRemove</value>
</data> </data>
<data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing"> <data name="&gt;&gt;txtUrl.Type" xml:space="preserve">
<value>0, 9</value> <value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="chkEnabled.Text" xml:space="preserve"> <data name="chkEnabled.Text" xml:space="preserve">
<value>Enable</value> <value>Enable</value>
@ -217,13 +250,22 @@
<value>chkEnabled</value> <value>chkEnabled</value>
</data> </data>
<data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtRemarks.ZOrder" xml:space="preserve">
<value>3</value> <value>4</value>
</data> </data>
<data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnRemove.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="label3.Text" xml:space="preserve"> <data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>Address (url)</value> <value>800, 149</value>
</data>
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>612, 24</value>
</data>
<data name="&gt;&gt;btnRemove.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="label3.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data> </data>
<data name="chkEnabled.TabIndex" type="System.Int32, mscorlib"> <data name="chkEnabled.TabIndex" type="System.Int32, mscorlib">
<value>25</value> <value>25</value>
@ -231,14 +273,17 @@
<data name="txtUrl.TabIndex" type="System.Int32, mscorlib"> <data name="txtUrl.TabIndex" type="System.Int32, mscorlib">
<value>23</value> <value>23</value>
</data> </data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve"> <data name="chkEnabled.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>groupBox2</value> <value>4, 4, 4, 4</value>
</data>
<data name="btnUpdate.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data> </data>
<data name="&gt;&gt;btnRemove.Parent" xml:space="preserve"> <data name="&gt;&gt;btnRemove.Parent" xml:space="preserve">
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
<data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing"> <data name="chkEnabled.Location" type="System.Drawing.Point, System.Drawing">
<value>406, 23</value> <value>527, 29</value>
</data> </data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib"> <data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -246,9 +291,6 @@
<data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib"> <data name="chkEnabled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
</data> </data>
<data name="&gt;&gt;btnRemove.Name" xml:space="preserve">
<value>btnRemove</value>
</data>
<data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="label3.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
@ -258,14 +300,17 @@
<data name="&gt;&gt;groupBox2.Type" xml:space="preserve"> <data name="&gt;&gt;groupBox2.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data> </data>
<data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>584, 110</value> <value>4, 4, 4, 4</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>SubSettingControl</value>
</data> </data>
<data name="chkEnabled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="chkEnabled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing"> <data name="groupBox2.Size" type="System.Drawing.Size, System.Drawing">
<value>584, 119</value> <value>800, 138</value>
</data> </data>
<data name="txtRemarks.TabIndex" type="System.Int32, mscorlib"> <data name="txtRemarks.TabIndex" type="System.Int32, mscorlib">
<value>11</value> <value>11</value>
@ -276,29 +321,38 @@
<data name="label3.TabIndex" type="System.Int32, mscorlib"> <data name="label3.TabIndex" type="System.Int32, mscorlib">
<value>0</value> <value>0</value>
</data> </data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing"> <data name="btnUpdate.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 25</value> <value>699, 24</value>
</data> </data>
<data name="btnRemove.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>75, 23</value> <value>16, 31</value>
</data>
<data name="&gt;&gt;groupBox2.Name" xml:space="preserve">
<value>groupBox2</value>
</data> </data>
<data name="&gt;&gt;label3.Parent" xml:space="preserve"> <data name="&gt;&gt;label3.Parent" xml:space="preserve">
<value>groupBox2</value> <value>groupBox2</value>
</data> </data>
<data name="txtRemarks.Size" type="System.Drawing.Size, System.Drawing"> <data name="&gt;&gt;btnUpdate.ZOrder" xml:space="preserve">
<value>265, 21</value> <value>0</value>
</data>
<data name="groupBox2.Text" xml:space="preserve">
<value>Subscription details</value>
</data> </data>
<data name="groupBox2.TabIndex" type="System.Int32, mscorlib"> <data name="groupBox2.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
</data> </data>
<data name="&gt;&gt;txtUrl.Type" xml:space="preserve"> <data name="&gt;&gt;btnUpdate.Parent" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>groupBox2</value>
</data> </data>
<data name="&gt;&gt;btnRemove.ZOrder" xml:space="preserve"> <data name="groupBox2.Location" type="System.Drawing.Point, System.Drawing">
<value>1</value> <value>0, 11</value>
</data> </data>
<data name="&gt;&gt;groupBox2.Parent" xml:space="preserve"> <data name="label3.Text" xml:space="preserve">
<value>$this</value> <value>Address (url)</value>
</data>
<data name="btnUpdate.Text" xml:space="preserve">
<value>Update</value>
</data> </data>
<data name="&gt;&gt;btnRemove.Type" xml:space="preserve"> <data name="&gt;&gt;btnRemove.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@ -309,11 +363,11 @@
<data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve"> <data name="&gt;&gt;groupBox2.ZOrder" xml:space="preserve">
<value>0</value> <value>0</value>
</data> </data>
<data name="&gt;&gt;txtRemarks.Name" xml:space="preserve"> <data name="&gt;&gt;groupBox2.Parent" xml:space="preserve">
<value>txtRemarks</value> <value>$this</value>
</data> </data>
<data name="&gt;&gt;label3.ZOrder" xml:space="preserve"> <data name="&gt;&gt;label3.ZOrder" xml:space="preserve">
<value>5</value> <value>6</value>
</data> </data>
<data name="&gt;&gt;chkEnabled.Type" xml:space="preserve"> <data name="&gt;&gt;chkEnabled.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>

View file

@ -118,23 +118,32 @@
<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="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="btnUpdate.Location" type="System.Drawing.Point, System.Drawing">
<value>685, 24</value>
</data>
<data name="btnUpdate.Text" xml:space="preserve">
<value>更新</value>
</data>
<data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing"> <data name="chkEnabled.Size" type="System.Drawing.Size, System.Drawing">
<value>48, 16</value> <value>59, 19</value>
</data> </data>
<data name="chkEnabled.Text" xml:space="preserve"> <data name="chkEnabled.Text" xml:space="preserve">
<value>启用</value> <value>启用</value>
</data> </data>
<data name="btnRemove.Location" type="System.Drawing.Point, System.Drawing">
<value>594, 24</value>
</data>
<data name="btnRemove.Text" xml:space="preserve"> <data name="btnRemove.Text" xml:space="preserve">
<value>移除</value> <value>移除</value>
</data> </data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing"> <data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>29, 12</value> <value>37, 15</value>
</data> </data>
<data name="label2.Text" xml:space="preserve"> <data name="label2.Text" xml:space="preserve">
<value>备注</value> <value>备注</value>
</data> </data>
<data name="label3.Size" type="System.Drawing.Size, System.Drawing"> <data name="label3.Size" type="System.Drawing.Size, System.Drawing">
<value>65, 12</value> <value>85, 15</value>
</data> </data>
<data name="label3.Text" xml:space="preserve"> <data name="label3.Text" xml:space="preserve">
<value>地址 (url)</value> <value>地址 (url)</value>

View file

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Windows.Forms; using System.Windows.Forms;
using v2rayN.Handler; using v2rayN.Handler;
using v2rayN.Mode; using v2rayN.Mode;
using static v2rayN.Forms.MainForm;
namespace v2rayN.Forms namespace v2rayN.Forms
{ {
@ -28,6 +29,7 @@ namespace v2rayN.Forms
/// <summary> /// <summary>
/// 刷新列表 /// 刷新列表
/// </summary> /// </summary>
public event SubUpdate_Delegate SubUpdate_Event;
private void RefreshSubsView() private void RefreshSubsView()
{ {
panCon.Controls.Clear(); panCon.Controls.Clear();
@ -51,6 +53,7 @@ namespace v2rayN.Forms
{ {
var item = config.subItem[k]; var item = config.subItem[k];
SubSettingControl control = new SubSettingControl(); SubSettingControl control = new SubSettingControl();
control.SubUpdate_Event += new SubUpdate_Delegate(SubUpdate_Notice);
control.OnButtonClicked += Control_OnButtonClicked; control.OnButtonClicked += Control_OnButtonClicked;
control.subItem = item; control.subItem = item;
control.Dock = DockStyle.Top; control.Dock = DockStyle.Top;
@ -61,7 +64,10 @@ namespace v2rayN.Forms
lstControls.Add(control); lstControls.Add(control);
} }
} }
private void SubUpdate_Notice(SubItem item, int index)
{
SubUpdate_Event(item, index);
}
private void Control_OnButtonClicked(object sender, EventArgs e) private void Control_OnButtonClicked(object sender, EventArgs e)
{ {
RefreshSubsView(); RefreshSubsView();

View file

@ -157,7 +157,7 @@
<value>0, 0</value> <value>0, 0</value>
</data> </data>
<data name="panCon.Size" type="System.Drawing.Size, System.Drawing"> <data name="panCon.Size" type="System.Drawing.Size, System.Drawing">
<value>581, 569</value> <value>797, 726</value>
</data> </data>
<data name="panCon.TabIndex" type="System.Int32, mscorlib"> <data name="panCon.TabIndex" type="System.Int32, mscorlib">
<value>10</value> <value>10</value>
@ -232,10 +232,10 @@
<value>Bottom</value> <value>Bottom</value>
</data> </data>
<data name="panel2.Location" type="System.Drawing.Point, System.Drawing"> <data name="panel2.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 569</value> <value>0, 726</value>
</data> </data>
<data name="panel2.Size" type="System.Drawing.Size, System.Drawing"> <data name="panel2.Size" type="System.Drawing.Size, System.Drawing">
<value>581, 60</value> <value>797, 60</value>
</data> </data>
<data name="panel2.TabIndex" type="System.Int32, mscorlib"> <data name="panel2.TabIndex" type="System.Int32, mscorlib">
<value>7</value> <value>7</value>
@ -256,10 +256,13 @@
<value>True</value> <value>True</value>
</metadata> </metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing"> <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 12</value> <value>8, 15</value>
</data> </data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing"> <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>581, 629</value> <value>797, 786</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>5, 5, 5, 5</value>
</data> </data>
<data name="$this.Text" xml:space="preserve"> <data name="$this.Text" xml:space="preserve">
<value>Subscription settings</value> <value>Subscription settings</value>