void ESURegistration::setCurrentMessage(const QString &message)
{
    if( d->currentMessage != message ) {
        d->currentMessage = message;
        Q_EMIT currentMessageChanged();
    }
}
示例#2
0
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);
}