You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Fix an issue where FCrashReportClient would not call its dtor due to being held by SCrashReportClient #jira UE-75354 #codereview Arciel.Rekman #review-7663795 @Arciel.Rekman #rb Arciel.Rekman [CL 7675363 by Brandon Schaefer in 4.23 branch]
61 lines
1.4 KiB
C++
61 lines
1.4 KiB
C++
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CrashReportClient.h"
|
|
|
|
#if !CRASH_REPORT_UNATTENDED_ONLY
|
|
|
|
#include "Widgets/SCompoundWidget.h"
|
|
#include "Widgets/DeclarativeSyntaxSupport.h"
|
|
#include "Widgets/Input/SMultiLineEditableTextBox.h"
|
|
|
|
/**
|
|
* UI for the crash report client app
|
|
*/
|
|
class SCrashReportClient : public SCompoundWidget
|
|
{
|
|
public:
|
|
/**
|
|
* Slate arguments
|
|
*/
|
|
SLATE_BEGIN_ARGS(SCrashReportClient)
|
|
{
|
|
}
|
|
|
|
SLATE_END_ARGS()
|
|
|
|
/**
|
|
* Construct this Slate ui
|
|
* @param InArgs Slate arguments, not used
|
|
* @param Client Crash report client implementation object
|
|
*/
|
|
void Construct(const FArguments& InArgs, const TSharedRef<FCrashReportClient>& Client);
|
|
|
|
private:
|
|
/**
|
|
* Keyboard short-cut handler
|
|
* @param InKeyEvent Which key was released, and which auxiliary keys were pressed
|
|
* @return Whether the event was handled
|
|
*/
|
|
FReply OnUnhandledKeyDown(const FKeyEvent& InKeyEvent);
|
|
|
|
/** Called if the multi line widget text changes */
|
|
void OnUserCommentTextChanged(const FText& NewText);
|
|
|
|
/** Whether the hint text should be visible. */
|
|
EVisibility IsHintTextVisible() const;
|
|
|
|
/** Whether the send buttons are enabled. */
|
|
bool IsSendEnabled() const;
|
|
|
|
/** Crash report client implementation object */
|
|
TSharedPtr<FCrashReportClient> CrashReportClient;
|
|
|
|
TSharedPtr<SMultiLineEditableTextBox> CrashDetailsInformation;
|
|
|
|
bool bHasUserCommentErrors;
|
|
};
|
|
|
|
#endif // !CRASH_REPORT_UNATTENDED_ONLY
|