#ifndef RICHTEXTEDITORDIALOG_H #define RICHTEXTEDITORDIALOG_H #include "richtexteditor.h" #include #include #include #include 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 }; RichTextEditor *m_editor; QTextEdit *m_text_edit; QTabWidget *m_tab_widget; QVBoxLayout *m_main_layout; State m_state; int m_initialTab; }; #endif // RICHTEXTEDITORDIALOG_H