43 lines
957 B
C++
43 lines
957 B
C++
#ifndef RICHTEXTEDITORDIALOG_H
|
|
#define RICHTEXTEDITORDIALOG_H
|
|
|
|
#include "richtexteditor.h"
|
|
|
|
#include <QDialog>
|
|
#include <QTextEdit>
|
|
#include <QTabWidget>
|
|
#include <QVBoxLayout>
|
|
|
|
class RichTextEditorDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit RichTextEditorDialog(QWidget *parent = nullptr);
|
|
~RichTextEditorDialog();
|
|
|
|
int showDialog();
|
|
void setDefaultFont(const QFont &font);
|
|
void setText(const QString &text);
|
|
QString text(Qt::TextFormat format = Qt::AutoText) const;
|
|
|
|
private Q_SLOTS:
|
|
void tabIndexChanged(int newIndex);
|
|
void richTextChanged();
|
|
void sourceChanged();
|
|
|
|
private:
|
|
enum TabIndex { RichTextIndex, SourceIndex };
|
|
enum State { Clean, RichTextChanged, SourceChanged };
|
|
QTabWidget *m_tab_widget;
|
|
State m_state;
|
|
int m_initialTab;
|
|
|
|
protected:
|
|
RichTextEditor *m_editor;
|
|
QTextEdit *m_text_edit;
|
|
QVBoxLayout *m_main_layout;
|
|
};
|
|
|
|
#endif // RICHTEXTEDITORDIALOG_H
|