43 lines
854 B
C
43 lines
854 B
C
|
|
#ifndef TEXTVIEWERWIDGET_H
|
||
|
|
#define TEXTVIEWERWIDGET_H
|
||
|
|
|
||
|
|
#include <QWidget>
|
||
|
|
#include <QPlainTextEdit>
|
||
|
|
#include <QVBoxLayout>
|
||
|
|
#include <QHBoxLayout>
|
||
|
|
#include <QLabel>
|
||
|
|
#include <QSplitter>
|
||
|
|
#include <QTreeWidget>
|
||
|
|
|
||
|
|
#include "settings.h"
|
||
|
|
|
||
|
|
class TextViewerWidget : public QWidget
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
|
||
|
|
public:
|
||
|
|
explicit TextViewerWidget(QWidget *parent = nullptr);
|
||
|
|
~TextViewerWidget() = default;
|
||
|
|
|
||
|
|
void setData(const QByteArray &data, const QString &filename);
|
||
|
|
void setMetadata(const QVariantMap &metadata);
|
||
|
|
|
||
|
|
private slots:
|
||
|
|
void applyTheme(const Theme &theme);
|
||
|
|
|
||
|
|
private:
|
||
|
|
void setupSyntaxHighlighting(const QString &extension);
|
||
|
|
|
||
|
|
QByteArray mData;
|
||
|
|
QString mFilename;
|
||
|
|
|
||
|
|
QSplitter *mSplitter;
|
||
|
|
QLabel *mInfoLabel;
|
||
|
|
QPlainTextEdit *mTextEdit;
|
||
|
|
QTreeWidget *mMetadataTree;
|
||
|
|
|
||
|
|
Theme mCurrentTheme;
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // TEXTVIEWERWIDGET_H
|