Files
flowframes/Code/Forms/UpdaterForm.cs

83 lines
2.4 KiB
C#
Raw Normal View History

using Flowframes.Data;
using Flowframes.OS;
2020-11-23 16:51:05 +01:00
using System;
using System.Collections.Generic;
using System.Diagnostics;
2020-11-23 16:51:05 +01:00
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Flowframes.Forms
{
public partial class UpdaterForm : Form
{
SemVer installed;
SemVer latestPat;
SemVer latestFree;
2020-11-23 16:51:05 +01:00
public UpdaterForm()
{
2021-01-15 16:20:25 +01:00
AutoScaleMode = AutoScaleMode.None;
2020-11-23 16:51:05 +01:00
InitializeComponent();
}
private async void UpdaterForm_Load(object sender, EventArgs e)
{
installed = Updater.GetInstalledVer();
latestPat = Updater.GetLatestVer(true);
latestFree = Updater.GetLatestVer(false);
2020-11-23 16:51:05 +01:00
installedLabel.Text = installed.ToString();
2020-11-23 16:51:05 +01:00
await Task.Delay(100);
latestLabel.Text = $"{latestPat} (Patreon/Beta) - {latestFree} (Free/Stable)";
2020-11-23 16:51:05 +01:00
if (Updater.VersionMatches(installed, latestFree))
2020-11-23 16:51:05 +01:00
{
statusLabel.Text = "Latest Free Version Is Installed.";
if (Updater.IsVersionNewer(installed, latestPat))
statusLabel.Text += "\nBeta Update Available On Patreon.";
return;
2020-11-23 16:51:05 +01:00
}
if (Updater.VersionMatches(installed, latestPat))
2020-11-23 16:51:05 +01:00
{
statusLabel.Text = "Latest Patreon/Beta Version Is Installed.";
return;
2020-11-23 16:51:05 +01:00
}
if (Updater.IsVersionNewer(installed, latestPat))
{
statusLabel.Text = "Update available on Patreon!";
if (Updater.IsVersionNewer(installed, latestFree))
2021-02-05 15:52:44 +01:00
statusLabel.Text = $"Beta Updates Available On Patreon and Itch.io.";
return;
}
2020-11-23 16:51:05 +01:00
}
float lastProg = -1f;
public void SetProgLabel (float prog, string str)
{
if (prog == lastProg) return;
lastProg = prog;
downloadingLabel.Text = str;
}
private void updatePatreonBtn_Click(object sender, EventArgs e)
2020-11-23 16:51:05 +01:00
{
string link = Updater.GetLatestVerLink(true);
if(!string.IsNullOrWhiteSpace(link))
Process.Start(link);
2020-11-23 16:51:05 +01:00
}
private void updateFreeBtn_Click(object sender, EventArgs e)
{
string link = Updater.GetLatestVerLink(false);
if (!string.IsNullOrWhiteSpace(link))
Process.Start(link);
}
2020-11-23 16:51:05 +01:00
}
}