Class sh::ui::qt::QtExceptionDialog

class sh::ui::qt::QtExceptionDialog : public sh::ui::qt::QtDialog, public sh::ui::ExceptionDialog

Qt based exception dialog.

Public Functions

QtExceptionDialog(QString error1, QString error2, QString details, QString icon, bool mayRetry, bool mayClose, bool mayCancel, bool showLoglabelAndDetails)
~QtExceptionDialog()
ExceptionDialogResult answer() override

Returns the answer the user has given in this dialog.

QString error1()

Returns the 1st error text.

QString error2()

Returns the 2nd error text.

QString details()

Returns the error details.

QString icon()

Returns the icon (as name resolveable by sh::base::IconManager).

bool mayRetry()

Returns if it’s allowed to retry.

bool mayClose()

Returns if it’s allowed to just close and continue without closing Shallot.

bool mayCancel()

Returns if it’s allowed to cancel, i.e. throwing a sh::exceptions::CancelException.

bool showLoglabelAndDetails()

Returns if the dialog shall allow to read the details.

qint64 dialogId()

Returns the dialog id.

Each instance has an id unique in the complete Shallot process lifetime.

Must be called in main thread.

bool isInited()

Returns if this dialog is initialized.

Must be called in main thread.

bool wasAccepted()

Returns if this dialog was ‘accepted’ by the user (typically by clicking some ‘OK’ button).

Must be called in main thread.

void waitClosed()

Wait until the user closed the dialog in some way.

May be called in any thread.

void close()

Closes the dialog.

Must be called in main thread.

bool wasClosed()

Returns if this dialog was closed.

Must be called in main thread.

DialogManager *manager()

Returns the DialogManager which hosts this dialog.

Private Members

Ui::QtExceptionDialog *ui
ExceptionDialogResult _answer = ExceptionDialogResult::Shutdown

Private Slots

void on_btnExit_clicked()
void on_btnClose_clicked()
void on_btnCancel_clicked()
void on_btnRetry_clicked()
void on_btnShowLog_clicked()
void on_btnExitAndSaveLog_clicked()
void on_btnShowDetails_toggled(bool checked)