Exemplo n.º 1
0
        public void SetUpdateNotification(object sender, EventArgs widgetEvent)
        {
            switch (UpdateControlData.Instance.UpdateStatus)
            {
            case UpdateControlData.UpdateStatusStates.MayBeAvailable:
            {
                popUpAboutPage.RemoveAllChildren();
                Button updateStatusMessage = linkButtonFactory.Generate("Check For Update".Localize());
                updateStatusMessage.Click += (sender2, e) =>
                {
                    UiThread.RunOnIdle(CheckForUpdateWindow.Show);
                };
                popUpAboutPage.AddChild(updateStatusMessage);
                popUpAboutPage.Visible = true;
            }
            break;

            case UpdateControlData.UpdateStatusStates.ReadyToInstall:
            case UpdateControlData.UpdateStatusStates.UpdateAvailable:
            case UpdateControlData.UpdateStatusStates.UpdateDownloading:
            {
                popUpAboutPage.RemoveAllChildren();
                Button updateStatusMessage = linkButtonFactory.Generate("Update Available".Localize());
                updateStatusMessage.Click += (sender2, e) =>
                {
                    UiThread.RunOnIdle(CheckForUpdateWindow.Show);
                };
                var updateMark = new UpdateNotificationMark();
                updateMark.Margin  = new BorderDouble(0, 0, 3, 2);
                updateMark.VAnchor = VAnchor.ParentTop;
                popUpAboutPage.AddChild(updateMark);
                popUpAboutPage.AddChild(updateStatusMessage);
                popUpAboutPage.Visible = true;
            }
            break;

            case UpdateControlData.UpdateStatusStates.UpToDate:
                if (AlwaysShowUpdateStatus)
                {
                    popUpAboutPage.RemoveAllChildren();
                    TextWidget updateStatusMessage = new TextWidget("Up to Date".Localize(), textColor: linkButtonFactory.textColor, pointSize: linkButtonFactory.fontSize);
                    updateStatusMessage.VAnchor = VAnchor.ParentCenter;
                    popUpAboutPage.AddChild(updateStatusMessage);
                    popUpAboutPage.Visible = true;

                    UiThread.RunOnIdle((state) => popUpAboutPage.Visible = false, 3);
                    AlwaysShowUpdateStatus = false;
                }
                else
                {
                    popUpAboutPage.Visible = false;
                }
                break;

            case UpdateControlData.UpdateStatusStates.CheckingForUpdate:
                if (AlwaysShowUpdateStatus)
                {
                    popUpAboutPage.RemoveAllChildren();
                    TextWidget updateStatusMessage = new TextWidget("Checking For Update...".Localize(), textColor: linkButtonFactory.textColor, pointSize: linkButtonFactory.fontSize);
                    updateStatusMessage.VAnchor = VAnchor.ParentCenter;
                    popUpAboutPage.AddChild(updateStatusMessage);
                    popUpAboutPage.Visible = true;
                }
                else
                {
                    popUpAboutPage.Visible = false;
                }
                break;

            default:
                throw new NotImplementedException();
            }
        }
Exemplo n.º 2
0
		public void SetUpdateNotification(object sender, EventArgs widgetEvent)
		{
			switch (UpdateControlData.Instance.UpdateStatus)
			{
				case UpdateControlData.UpdateStatusStates.MayBeAvailable:
					{
						popUpAboutPage.RemoveAllChildren();
						Button updateStatusMessage = linkButtonFactory.Generate("Check For Update".Localize());
						updateStatusMessage.Click += (sender2, e) =>
						{
							UiThread.RunOnIdle(CheckForUpdateWindow.Show);
						};
						popUpAboutPage.AddChild(updateStatusMessage);
						popUpAboutPage.Visible = true;
					}
					break;

				case UpdateControlData.UpdateStatusStates.ReadyToInstall:
				case UpdateControlData.UpdateStatusStates.UpdateAvailable:
				case UpdateControlData.UpdateStatusStates.UpdateDownloading:
					{
						popUpAboutPage.RemoveAllChildren();
						Button updateStatusMessage = linkButtonFactory.Generate("Update Available".Localize());
						updateStatusMessage.Click += (sender2, e) =>
						{
                            UiThread.RunOnIdle(CheckForUpdateWindow.Show);
						};
						var updateMark = new UpdateNotificationMark();
						updateMark.Margin = new BorderDouble(0, 0, 3, 2);
						updateMark.VAnchor = VAnchor.ParentTop;
						popUpAboutPage.AddChild(updateMark);
						popUpAboutPage.AddChild(updateStatusMessage);
						popUpAboutPage.Visible = true;
					}
					break;

				case UpdateControlData.UpdateStatusStates.UpToDate:
					if (AlwaysShowUpdateStatus)
					{
						popUpAboutPage.RemoveAllChildren();
						TextWidget updateStatusMessage = new TextWidget("Up to Date".Localize(), textColor: linkButtonFactory.textColor, pointSize: linkButtonFactory.fontSize);
						updateStatusMessage.VAnchor = VAnchor.ParentCenter;
						popUpAboutPage.AddChild(updateStatusMessage);
						popUpAboutPage.Visible = true;

						UiThread.RunOnIdle((state) => popUpAboutPage.Visible = false, 3);
						AlwaysShowUpdateStatus = false;
					}
					else
					{
						popUpAboutPage.Visible = false;
					}
					break;

				case UpdateControlData.UpdateStatusStates.CheckingForUpdate:
					if (AlwaysShowUpdateStatus)
					{
						popUpAboutPage.RemoveAllChildren();
						TextWidget updateStatusMessage = new TextWidget("Checking For Update...".Localize(), textColor: linkButtonFactory.textColor, pointSize: linkButtonFactory.fontSize);
						updateStatusMessage.VAnchor = VAnchor.ParentCenter;
						popUpAboutPage.AddChild(updateStatusMessage);
						popUpAboutPage.Visible = true;
					}
					else
					{
						popUpAboutPage.Visible = false;
					}
					break;

				default:
					throw new NotImplementedException();
			}
		}