Ref T369, fixed findChildren by adding Q_OBJECT macro

https://swift-project.slack.com/archives/G7GD2UP9C/p1537898045000100
This commit is contained in:
Klaus Basan
2018-09-25 21:11:34 +02:00
parent df3fb1f1a8
commit b9ae33d126
3 changed files with 11 additions and 16 deletions

View File

@@ -235,13 +235,11 @@ namespace BlackGui
QList<CTextMessageTextEdit *> textEdits = this->findAllTextEdit(); QList<CTextMessageTextEdit *> textEdits = this->findAllTextEdit();
const QString style = this->getStyleSheet(); const QString style = this->getStyleSheet();
for (CTextMessageTextEdit *textEdit : textEdits) for (CTextMessageTextEdit *textEdit : textEdits)
{
if (textEdit->hasTextDocument())
{ {
textEdit->setStyleSheetForContent(style); textEdit->setStyleSheetForContent(style);
} }
}
ui->comp_SettingsStyle->setStyle(this->getStyleSheet()); ui->comp_SettingsStyle->setStyle(this->getStyleSheet());
this->update(); // refresh window
} }
void CTextMessageComponent::onStyleSheetChanged() void CTextMessageComponent::onStyleSheetChanged()
@@ -335,6 +333,7 @@ namespace BlackGui
QPushButton *closeButton = new QPushButton("Close", newTab); QPushButton *closeButton = new QPushButton("Close", newTab);
QVBoxLayout *layout = new QVBoxLayout(newTab); QVBoxLayout *layout = new QVBoxLayout(newTab);
CTextMessageTextEdit *textEdit = new CTextMessageTextEdit(newTab); CTextMessageTextEdit *textEdit = new CTextMessageTextEdit(newTab);
textEdit->setObjectName("tep_" + tabName);
int marginLeft, marginRight, marginTop, marginBottom; int marginLeft, marginRight, marginTop, marginBottom;
ui->tb_TextMessagesAll->layout()->getContentsMargins(&marginLeft, &marginTop, &marginRight, &marginBottom); ui->tb_TextMessagesAll->layout()->getContentsMargins(&marginLeft, &marginTop, &marginRight, &marginBottom);
newTab->layout()->setContentsMargins(marginLeft, marginTop, marginRight, 2); newTab->layout()->setContentsMargins(marginLeft, marginTop, marginRight, 2);

View File

@@ -28,8 +28,7 @@ namespace BlackGui
{ {
CTextMessageTextEdit::CTextMessageTextEdit(QWidget *parent) : QTextEdit(parent) CTextMessageTextEdit::CTextMessageTextEdit(QWidget *parent) : QTextEdit(parent)
{ {
m_textDocument = new QTextDocument(this); this->setDocument(&m_textDocument);
this->setDocument(m_textDocument);
this->setReadOnly(true); this->setReadOnly(true);
this->setWordWrap(true); this->setWordWrap(true);
@@ -72,7 +71,7 @@ namespace BlackGui
m_messages.push_front(textMessage); m_messages.push_front(textMessage);
} }
const QString html(toHtml(m_messages, m_withSender, m_withRecipient)); const QString html(toHtml(m_messages, m_withSender, m_withRecipient));
m_textDocument->setHtml(html); m_textDocument.setHtml(html);
} }
int CTextMessageTextEdit::count() const int CTextMessageTextEdit::count() const
@@ -88,15 +87,13 @@ namespace BlackGui
void CTextMessageTextEdit::redrawHtml() void CTextMessageTextEdit::redrawHtml()
{ {
Q_ASSERT_X(m_textDocument, Q_FUNC_INFO, "Missing text document");
const QString html(toHtml(m_messages, m_withSender, m_withRecipient)); const QString html(toHtml(m_messages, m_withSender, m_withRecipient));
m_textDocument->setHtml(html); m_textDocument.setHtml(html);
} }
void CTextMessageTextEdit::setStyleSheetForContent(const QString &styleSheet) 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(); this->redrawHtml();
} }

View File

@@ -18,10 +18,10 @@
#include <QObject> #include <QObject>
#include <QString> #include <QString>
#include <QTextEdit> #include <QTextEdit>
#include <QTextDocument>
class QAction; class QAction;
class QPoint; class QPoint;
class QTextDocument;
namespace BlackMisc { namespace Network { class CTextMessage; } } namespace BlackMisc { namespace Network { class CTextMessage; } }
namespace BlackGui namespace BlackGui
@@ -29,6 +29,8 @@ namespace BlackGui
//! Specialized text edit for displaying text messages //! Specialized text edit for displaying text messages
class BLACKGUI_EXPORT CTextMessageTextEdit : public QTextEdit class BLACKGUI_EXPORT CTextMessageTextEdit : public QTextEdit
{ {
Q_OBJECT
public: public:
//! Constructor //! Constructor
CTextMessageTextEdit(QWidget *parent = nullptr); CTextMessageTextEdit(QWidget *parent = nullptr);
@@ -51,9 +53,6 @@ namespace BlackGui
//! Clear //! Clear
void clear(); void clear();
//! Has text document
bool hasTextDocument() const { return m_textDocument; }
//! Redraw HTML //! Redraw HTML
void redrawHtml(); void redrawHtml();
@@ -77,7 +76,7 @@ namespace BlackGui
void setWordWrap(bool wordWrap); void setWordWrap(bool wordWrap);
BlackMisc::Network::CTextMessageList m_messages; 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 int m_keepMaxMessages = -1; //!< max number of messages to keep, or -1 to keep all messages
bool m_withSender = true; bool m_withSender = true;
bool m_withRecipient = false; bool m_withRecipient = false;