示例#1
0
void QwcNewsWidget::addNewsItem(const QString &nickname, QDateTime time, const QString &text,
                                bool insertAtTop)
{
    QString messageText = text.trimmed();
    messageText = Qt::escape(messageText);
    messageText = QwcMessageStyle::replaceEmoticons(messageText, m_emoticonsEnabled);
    messageText.replace("\n", "<br>");

    QString newItem = QString("<div class=\"news_item\">"
                              "<span class=\"news_header\">From %1 (%2):</span>"
                              "<span class=\"news_body\">%3</span></div>")
                      .arg(Qt::escape(nickname))
                      .arg(Qt::escape(time.toString()))
                      .arg(messageText);

    QWebElement mainElement = newsView->page()->mainFrame()->findFirstElement("#news_items");
    if (insertAtTop) {
        mainElement.prependInside(newItem);
    } else {
        mainElement.appendInside(newItem);
    }

    m_newsCounter++;
    fNewsStatus->setText(tr("%1 news article(s)").arg(m_newsCounter));
}