예제 #1
0
        public YAppReleaseManager(YAppInterface appInterface)
        {
            this._appInterface = appInterface;
            this._appName      = appInterface.GetAppName();
            this._platform     = appInterface.GetPlatform();
            string fullVersionStr = appInterface.GetVersion();


            int pos = fullVersionStr.LastIndexOf('.');

            if (pos < 0)
            {
                throw new ArgumentException("Invalid version string:" + fullVersionStr);
            }
            string svnVersionStr = fullVersionStr.Substring(pos + 1);

            if (svnVersionStr == "PATCH_WITH_BUILD")
            {
                this._versionPrefix = fullVersionStr.Substring(0, pos);
                this._svnVersion    = 1234;
            }
            else
            {
                this._versionPrefix = fullVersionStr.Substring(0, pos);
                this._svnVersion    = Convert.ToInt32(svnVersionStr);
            }
        }
예제 #2
0
        private void refreshUI(UIstates state)
        {
            switch (state)
            {
            case (UIstates.UPDATENOTAVAILABLE):
                progressBar1.Visible         = false;
                CancelDownloadButton.Visible = false;
                DownloadLabel.Visible        = false;
                buttonUpdate.Visible         = true;
                buttonIgnore.Visible         = true;
                buttonRemindeMe.Visible      = true;
                buttonRelease.Visible        = true;
                label1.Visible              = true;
                labelNewVersion.Visible     = true;
                labelLinkDecoration.Visible = true;
                linkLabel.Visible           = true;
                checkUpdate.Visible         = true;
                labelVersion.Visible        = true;
                buttonUpdate.Enabled        = false;
                buttonIgnore.Enabled        = false;
                buttonRemindeMe.Enabled     = false;
                buttonRelease.Enabled       = false;
                label1.Text                 = String.Format("{0} is up to date:", _appInterface.GetAppName());
                labelNewVersion.Text        = _appInterface.GetVersion();
                labelVersion.Text           = "Current version:";
                labelLinkDecoration.Visible = false;
                linkLabel.Visible           = false;
                break;

            case (UIstates.UPDATEAVAILABLE):
                progressBar1.Visible         = false;
                CancelDownloadButton.Visible = false;
                DownloadLabel.Visible        = false;
                buttonUpdate.Visible         = true;
                buttonIgnore.Visible         = true;
                buttonRemindeMe.Visible      = true;
                buttonRelease.Visible        = true;
                checkUpdate.Visible          = true;
                label1.Visible              = true;
                labelVersion.Visible        = true;
                labelNewVersion.Visible     = true;
                labelLinkDecoration.Visible = true;
                linkLabel.Visible           = true;
                label1.Text             = String.Format("Updates are available for the {0} application:", _appInterface.GetAppName());
                buttonUpdate.Enabled    = true;
                buttonIgnore.Enabled    = true;
                buttonRemindeMe.Enabled = true;
                linkLabel.Text          = release.link;
                labelNewVersion.Text    = _appReleaseManager.FormatVersion(release.version);
                break;

            case (UIstates.UPDATEDOWNLOADING):
                progressBar1.Visible         = true;
                CancelDownloadButton.Visible = true;
                DownloadLabel.Visible        = true;
                buttonUpdate.Visible         = false;
                buttonIgnore.Visible         = false;
                buttonRemindeMe.Visible      = false;
                buttonRelease.Visible        = false;
                label1.Visible              = false;
                labelNewVersion.Visible     = false;
                labelLinkDecoration.Visible = false;
                linkLabel.Visible           = false;
                checkUpdate.Visible         = false;
                labelVersion.Visible        = false;
                break;
            }
        }