add new menu to update pac file via gfwlist
This commit is contained in:
@@ -45,6 +45,8 @@ namespace Shadowsocks.View
|
||||
controller.ShareOverLANStatusChanged += controller_ShareOverLANStatusChanged;
|
||||
controller.EnableGlobalChanged += controller_EnableGlobalChanged;
|
||||
controller.Errored += controller_Errored;
|
||||
controller.UpdatePACFromGFWListCompleted += controller_UpdatePACFromGFWListCompleted;
|
||||
controller.UpdatePACFromGFWListError += controller_UpdatePACFromGFWListError;
|
||||
|
||||
_notifyIcon = new NotifyIcon();
|
||||
UpdateTrayIcon();
|
||||
@@ -138,6 +140,7 @@ namespace Shadowsocks.View
|
||||
this.AutoStartupItem = CreateMenuItem("Start on Boot", new EventHandler(this.AutoStartupItem_Click)),
|
||||
this.ShareOverLANItem = CreateMenuItem("Share over LAN", new EventHandler(this.ShareOverLANItem_Click)),
|
||||
CreateMenuItem("Edit PAC File...", new EventHandler(this.EditPACFileItem_Click)),
|
||||
CreateMenuItem("Update PAC File via gfwlist...", new EventHandler(this.UpdatePACFromGFWListItem_Click)),
|
||||
new MenuItem("-"),
|
||||
CreateMenuItem("Show QRCode...", new EventHandler(this.QRCodeItem_Click)),
|
||||
CreateMenuItem("Show Logs...", new EventHandler(this.ShowLogItem_Click)),
|
||||
@@ -176,6 +179,23 @@ namespace Shadowsocks.View
|
||||
System.Diagnostics.Process.Start("explorer.exe", argument);
|
||||
}
|
||||
|
||||
void controller_UpdatePACFromGFWListError(object sender, System.IO.ErrorEventArgs e)
|
||||
{
|
||||
_notifyIcon.BalloonTipTitle = I18N.GetString("Update PAC File via gfwlist...");
|
||||
_notifyIcon.BalloonTipText = I18N.GetString("Update PAC file failed");
|
||||
_notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
|
||||
_notifyIcon.ShowBalloonTip(5000);
|
||||
Logging.LogUsefulException(e.GetException());
|
||||
}
|
||||
|
||||
void controller_UpdatePACFromGFWListCompleted(object sender, EventArgs e)
|
||||
{
|
||||
_notifyIcon.BalloonTipTitle = I18N.GetString("Update PAC File via gfwlist...");
|
||||
_notifyIcon.BalloonTipText = I18N.GetString("Update PAC file succeed");
|
||||
_notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
|
||||
_notifyIcon.ShowBalloonTip(5000);
|
||||
}
|
||||
|
||||
void updateChecker_NewVersionFound(object sender, EventArgs e)
|
||||
{
|
||||
_notifyIcon.BalloonTipTitle = String.Format(I18N.GetString("Shadowsocks {0} Update Found"), updateChecker.LatestVersionNumber);
|
||||
@@ -311,6 +331,15 @@ namespace Shadowsocks.View
|
||||
controller.TouchPACFile();
|
||||
}
|
||||
|
||||
private void UpdatePACFromGFWListItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
_notifyIcon.BalloonTipTitle = I18N.GetString("Shadowsocks") + " " + UpdateChecker.Version;
|
||||
_notifyIcon.BalloonTipText = I18N.GetString("Update PAC File via gfwlist...");
|
||||
_notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
|
||||
_notifyIcon.ShowBalloonTip(5000);
|
||||
controller.UpdatePACFromGFWList();
|
||||
}
|
||||
|
||||
private void AServerItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
MenuItem item = (MenuItem)sender;
|
||||
|
||||
Reference in New Issue
Block a user