2017-08-20 01:20:47 +02:00
|
|
|
#ifndef SYNCTHINGWIDGETS_ERRORVIEWDIALOG_H
|
|
|
|
#define SYNCTHINGWIDGETS_ERRORVIEWDIALOG_H
|
|
|
|
|
|
|
|
#include "./internalerror.h"
|
|
|
|
#include "./textviewdialog.h"
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
QT_FORWARD_DECLARE_CLASS(QLabel)
|
|
|
|
|
|
|
|
namespace QtGui {
|
|
|
|
|
|
|
|
class SYNCTHINGWIDGETS_EXPORT ErrorViewDialog : public TextViewDialog {
|
|
|
|
Q_OBJECT
|
|
|
|
public:
|
|
|
|
~ErrorViewDialog();
|
|
|
|
static ErrorViewDialog *instance();
|
|
|
|
static void addError(InternalError &&newError);
|
|
|
|
|
2017-09-05 00:24:52 +02:00
|
|
|
Q_SIGNALS:
|
|
|
|
void errorsCleared();
|
|
|
|
|
2017-08-20 01:20:47 +02:00
|
|
|
public Q_SLOTS:
|
|
|
|
static void showInstance();
|
|
|
|
static void clearErrors();
|
|
|
|
|
|
|
|
private Q_SLOTS:
|
|
|
|
void internalAddError(const InternalError &error);
|
|
|
|
void updateStatusLabel();
|
|
|
|
|
|
|
|
private:
|
|
|
|
ErrorViewDialog();
|
|
|
|
|
|
|
|
const QString m_request;
|
|
|
|
const QString m_response;
|
|
|
|
QLabel *const m_statusLabel;
|
|
|
|
static ErrorViewDialog *s_instance;
|
|
|
|
static std::vector<InternalError> s_internalErrors;
|
|
|
|
};
|
|
|
|
|
|
|
|
inline ErrorViewDialog *ErrorViewDialog::instance()
|
|
|
|
{
|
|
|
|
return s_instance ? s_instance : (s_instance = new ErrorViewDialog);
|
|
|
|
}
|
|
|
|
|
|
|
|
inline void ErrorViewDialog::showInstance()
|
|
|
|
{
|
|
|
|
instance()->show();
|
|
|
|
}
|
2017-09-17 21:48:15 +02:00
|
|
|
} // namespace QtGui
|
2017-08-20 01:20:47 +02:00
|
|
|
|
|
|
|
#endif // SYNCTHINGWIDGETS_ERRORVIEWDIALOG_H
|