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) { lock (lockObject) {
Version currentVersion = Assembly.GetExecutingAssembly().GetName().Version; Version currentVersion = Assembly.GetExecutingAssembly().GetName().Version;
// Test like this: // Test like this:
// Version currentVersion = new Version("0.8.1.1198"); //currentVersion = new Version("0.8.1.1198");
try { try {
latestGreenshot = null;
UpdateHelper.ProcessRSSInfo(currentVersion); UpdateHelper.ProcessRSSInfo(currentVersion);
if (latestGreenshot != null) { if (latestGreenshot != null) {
MainForm.Instance.NotifyIcon.BalloonTipClicked += HandleBalloonTipClick; MainForm.Instance.NotifyIcon.BalloonTipClicked += HandleBalloonTipClick;
MainForm.Instance.NotifyIcon.BalloonTipClosed += CleanupBalloonTipClick; 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; conf.LastUpdateCheck = DateTime.Now;
IniConfig.Save(); IniConfig.Save();
@ -155,7 +156,7 @@ namespace Greenshot.Experimental {
// Compare versions // Compare versions
int versionCompare = rssFile.Version.CompareTo(currentVersion); int versionCompare = rssFile.Version.CompareTo(currentVersion);
if (versionCompare > 0) { 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) { if (latestGreenshot == null || rssFile.Version.CompareTo(latestGreenshot.Version) > 0) {
latestGreenshot = rssFile; latestGreenshot = rssFile;
} }

View file

@ -237,7 +237,7 @@ namespace GreenshotPlugin.Controls {
string langString = null; string langString = null;
if (!string.IsNullOrEmpty(languageKey)) { if (!string.IsNullOrEmpty(languageKey)) {
if (!Language.TryGetString(languageKey, out langString)) { 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; return;
} }
applyTo.Text = langString; applyTo.Text = langString;

View file

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