/// <summary> /// Initialize the view model with release notes, remind me later, /// and skip button being visible by default. /// </summary> public UpdateAvailableWindowViewModel() { _updates = new List <AppCastItem>(); _areReleaseNotesVisible = true; _isRemindMeLaterVisible = true; _isSkipVisible = true; _userResponse = UpdateAvailableResult.None; }
/// <summary> /// The user responded to the update check with a given response /// </summary> /// <param name="response">How the user responded to the update (e.g. install the update, remind me later)</param> public void UserRespondedToUpdateCheck(UpdateAvailableResult response) { if (!_wasResponseSent) { _wasResponseSent = true; UserResponded?.Invoke(this, new UpdateResponseEventArgs(_dataContext?.UserResponse ?? UpdateAvailableResult.None, CurrentItem)); } }
void SendResponse(UpdateAvailableResult response) { _cancellationTokenSource?.Cancel(); _didSendResponse = true; UserResponded?.Invoke(this, new UpdateResponseEventArgs(response, CurrentItem)); }
/// <summary> /// Constructor for UpdateResponseArgs that allows for easy setting /// of the result /// </summary> /// <param name="result">User's response of type UpdateAvailableResult</param> /// <param name="item">Item that the user is responding to an update message for</param> public UpdateResponseEventArgs(UpdateAvailableResult result, AppCastItem item) : base() { Result = result; UpdateItem = item; }