private void ShowFirstTimeWarning() { Point point = PointToScreen(UI_FirstRunText.Location); point = UI_SplashImage.PointToClient(point); UI_FirstRunText.Parent = UI_SplashImage; UI_FirstRunText.Location = point; UI_FirstRunText.Show(); }
public void OnUpdateCheckComplete(object sender, EventArgs args) { LatestReleaseData data = ((UpdateCheckDoneArgs)args).Data; bool isUpdating = false; // Check our update data. if (data.message != null) { // If a message is set, it was some kind of error. Log.Write("NOT UPDATING: GitHub gave us an error -> " + data.message); } else { // Ensure our remote version number is not malformed. data.tag_name = data.tag_name.Trim(); // Trim any whitespace that might have slipped in. Regex versionCheck = new Regex(@"^\d+\.\d+\.\d+\.\d+$", RegexOptions.IgnoreCase); if (versionCheck.Match(data.tag_name).Success) { Log.Write("Remote latest version: " + data.tag_name); Version localVersion = new Version(Program.Version); Version remoteVersion = new Version(data.tag_name); if (remoteVersion.CompareTo(localVersion) > 0) { if (data.assets.Length > 0) { // Local version is out-of-date, lets fix that. isUpdating = true; new RunnerDownloadUpdate(data.assets[0].browser_download_url).Begin(); UI_FirstRunText.Text = string.Format("Updating W3DT ({0} -> {1})...", localVersion, remoteVersion); UI_FirstRunText.Show(); } else { // Missing assets. Human error (most likely). Log.Write("NOT UPDATING: Remote version has no assets attached!"); } } else { // Local version is equal to remote (or somehow newer). Log.Write("NOT UPDATING: Local version is newer or equal to remote version."); } } else { // Version number is not valid, generally caused by human error. Log.Write("NOT UPDATING: Remote version number is malformed -> " + data.tag_name); } } // There shouldn't be more than one event fired, but unregister anyway. EventManager.UpdateCheckDone -= OnUpdateCheckComplete; if (!isUpdating) { EventManager.Trigger_LoadStepDone(); if (!Program.Settings.ShowSourceSelector) { isDoneLoading = true; } isUpdateCheckDone = true; } }