Tested and fixed update check

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2154 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2012-10-18 08:51:09 +00:00
parent bf392fb81a
commit 552a4c8f94
3 changed files with 15 additions and 11 deletions

View file

@ -73,14 +73,15 @@ namespace Greenshot.Experimental {
lock (lockObject) {
Version currentVersion = Assembly.GetExecutingAssembly().GetName().Version;
// Test like this:
// Version currentVersion = new Version("0.8.1.1198");
//currentVersion = new Version("0.8.1.1198");
try {
latestGreenshot = null;
UpdateHelper.ProcessRSSInfo(currentVersion);
if (latestGreenshot != null) {
MainForm.Instance.NotifyIcon.BalloonTipClicked += HandleBalloonTipClick;
MainForm.Instance.NotifyIcon.BalloonTipClosed += CleanupBalloonTipClick;
MainForm.Instance.NotifyIcon.ShowBalloonTip(10000, "Greenshot", Language.GetFormattedString(LangKey.update_found, latestGreenshot.File), ToolTipIcon.Info);
MainForm.Instance.NotifyIcon.ShowBalloonTip(10000, "Greenshot", Language.GetFormattedString(LangKey.update_found, "'" + latestGreenshot.File + "'"), ToolTipIcon.Info);
}
conf.LastUpdateCheck = DateTime.Now;
IniConfig.Save();
@ -155,7 +156,7 @@ namespace Greenshot.Experimental {
// Compare versions
int versionCompare = rssFile.Version.CompareTo(currentVersion);
if (versionCompare > 0) {
LOG.DebugFormat("Found newer version as exe {0} with version {1} published at {2} : {3}", file, rssFile.Version, rssFile.Pubdate.ToLocalTime(), rssFile.Link);
LOG.DebugFormat("Found newer Greenshot '{0}' with version {1} published at {2} : {3}", file, rssFile.Version, rssFile.Pubdate.ToLocalTime(), rssFile.Link);
if (latestGreenshot == null || rssFile.Version.CompareTo(latestGreenshot.Version) > 0) {
latestGreenshot = rssFile;
}

View file

@ -237,7 +237,7 @@ namespace GreenshotPlugin.Controls {
string langString = null;
if (!string.IsNullOrEmpty(languageKey)) {
if (!Language.TryGetString(languageKey, out langString)) {
LOG.WarnFormat("Wrong language key '{0}' configured for control '{1}'", languageKey, applyTo.Name);
LOG.WarnFormat("Unknown language key '{0}' configured for control '{1}', this might be okay.", languageKey, applyTo.Name);
return;
}
applyTo.Text = langString;

View file

@ -77,7 +77,7 @@ namespace GreenshotPlugin.Core {
public bool isReleaseCandidate {
get {
if (file != null) {
return file.ToLower().Contains("RC");
return Regex.IsMatch(file.ToLower(), "rc[0-9]+");
}
return false;
}
@ -175,21 +175,24 @@ namespace GreenshotPlugin.Core {
}
SourceforgeFile rssFile = new SourceforgeFile(file, pubdate, sfLink, directLink);
if (file.EndsWith(".exe") ||file.EndsWith(".zip")) {
string version = Regex.Replace(file, ".*[a-zA-Z]-", "");
version = version.Replace("-[a-zA-Z]+.*","");
version = Regex.Replace(version, ".exe$", "");
version = Regex.Replace(version, ".zip$", "");
string version = Regex.Replace(file, @".*[a-zA-Z_]\-", "");
version = version.Replace(@"\-[a-zA-Z]+.*","");
version = Regex.Replace(version, @"\.exe$", "");
version = Regex.Replace(version, @"\.zip$", "");
version = Regex.Replace(version, @"RC[0-9]+", "");
if (version.Trim().Length > 0) {
version = version.Replace('-','.');
version = version.Replace(',','.');
version = Regex.Replace(version, @"^[a-zA-Z_]*\.", "");
version = Regex.Replace(version, @"\.[a-zA-Z_]*$", "");
try {
rssFile.Version = new Version(version);
} catch (Exception) {
LOG.DebugFormat("Found invalid version {0} in file {1}", version, file);
}
}
}
if (type.Equals("Translations")) {
} else if (type.Equals("Translations")) {
string culture = Regex.Replace(file, @"[a-zA-Z]+-(..-..)\.(xml|html)", "$1");
try {
CultureInfo cultureInfo = new CultureInfo(culture);