From 552a4c8f94ad6e95e2bf0ffea7179d406dcfb607 Mon Sep 17 00:00:00 2001 From: RKrom Date: Thu, 18 Oct 2012 08:51:09 +0000 Subject: [PATCH] Tested and fixed update check git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2154 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4 --- Greenshot/Helpers/UpdateHelper.cs | 7 ++++--- GreenshotPlugin/Controls/GreenshotForm.cs | 2 +- GreenshotPlugin/Core/SourceForgeHelper.cs | 17 ++++++++++------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/Greenshot/Helpers/UpdateHelper.cs b/Greenshot/Helpers/UpdateHelper.cs index fe08b64b4..e74aadcd8 100644 --- a/Greenshot/Helpers/UpdateHelper.cs +++ b/Greenshot/Helpers/UpdateHelper.cs @@ -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; } diff --git a/GreenshotPlugin/Controls/GreenshotForm.cs b/GreenshotPlugin/Controls/GreenshotForm.cs index 3a5521de0..ffe443e49 100644 --- a/GreenshotPlugin/Controls/GreenshotForm.cs +++ b/GreenshotPlugin/Controls/GreenshotForm.cs @@ -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; diff --git a/GreenshotPlugin/Core/SourceForgeHelper.cs b/GreenshotPlugin/Core/SourceForgeHelper.cs index c09d5a2aa..259b01743 100644 --- a/GreenshotPlugin/Core/SourceForgeHelper.cs +++ b/GreenshotPlugin/Core/SourceForgeHelper.cs @@ -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);