70 lines
1.5 KiB
C
70 lines
1.5 KiB
C
|
/**********************************************************************
|
||
|
|
||
|
Audacity: A Digital Audio Editor
|
||
|
|
||
|
ErrorReportDialog.h
|
||
|
|
||
|
Dmitry Vedenko
|
||
|
|
||
|
**********************************************************************/
|
||
|
|
||
|
#ifndef __AUDACITY_SENTRYERRORDIALOG__
|
||
|
#define __AUDACITY_SENTRYERRORDIALOG__
|
||
|
|
||
|
#include <memory>
|
||
|
|
||
|
#include <wx/defs.h>
|
||
|
#include <wx/msgdlg.h>
|
||
|
|
||
|
#include "wxPanelWrapper.h" // to inherit
|
||
|
|
||
|
namespace audacity
|
||
|
{
|
||
|
namespace sentry
|
||
|
{
|
||
|
class Report;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class wxTextCtrl;
|
||
|
|
||
|
//! A dialog, that has "Send", "Don't send" and help buttons.
|
||
|
/*! This dialog is used in place of error dialogs for Audacity errors
|
||
|
when Sentry reporting is enabled.
|
||
|
*/
|
||
|
class ErrorReportDialog final : public wxDialogWrapper
|
||
|
{
|
||
|
public:
|
||
|
ErrorReportDialog(
|
||
|
wxWindow* parent, const TranslatableString& dlogTitle,
|
||
|
const TranslatableString& message, const wxString& helpUrl,
|
||
|
const wxString& log, const bool modal = true);
|
||
|
|
||
|
~ErrorReportDialog();
|
||
|
|
||
|
private:
|
||
|
void OnSend(wxCommandEvent& event);
|
||
|
void OnDontSend(wxCommandEvent& event);
|
||
|
|
||
|
void OnHelp(wxCommandEvent& event);
|
||
|
|
||
|
std::unique_ptr<audacity::sentry::Report> mReport;
|
||
|
|
||
|
wxString mHelpUrl;
|
||
|
|
||
|
wxTextCtrl* mCommentsControl;
|
||
|
|
||
|
bool mIsModal;
|
||
|
|
||
|
DECLARE_EVENT_TABLE()
|
||
|
};
|
||
|
|
||
|
/// Displays an error dialog that allows to send the error report
|
||
|
AUDACITY_DLL_API
|
||
|
void ShowErrorReportDialog(
|
||
|
wxWindow* parent, const TranslatableString& dlogTitle,
|
||
|
const TranslatableString& message, const wxString& helpPage = {},
|
||
|
const wxString& log = {});
|
||
|
|
||
|
#endif // __AUDACITY_SENTRYERRORDIALOG__
|