void ESURegistration::setCurrentMessage(const QString &message) { if( d->currentMessage != message ) { d->currentMessage = message; Q_EMIT currentMessageChanged(); } }
void MessageViewWidget::messageSelected(ForumMessage *msg) { displayedMessage = msg; disconnect(this, SLOT(currentMessageDeleted())); if (!msg) { webView.page()->setNetworkAccessManager(&nullNam); webView.load(QUrl("qrc:/data/blankmessage/index.html")); } else { connect(msg, SIGNAL(destroyed()), this, SLOT(currentMessageDeleted())); if(msg->thread()->group()->subscription()->updateEngine()) { QNetworkAccessManager *nam = msg->thread()->group()->subscription()->updateEngine()->networkAccessManager(); if(webView.page()->networkAccessManager()!=nam) { webView.page()->setNetworkAccessManager(nam); // Crashes?? } } QString bodyToShow = msg->body(); if(sourceView) { bodyToShow = "<div class=\"monospace\">" + msg->toString() + ":<br />" + MessageFormatting::replaceCharacters(bodyToShow) + "</div>"; bodyToShow.replace("\n", "<br />"); } QString styleHtml = " <style type=\"text/css\">#siilihai-header {" "color: white;" "margin: 3px;" "padding: 3px 3%;" "background: url(\"qrc:/data/blankmessage/small_gradient.png\") 0% 0% repeat-x;" "}" "div.monospace { font-family: \"Fixed\",\"monospace\"; }" "div.quotecontent { background: #EEEEEE; margin: 5px; }" "div.quote { background: #EEEEEE; margin: 5px; }" "blockquote { background: #EEEEEE; margin: 5px; }" "td.quote { background: #EEEEEE; margin: 5px; }" "</style>"; QString author = msg->author(); QString lastchange = msg->lastchange(); QString headerHtml = "<div id=\"siilihai-header\">" + MessageFormatting::sanitize(author) + ", " + MessageFormatting::sanitize(lastchange) + ":</div>"; QString html = "<html><head><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=UTF-8\">" + styleHtml + "</head><body>" + headerHtml + bodyToShow + "</body>"; QString baseUrl = msg->url(); int i = baseUrl.lastIndexOf('/'); if (i > 0) { baseUrl = baseUrl.left(i + 1); } webView.setContent(html.toUtf8(), QString("text/html"), QUrl(baseUrl)); msg->setRead(true); } emit currentMessageChanged(msg); }