public static bool UpdateAvailable(UpdateInfo info) { if (info == null || !info.Successful) return false; var serverVersion = info.LatestVersion; var currentVersion = VariousFunctions.GetApplicationVersion(); return (serverVersion.CompareTo(currentVersion) > 0); }
public static void Show(UpdateInfo info, bool available) { // ill up date u App.MetroIdeStorage.MetroIdeSettings.HomeWindow.ShowMask(); var updater = new Updater(info, available) { Owner = App.MetroIdeStorage.MetroIdeSettings.HomeWindow, WindowStartupLocation = WindowStartupLocation.CenterOwner }; updater.ShowDialog(); App.MetroIdeStorage.MetroIdeSettings.HomeWindow.HideMask(); }
public Updater(UpdateInfo info, bool available) { InitializeComponent(); DwmDropShadow.DropShadowToWindow(this); _info = info; if (!available) { lblAvailable.Text = "Your version of MetroIde is up-to-date."; lblAvailable.FontWeight = FontWeights.Normal; updateButtons.Visibility = Visibility.Collapsed; noUpdate.Visibility = Visibility.Visible; } LoadDataFromFormat(); // Set up UI Width = 600; Height = 400; updateInfo.Visibility = Visibility.Visible; updateProgress.Visibility = Visibility.Collapsed; }
private void BuildChangelog(UpdateInfo info) { for (int i = 0; i < info.Changelogs.Length; i++) { UpdateInfo.UpdateChangelog changelog = info.Changelogs[i]; lblChangeLog.Inlines.Add(i == 0 ? new Bold( new Run(string.Format("What's new in version {0} (latest):", changelog.Version))) : new Bold( new Run(string.Format("Changes made in previous version {0}:", changelog.Version)))); lblChangeLog.Inlines.Add(new Run(Environment.NewLine + Environment.NewLine)); lblChangeLog.Inlines.Add(new Run(changelog.Changelog.TrimEnd('\r', '\n'))); lblChangeLog.Inlines.Add(new Run(Environment.NewLine + Environment.NewLine)); } }