diff --git a/src/blackgui/components/textmessagecomponent.cpp b/src/blackgui/components/textmessagecomponent.cpp index ea8bdb339..f5fc6cb5b 100644 --- a/src/blackgui/components/textmessagecomponent.cpp +++ b/src/blackgui/components/textmessagecomponent.cpp @@ -236,12 +236,10 @@ namespace BlackGui const QString style = this->getStyleSheet(); for (CTextMessageTextEdit *textEdit : textEdits) { - if (textEdit->hasTextDocument()) - { - textEdit->setStyleSheetForContent(style); - } + textEdit->setStyleSheetForContent(style); } ui->comp_SettingsStyle->setStyle(this->getStyleSheet()); + this->update(); // refresh window } void CTextMessageComponent::onStyleSheetChanged() @@ -335,6 +333,7 @@ namespace BlackGui QPushButton *closeButton = new QPushButton("Close", newTab); QVBoxLayout *layout = new QVBoxLayout(newTab); CTextMessageTextEdit *textEdit = new CTextMessageTextEdit(newTab); + textEdit->setObjectName("tep_" + tabName); int marginLeft, marginRight, marginTop, marginBottom; ui->tb_TextMessagesAll->layout()->getContentsMargins(&marginLeft, &marginTop, &marginRight, &marginBottom); newTab->layout()->setContentsMargins(marginLeft, marginTop, marginRight, 2); diff --git a/src/blackgui/textmessagetextedit.cpp b/src/blackgui/textmessagetextedit.cpp index 8f4d4ec5b..f467244d8 100644 --- a/src/blackgui/textmessagetextedit.cpp +++ b/src/blackgui/textmessagetextedit.cpp @@ -28,8 +28,7 @@ namespace BlackGui { CTextMessageTextEdit::CTextMessageTextEdit(QWidget *parent) : QTextEdit(parent) { - m_textDocument = new QTextDocument(this); - this->setDocument(m_textDocument); + this->setDocument(&m_textDocument); this->setReadOnly(true); this->setWordWrap(true); @@ -72,7 +71,7 @@ namespace BlackGui m_messages.push_front(textMessage); } const QString html(toHtml(m_messages, m_withSender, m_withRecipient)); - m_textDocument->setHtml(html); + m_textDocument.setHtml(html); } int CTextMessageTextEdit::count() const @@ -88,15 +87,13 @@ namespace BlackGui void CTextMessageTextEdit::redrawHtml() { - Q_ASSERT_X(m_textDocument, Q_FUNC_INFO, "Missing text document"); const QString html(toHtml(m_messages, m_withSender, m_withRecipient)); - m_textDocument->setHtml(html); + m_textDocument.setHtml(html); } void CTextMessageTextEdit::setStyleSheetForContent(const QString &styleSheet) { - Q_ASSERT_X(m_textDocument, Q_FUNC_INFO, "Missing text document"); - m_textDocument->setDefaultStyleSheet(styleSheet); + m_textDocument.setDefaultStyleSheet(styleSheet); this->redrawHtml(); } diff --git a/src/blackgui/textmessagetextedit.h b/src/blackgui/textmessagetextedit.h index 5e7381e6c..822bd72d2 100644 --- a/src/blackgui/textmessagetextedit.h +++ b/src/blackgui/textmessagetextedit.h @@ -18,10 +18,10 @@ #include #include #include +#include class QAction; class QPoint; -class QTextDocument; namespace BlackMisc { namespace Network { class CTextMessage; } } namespace BlackGui @@ -29,6 +29,8 @@ namespace BlackGui //! Specialized text edit for displaying text messages class BLACKGUI_EXPORT CTextMessageTextEdit : public QTextEdit { + Q_OBJECT + public: //! Constructor CTextMessageTextEdit(QWidget *parent = nullptr); @@ -51,9 +53,6 @@ namespace BlackGui //! Clear void clear(); - //! Has text document - bool hasTextDocument() const { return m_textDocument; } - //! Redraw HTML void redrawHtml(); @@ -77,7 +76,7 @@ namespace BlackGui void setWordWrap(bool wordWrap); BlackMisc::Network::CTextMessageList m_messages; - QTextDocument *m_textDocument = nullptr; + QTextDocument m_textDocument; int m_keepMaxMessages = -1; //!< max number of messages to keep, or -1 to keep all messages bool m_withSender = true; bool m_withRecipient = false;