GitHub updater include pre release option

This commit is contained in:
Jaex 2014-12-15 08:22:09 +02:00
parent d2af9182b1
commit 0ab449a4f9
7 changed files with 24 additions and 10 deletions

View file

@ -1497,7 +1497,7 @@ internal static System.Drawing.Bitmap tick {
}
/// <summary>
/// Looks up a localized string similar to A newer version of ShareX is available.
/// Looks up a localized string similar to A newer version of {0} is available.
/// </summary>
internal static string UpdateCheckerLabel_UpdateControls_A_newer_version_of_ShareX_is_available {
get {
@ -1506,7 +1506,7 @@ internal static string UpdateCheckerLabel_UpdateControls_A_newer_version_of_Shar
}
/// <summary>
/// Looks up a localized string similar to ShareX is up to date.
/// Looks up a localized string similar to {0} is up to date.
/// </summary>
internal static string UpdateCheckerLabel_UpdateControls_ShareX_is_up_to_date {
get {

View file

@ -260,10 +260,10 @@
<value>Update check failed</value>
</data>
<data name="UpdateCheckerLabel_UpdateControls_A_newer_version_of_ShareX_is_available" xml:space="preserve">
<value>A newer version of ShareX is available</value>
<value>A newer version of {0} is available</value>
</data>
<data name="UpdateCheckerLabel_UpdateControls_ShareX_is_up_to_date" xml:space="preserve">
<value>ShareX is up to date</value>
<value>{0} is up to date</value>
</data>
<data name="DownloaderForm_DownloaderForm_Waiting_" xml:space="preserve">
<value>Waiting.</value>

View file

@ -205,13 +205,13 @@
<value>Kullanıcı giriş adı</value>
</data>
<data name="UpdateCheckerLabel_UpdateControls_ShareX_is_up_to_date" xml:space="preserve">
<value>ShareX güncel</value>
<value>{0} güncel</value>
</data>
<data name="UpdateCheckerLabel_UpdateControls_Update_check_failed" xml:space="preserve">
<value>Güncelleme kontrolü yapılamadı</value>
</data>
<data name="UpdateCheckerLabel_UpdateControls_A_newer_version_of_ShareX_is_available" xml:space="preserve">
<value>Yeni bir ShareX sürümü mevcut</value>
<value>Yeni bir {0} sürümü mevcut</value>
</data>
<data name="ReplCodeMenuEntry_cn_Computer_name" xml:space="preserve">
<value>Bilgisayar adı</value>

View file

@ -26,6 +26,7 @@ You should have received a copy of the GNU General Public License
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Cache;
@ -35,6 +36,7 @@ public class GitHubUpdateChecker : UpdateChecker
{
public string Owner { get; private set; }
public string Repo { get; private set; }
public bool IncludePreRelease { get; set; }
private const string APIURL = "https://api.github.com";
@ -60,7 +62,16 @@ public override void CheckUpdate()
if (releases != null && releases.Count > 0)
{
GitHubRelease latestRelease = releases[0];
GitHubRelease latestRelease;
if (IncludePreRelease)
{
latestRelease = releases[0];
}
else
{
latestRelease = releases.FirstOrDefault(x => !x.prerelease);
}
if (latestRelease != null && !string.IsNullOrEmpty(latestRelease.tag_name) && latestRelease.tag_name.Length > 1 &&
latestRelease.tag_name[0] == 'v')

View file

@ -78,11 +78,11 @@ private void UpdateControls()
lblStatus.Visible = true;
break;
case UpdateStatus.UpdateAvailable:
llblUpdateAvailable.Text = Resources.UpdateCheckerLabel_UpdateControls_A_newer_version_of_ShareX_is_available;
llblUpdateAvailable.Text = string.Format(Resources.UpdateCheckerLabel_UpdateControls_A_newer_version_of_ShareX_is_available, Application.ProductName);
llblUpdateAvailable.Visible = true;
break;
case UpdateStatus.UpToDate:
lblStatus.Text = Resources.UpdateCheckerLabel_UpdateControls_ShareX_is_up_to_date;
lblStatus.Text = string.Format(Resources.UpdateCheckerLabel_UpdateControls_ShareX_is_up_to_date, Application.ProductName);
lblStatus.Visible = true;
break;
}

View file

@ -2435,7 +2435,7 @@
</data>
<data name="lblImageJPEGQualityHint.Text" xml:space="preserve">
<value>0 - 100</value>
</data>
<comment>@Invariant</comment></data>
<data name="&gt;&gt;lblImageJPEGQualityHint.Name" xml:space="preserve">
<value>lblImageJPEGQualityHint</value>
</data>

View file

@ -426,4 +426,7 @@
<data name="chkScreenRecordAutoStart.Text" xml:space="preserve">
<value>Kaydetmeye başla:</value>
</data>
<data name="chkOverrideCustomUploader.Text" xml:space="preserve">
<value>Özel yükleyiciyi değiştir:</value>
</data>
</root>