Beispiel #1
0
MessageSnippet::MessageSnippet(const QString& message, const QString& sender, const QDateTime& time, const QString& iconURI, bool isIncoming, bool appendToPrevious, QtChatTheme* theme, const QString& id) : ChatSnippet(appendToPrevious) {
    if (appendToPrevious) {
        setContinuationFallbackSnippet(boost::shared_ptr<ChatSnippet>(new MessageSnippet(message, sender, time, iconURI, isIncoming, false, theme, id)));
    }
    if (isIncoming) {
        if (appendToPrevious) {
            content_ = theme->getIncomingNextContent();
        }
        else {
            content_ = theme->getIncomingContent();
        }
    }
    else {
        if (appendToPrevious) {
            content_ = theme->getOutgoingNextContent();
        }
        else {
            content_ = theme->getOutgoingContent();
        }
    }

    content_.replace("%message%", "<span class='swift_message'>" + escape(message) + "</span><span class='swift_ack'></span><span class='swift_receipt'></span>");
    content_.replace("%sender%", escape(sender));
    content_.replace("%time%", "<span class='swift_time'>" + timeToEscapedString(time) + "</span>");
    content_.replace("%userIconPath%", escape(iconURI));
    content_ = "<div id='" + id + "'>" + content_ + "</div>";
}
SystemMessageSnippet::SystemMessageSnippet(const QString& message, const QDateTime& time, bool appendToPrevious, QtChatTheme* theme, const QString& id, Direction direction) : ChatSnippet(appendToPrevious) {
	if (appendToPrevious) {
		setContinuationFallbackSnippet(boost::shared_ptr<ChatSnippet>(new SystemMessageSnippet(message, time, false, theme, id, direction)));
	}
	content_ = theme->getStatus();

	content_.replace("%direction%", directionToCSS(direction));
	content_.replace("%message%", wrapResizable("<span class='swift_message'>" + escape(message) + "</span>"));
	content_.replace("%shortTime%", wrapResizable(escape(time.toString("h:mm"))));
	content_.replace("%time%", wrapResizable("<span class='swift_time'>" + timeToEscapedString(time) + "</span>"));
	content_ = QString("<div id='%1'>%2</div>").arg(id).arg(content_);
}