Error message box now closes submission form for server communication errors as well.

This commit is contained in:
Jamie Greunbaum 2023-03-25 01:10:52 -04:00
parent 4f3236e51e
commit 5667a99105
3 changed files with 11 additions and 10 deletions

Binary file not shown.

View File

@ -138,18 +138,21 @@ void UBugSubmissionForm::SetMarkerData(ABugMarkerActor *BugMarker)
void UBugSubmissionForm::ShowProcessingOverlayLoading() void UBugSubmissionForm::ShowProcessingOverlayLoading()
{ {
this->ProcessingRequestErrorText->SetText(FText::AsCultureInvariant(""));
this->ProcessingRequestOverlay->SetVisibility(ESlateVisibility::Visible); this->ProcessingRequestOverlay->SetVisibility(ESlateVisibility::Visible);
this->ProcessingRequestThrobber->SetVisibility(ESlateVisibility::Visible); this->ProcessingRequestThrobber->SetVisibility(ESlateVisibility::Visible);
this->ProcessingRequestErrorBox->SetVisibility(ESlateVisibility::Collapsed); this->ProcessingRequestErrorBox->SetVisibility(ESlateVisibility::Collapsed);
} }
void UBugSubmissionForm::ShowProcessingOverlayMessage(const FString Message) void UBugSubmissionForm::ShowProcessingOverlayMessage(const FString Message, const bool bExitAfterConfirm)
{ {
this->ProcessingRequestErrorText->SetText(FText::AsCultureInvariant(Message)); this->ProcessingRequestErrorText->SetText(FText::AsCultureInvariant(Message));
this->ProcessingRequestOverlay->SetVisibility(ESlateVisibility::Visible); this->ProcessingRequestOverlay->SetVisibility(ESlateVisibility::Visible);
this->ProcessingRequestThrobber->SetVisibility(ESlateVisibility::Collapsed); this->ProcessingRequestThrobber->SetVisibility(ESlateVisibility::Collapsed);
this->ProcessingRequestErrorBox->SetVisibility(ESlateVisibility::Visible); this->ProcessingRequestErrorBox->SetVisibility(ESlateVisibility::Visible);
if (bExitAfterConfirm)
{
this->ProcessingRequestErrorButton->OnClicked().AddUObject(this, &UBugSubmissionForm::CancelForm);
}
} }
void UBugSubmissionForm::HideProcessingOverlay() void UBugSubmissionForm::HideProcessingOverlay()
{ {
@ -319,11 +322,9 @@ void UBugSubmissionForm::ServerProductInfoResponse(FHttpRequestPtr Request, FHtt
} }
else else
{ {
this->ProcessingRequestErrorButton->OnClicked().AddUObject(this, &UBugSubmissionForm::CancelForm);
FStringFormatOrderedArguments Args; FStringFormatOrderedArguments Args;
Args.Add(FStringFormatArg(GetDefault<UUnrealzillaGlobalSettings>()->ProductName)); Args.Add(FStringFormatArg(GetDefault<UUnrealzillaGlobalSettings>()->ProductName));
this->ShowProcessingOverlayMessage(FString::Format(TEXT("Could not find data for a product called {0}"), Args)); this->ShowProcessingOverlayMessage(FString::Format(TEXT("Could not find data for a product called {0}"), Args), true);
} }
} }
} }
@ -473,15 +474,15 @@ void UBugSubmissionForm::ServerConnectionError(const EHttpRequestStatus::Type St
{ {
switch (Status) { switch (Status) {
case EHttpRequestStatus::Failed_ConnectionError: case EHttpRequestStatus::Failed_ConnectionError:
this->ShowProcessingOverlayMessage("Unable to connect to the server"); this->ShowProcessingOverlayMessage("Unable to connect to the server", true);
break; break;
case EHttpRequestStatus::NotStarted: case EHttpRequestStatus::NotStarted:
this->ShowProcessingOverlayMessage("Connection could not start"); this->ShowProcessingOverlayMessage("Connection could not start", true);
break; break;
case EHttpRequestStatus::Failed: case EHttpRequestStatus::Failed:
this->ShowProcessingOverlayMessage("Connection failed"); this->ShowProcessingOverlayMessage("Connection failed", true);
break; break;
default: default:
this->ShowProcessingOverlayMessage("Request failed for unknown reasons"); this->ShowProcessingOverlayMessage("Request failed for unknown reasons", true);
} }
} }

View File

@ -307,7 +307,7 @@ private:
UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable)
void ShowProcessingOverlayLoading(); void ShowProcessingOverlayLoading();
UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable)
void ShowProcessingOverlayMessage(const FString Message); void ShowProcessingOverlayMessage(const FString Message, const bool bExitAfterConfirm = false);
UFUNCTION(BlueprintCallable) UFUNCTION(BlueprintCallable)
void HideProcessingOverlay(); void HideProcessingOverlay();