syncthingtray/widgets/misc/textviewdialog.h
Martchus 4a42a3f0c0 Fix and refactor directory error handling
* Rely not only on the FolderErrors event
* Request pull errors when opening the dialog
* Use "pullErrors" from FolderSummary
* Move code for directory error dialog into
  its own class

This should fix that sometimes obsolete errors
were still displayed or actually present errors
missing.
2018-11-03 21:30:17 +01:00

55 lines
1.2 KiB
C++

#ifndef SYNCTHINGWIDGETS_TEXTVIEWDIALOG_H
#define SYNCTHINGWIDGETS_TEXTVIEWDIALOG_H
#include "../global.h"
#include <QWidget>
QT_FORWARD_DECLARE_CLASS(QTextBrowser)
QT_FORWARD_DECLARE_CLASS(QVBoxLayout)
namespace Data {
class SyncthingConnection;
struct SyncthingDir;
struct SyncthingLogEntry;
} // namespace Data
namespace QtGui {
class SYNCTHINGWIDGETS_EXPORT TextViewDialog : public QWidget {
Q_OBJECT
public:
TextViewDialog(const QString &title = QString(), QWidget *parent = nullptr);
QTextBrowser *browser();
QVBoxLayout *layout();
static TextViewDialog *forLogEntries(Data::SyncthingConnection &connection);
static TextViewDialog *forLogEntries(const std::vector<Data::SyncthingLogEntry> &logEntries, const QString &title = QString());
Q_SIGNALS:
void reload();
protected:
void keyPressEvent(QKeyEvent *event) override;
private:
void showLogEntries(const std::vector<Data::SyncthingLogEntry> &logEntries);
QTextBrowser *m_browser;
QVBoxLayout *m_layout;
};
inline QTextBrowser *TextViewDialog::browser()
{
return m_browser;
}
inline QVBoxLayout *TextViewDialog::layout()
{
return m_layout;
}
} // namespace QtGui
#endif // SYNCTHINGWIDGETS_TEXTVIEWDIALOG_H