Merge pull request #464 from GangZhuo/master
not check update when no configuration
This commit is contained in:
@@ -82,17 +82,16 @@ namespace Shadowsocks.View
|
||||
|
||||
Configuration config = controller.GetConfigurationCopy();
|
||||
|
||||
if (config.autoCheckUpdate)
|
||||
{
|
||||
_isStartupChecking = true;
|
||||
updateChecker.CheckUpdate(config, 3000);
|
||||
}
|
||||
|
||||
if (config.isDefault)
|
||||
{
|
||||
_isFirstRun = true;
|
||||
ShowConfigForm();
|
||||
}
|
||||
else if(config.autoCheckUpdate)
|
||||
{
|
||||
_isStartupChecking = true;
|
||||
updateChecker.CheckUpdate(config, 3000);
|
||||
}
|
||||
}
|
||||
|
||||
void controller_Errored(object sender, System.IO.ErrorEventArgs e)
|
||||
@@ -262,12 +261,10 @@ namespace Shadowsocks.View
|
||||
if (updateChecker.NewVersionFound)
|
||||
{
|
||||
ShowBalloonTip(String.Format(I18N.GetString("Shadowsocks {0} Update Found"), updateChecker.LatestVersionNumber), I18N.GetString("Click here to update"), ToolTipIcon.Info, 5000);
|
||||
_isFirstRun = false;
|
||||
}
|
||||
else if (!_isStartupChecking)
|
||||
{
|
||||
ShowBalloonTip(I18N.GetString("Shadowsocks"), I18N.GetString("No update is available"), ToolTipIcon.Info, 5000);
|
||||
_isFirstRun = false;
|
||||
}
|
||||
_isStartupChecking = false;
|
||||
}
|
||||
@@ -389,7 +386,12 @@ namespace Shadowsocks.View
|
||||
{
|
||||
configForm = null;
|
||||
Utils.ReleaseMemory(true);
|
||||
ShowFirstTimeBalloon();
|
||||
if (_isFirstRun)
|
||||
{
|
||||
CheckUpdateForFirstRun();
|
||||
ShowFirstTimeBalloon();
|
||||
_isFirstRun = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void Config_Click(object sender, EventArgs e)
|
||||
@@ -404,16 +406,22 @@ namespace Shadowsocks.View
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
private void CheckUpdateForFirstRun()
|
||||
{
|
||||
Configuration config = controller.GetConfigurationCopy();
|
||||
if (!config.isDefault)
|
||||
{
|
||||
_isStartupChecking = true;
|
||||
updateChecker.CheckUpdate(config, 3000);
|
||||
}
|
||||
}
|
||||
|
||||
private void ShowFirstTimeBalloon()
|
||||
{
|
||||
if (_isFirstRun)
|
||||
{
|
||||
_notifyIcon.BalloonTipTitle = I18N.GetString("Shadowsocks is here");
|
||||
_notifyIcon.BalloonTipText = I18N.GetString("You can turn on/off Shadowsocks in the context menu");
|
||||
_notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
|
||||
_notifyIcon.ShowBalloonTip(0);
|
||||
_isFirstRun = false;
|
||||
}
|
||||
_notifyIcon.BalloonTipTitle = I18N.GetString("Shadowsocks is here");
|
||||
_notifyIcon.BalloonTipText = I18N.GetString("You can turn on/off Shadowsocks in the context menu");
|
||||
_notifyIcon.BalloonTipIcon = ToolTipIcon.Info;
|
||||
_notifyIcon.ShowBalloonTip(0);
|
||||
}
|
||||
|
||||
private void AboutItem_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
<CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
@@ -347,25 +346,25 @@
|
||||
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System" />
|
||||
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System.IO" />
|
||||
<Using xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Namespace="System.Xml.Linq" />
|
||||
<Code xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Type="Fragment" Language="cs"><![CDATA[
|
||||
var config = XElement.Load(Config.ItemSpec).Elements("Costura").FirstOrDefault();
|
||||
|
||||
if (config == null) return true;
|
||||
|
||||
var excludedAssemblies = new List<string>();
|
||||
var attribute = config.Attribute("ExcludeAssemblies");
|
||||
if (attribute != null)
|
||||
foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty))
|
||||
excludedAssemblies.Add(item);
|
||||
var element = config.Element("ExcludeAssemblies");
|
||||
if (element != null)
|
||||
foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty))
|
||||
excludedAssemblies.Add(item);
|
||||
|
||||
var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase));
|
||||
|
||||
foreach (var item in filesToCleanup)
|
||||
File.Delete(item);
|
||||
<Code xmlns="http://schemas.microsoft.com/developer/msbuild/2003" Type="Fragment" Language="cs"><![CDATA[
|
||||
var config = XElement.Load(Config.ItemSpec).Elements("Costura").FirstOrDefault();
|
||||
|
||||
if (config == null) return true;
|
||||
|
||||
var excludedAssemblies = new List<string>();
|
||||
var attribute = config.Attribute("ExcludeAssemblies");
|
||||
if (attribute != null)
|
||||
foreach (var item in attribute.Value.Split('|').Select(x => x.Trim()).Where(x => x != string.Empty))
|
||||
excludedAssemblies.Add(item);
|
||||
var element = config.Element("ExcludeAssemblies");
|
||||
if (element != null)
|
||||
foreach (var item in element.Value.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => x != string.Empty))
|
||||
excludedAssemblies.Add(item);
|
||||
|
||||
var filesToCleanup = Files.Select(f => f.ItemSpec).Where(f => !excludedAssemblies.Contains(Path.GetFileNameWithoutExtension(f), StringComparer.InvariantCultureIgnoreCase));
|
||||
|
||||
foreach (var item in filesToCleanup)
|
||||
File.Delete(item);
|
||||
]]></Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
@@ -23,10 +23,13 @@
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<Optimize>true</Optimize>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<StartupObject />
|
||||
|
||||
Reference in New Issue
Block a user