#ifndef TEXTVIEWERWIDGET_H #define TEXTVIEWERWIDGET_H #include #include #include #include #include #include #include #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