diff --git a/Changes.md b/Changes.md
index 8c38fcf6..734949a9 100644
--- a/Changes.md
+++ b/Changes.md
@@ -1,3 +1,6 @@
+v1.0.3
+- Add check update
+
v1.0.2
- Add deployment
- Fix bugs
diff --git a/README.md b/README.md
index a90ab23c..838c4a38 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,8 @@
> - [x] NextCloud
## Client-Windows
-下载最新的[Release](https://github.com/Jeric-X/SyncClipboard/releases/)
+下载最新的[Release](https://github.com/Jeric-X/SyncClipboard/releases/),自备梯子
+或者clone or下载源码,VS2013及以上编译
## Client-IOS
使用[Workflow](https://appsto.re/cn/2IzJ2.i)提供的`Get Contents of URL`功能发送HTTP协议
导入这个[Workflow](https://workflow.is/workflows/6da4c1de8b1446cda56e336b1ed50b25)
diff --git a/SyncClipboard/MainForm.Designer.cs b/SyncClipboard/MainForm.Designer.cs
index 62c9faa3..681b9182 100644
--- a/SyncClipboard/MainForm.Designer.cs
+++ b/SyncClipboard/MainForm.Designer.cs
@@ -39,6 +39,7 @@ private void InitializeComponent()
this.下载远程ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.退出ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
+ this.检查更新ToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.notifyMenu.SuspendLayout();
this.SuspendLayout();
//
@@ -58,6 +59,7 @@ private void InitializeComponent()
this.notifyMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.设置ToolStripMenuItem,
this.开机启动ToolStripMenuItem,
+ this.检查更新ToolStripMenuItem,
this.toolStripMenuItem2,
this.上传本机ToolStripMenuItem,
this.下载远程ToolStripMenuItem,
@@ -68,12 +70,12 @@ private void InitializeComponent()
this.notifyMenu.ShowCheckMargin = true;
this.notifyMenu.ShowImageMargin = false;
this.notifyMenu.ShowItemToolTips = false;
- this.notifyMenu.Size = new System.Drawing.Size(145, 146);
+ this.notifyMenu.Size = new System.Drawing.Size(182, 200);
//
// 设置ToolStripMenuItem
//
this.设置ToolStripMenuItem.Name = "设置ToolStripMenuItem";
- this.设置ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+ this.设置ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
this.设置ToolStripMenuItem.Text = "设置";
this.设置ToolStripMenuItem.Click += new System.EventHandler(this.设置ToolStripMenuItem_Click);
//
@@ -81,20 +83,20 @@ private void InitializeComponent()
//
this.开机启动ToolStripMenuItem.CheckOnClick = true;
this.开机启动ToolStripMenuItem.Name = "开机启动ToolStripMenuItem";
- this.开机启动ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+ this.开机启动ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
this.开机启动ToolStripMenuItem.Text = "开机启动";
this.开机启动ToolStripMenuItem.Click += new System.EventHandler(this.开机启动ToolStripMenuItem_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
- this.toolStripMenuItem2.Size = new System.Drawing.Size(141, 6);
+ this.toolStripMenuItem2.Size = new System.Drawing.Size(178, 6);
//
// 上传本机ToolStripMenuItem
//
this.上传本机ToolStripMenuItem.CheckOnClick = true;
this.上传本机ToolStripMenuItem.Name = "上传本机ToolStripMenuItem";
- this.上传本机ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+ this.上传本机ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
this.上传本机ToolStripMenuItem.Text = "上传本机";
this.上传本机ToolStripMenuItem.Click += new System.EventHandler(this.上传本机ToolStripMenuItem_Click);
//
@@ -102,22 +104,29 @@ private void InitializeComponent()
//
this.下载远程ToolStripMenuItem.CheckOnClick = true;
this.下载远程ToolStripMenuItem.Name = "下载远程ToolStripMenuItem";
- this.下载远程ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+ this.下载远程ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
this.下载远程ToolStripMenuItem.Text = "下载远程";
this.下载远程ToolStripMenuItem.Click += new System.EventHandler(this.下载远程ToolStripMenuItem_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
- this.toolStripMenuItem1.Size = new System.Drawing.Size(141, 6);
+ this.toolStripMenuItem1.Size = new System.Drawing.Size(178, 6);
//
// 退出ToolStripMenuItem
//
this.退出ToolStripMenuItem.Name = "退出ToolStripMenuItem";
- this.退出ToolStripMenuItem.Size = new System.Drawing.Size(144, 26);
+ this.退出ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
this.退出ToolStripMenuItem.Text = "退出";
this.退出ToolStripMenuItem.Click += new System.EventHandler(this.退出ToolStripMenuItem_Click);
//
+ // 检查更新ToolStripMenuItem
+ //
+ this.检查更新ToolStripMenuItem.Name = "检查更新ToolStripMenuItem";
+ this.检查更新ToolStripMenuItem.Size = new System.Drawing.Size(181, 26);
+ this.检查更新ToolStripMenuItem.Text = "检查更新";
+ this.检查更新ToolStripMenuItem.Click += new System.EventHandler(this.检查更新ToolStripMenuItem_Click);
+ //
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 15F);
@@ -144,6 +153,7 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem 上传本机ToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem 下载远程ToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
+ private System.Windows.Forms.ToolStripMenuItem 检查更新ToolStripMenuItem;
}
}
diff --git a/SyncClipboard/MainForm.cs b/SyncClipboard/MainForm.cs
index 37ac6b7b..791a9c4e 100644
--- a/SyncClipboard/MainForm.cs
+++ b/SyncClipboard/MainForm.cs
@@ -151,5 +151,11 @@ private void 下载远程ToolStripMenuItem_Click(object sender, EventArgs e)
Config.IfPull = this.下载远程ToolStripMenuItem.Checked;
Config.Save();
}
+
+ private void 检查更新ToolStripMenuItem_Click(object sender, EventArgs e)
+ {
+ UpdateChecker updateChecker = new UpdateChecker();
+ updateChecker.Check();
+ }
}
}
diff --git a/SyncClipboard/Properties/Settings.Designer.cs b/SyncClipboard/Properties/Settings.Designer.cs
index 656ec1ba..bbcb9470 100644
--- a/SyncClipboard/Properties/Settings.Designer.cs
+++ b/SyncClipboard/Properties/Settings.Designer.cs
@@ -25,8 +25,7 @@ public static Settings Default {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("https://cloud.jericx.xyz/remote.php/dav/files/JericX/Clipboard/SyncClipboard.json" +
- "")]
+ [global::System.Configuration.DefaultSettingValueAttribute("https://cloud.jericx.xyz/remote.php/dav/files/JericX/Clipboard/SyncClipboard.json")]
public string URL {
get {
return ((string)(this["URL"]));
diff --git a/SyncClipboard/SyncClipboard.csproj b/SyncClipboard/SyncClipboard.csproj
index 041f59e6..91f0e351 100644
--- a/SyncClipboard/SyncClipboard.csproj
+++ b/SyncClipboard/SyncClipboard.csproj
@@ -102,8 +102,11 @@
SettingsForm.cs
+ Designer
-
+
+ Designer
+
SettingsSingleFileGenerator
Settings.Designer.cs
diff --git a/SyncClipboard/UpdateChecker.cs b/SyncClipboard/UpdateChecker.cs
index a21fff56..05f22dcc 100644
--- a/SyncClipboard/UpdateChecker.cs
+++ b/SyncClipboard/UpdateChecker.cs
@@ -1,13 +1,55 @@
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
+using System.Net;
using System.Text;
using System.Threading.Tasks;
+using System.Web.Script.Serialization;
+using System.Windows.Forms;
namespace SyncClipboard
{
class UpdateChecker
{
- public const string Version = "1.0.2";
+ public const string Version = "1.0.3";
+ public const string UpdateUrl = "https://api.github.com/repos/Jeric-X/SyncClipboard/releases/latest";
+ public const string ReleaseUrl = "https://github.com/Jeric-X/SyncClipboard/releases/latest";
+
+ public bool Check()
+ {
+ HttpWebResponse httpWebResponse = null;
+ try
+ {
+ httpWebResponse = HttpWebResponseUtility.CreateGetHttpResponse(UpdateUrl, Config.TimeOut, null, null, null);
+ }
+ catch (Exception ex)
+ {
+ MessageBox.Show(ex.Message.ToString());
+ return false;
+ }
+ StreamReader objStrmReader = new StreamReader(httpWebResponse.GetResponseStream());
+ String strReply = objStrmReader.ReadToEnd();
+ JavaScriptSerializer serializer = new JavaScriptSerializer();
+ UpdateConvertJson p1 = null;
+ try
+ {
+ p1 = serializer.Deserialize(strReply);
+ if (String.Compare(p1.name, "v" + Version) > 0)
+ if (MessageBox.Show("v" + Version + " -> " + p1.name + "\n\n是否更新", "检测到新版本", MessageBoxButtons.OKCancel) == DialogResult.OK)
+ System.Diagnostics.Process.Start(UpdateChecker.ReleaseUrl);
+ }
+ catch (Exception e)
+ {
+ MessageBox.Show(e.Message.ToString());
+ }
+ return false;
+ }
+ }
+ class UpdateConvertJson
+ {
+ public String name { get; set; }
+
+ public String rowser_download_url { get; set; }
}
}