diff options
author | Kevin Smith <git@kismith.co.uk> | 2012-04-23 14:05:29 (GMT) |
---|---|---|
committer | Kevin Smith <git@kismith.co.uk> | 2012-04-23 14:07:15 (GMT) |
commit | aed9957d22a4fa2e64df08a0e5ddfdbf309f130a (patch) | |
tree | ee1bfdbffcdbd11ec23d3a5ed25eabd53e11c0c5 | |
parent | 18f4f0ba13bbfe901dae44e95d869ba0425e93c7 (diff) | |
download | swift-contrib-aed9957d22a4fa2e64df08a0e5ddfdbf309f130a.zip swift-contrib-aed9957d22a4fa2e64df08a0e5ddfdbf309f130a.tar.bz2 |
Stop over-enlarging nested span elements in chat windows.
Resolves: #891
-rw-r--r-- | Swift/QtUI/ChatSnippet.cpp | 4 | ||||
-rw-r--r-- | Swift/QtUI/ChatSnippet.h | 1 | ||||
-rw-r--r-- | Swift/QtUI/MessageSnippet.cpp | 6 | ||||
-rw-r--r-- | Swift/QtUI/QtChatView.cpp | 4 | ||||
-rw-r--r-- | Swift/QtUI/SystemMessageSnippet.cpp | 6 |
5 files changed, 13 insertions, 8 deletions
diff --git a/Swift/QtUI/ChatSnippet.cpp b/Swift/QtUI/ChatSnippet.cpp index 7524623..ab31d29 100644 --- a/Swift/QtUI/ChatSnippet.cpp +++ b/Swift/QtUI/ChatSnippet.cpp @@ -35,4 +35,8 @@ QString ChatSnippet::timeToEscapedString(const QDateTime& time) { return escape(time.toString(date)); } +QString ChatSnippet::wrapResizable(const QString& text) { + return "<span class='swift_resizable'>" + text + "</span>"; +} + }; diff --git a/Swift/QtUI/ChatSnippet.h b/Swift/QtUI/ChatSnippet.h index 523a96c..f79f487 100644 --- a/Swift/QtUI/ChatSnippet.h +++ b/Swift/QtUI/ChatSnippet.h @@ -41,6 +41,7 @@ namespace Swift { static QString timeToEscapedString(const QDateTime& time); protected: + QString wrapResizable(const QString& text); void setContinuationFallbackSnippet(boost::shared_ptr<ChatSnippet> continuationFallback) { continuationFallback_ = continuationFallback; } diff --git a/Swift/QtUI/MessageSnippet.cpp b/Swift/QtUI/MessageSnippet.cpp index a2e4651..7505905 100644 --- a/Swift/QtUI/MessageSnippet.cpp +++ b/Swift/QtUI/MessageSnippet.cpp @@ -32,9 +32,9 @@ MessageSnippet::MessageSnippet(const QString& message, const QString& sender, co } } - 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("%message%", wrapResizable("<span class='swift_message'>" + escape(message) + "</span><span class='swift_ack'></span><span class='swift_receipt'></span>")); + content_.replace("%sender%", wrapResizable(escape(sender))); + content_.replace("%time%", wrapResizable("<span class='swift_time'>" + timeToEscapedString(time) + "</span>")); content_.replace("%userIconPath%", escape(iconURI)); content_ = "<div id='" + id + "'>" + content_ + "</div>"; } diff --git a/Swift/QtUI/QtChatView.cpp b/Swift/QtUI/QtChatView.cpp index b0c4e09..4fa25ee 100644 --- a/Swift/QtUI/QtChatView.cpp +++ b/Swift/QtUI/QtChatView.cpp @@ -118,7 +118,7 @@ void QtChatView::addToDOM(boost::shared_ptr<ChatSnippet> snippet) { if (fontSizeSteps_ != 0) { double size = 1.0 + 0.2 * fontSizeSteps_; QString sizeString(QString().setNum(size, 'g', 3) + "em"); - const QWebElementCollection spans = lastElement_.findAll("span"); + const QWebElementCollection spans = lastElement_.findAll("span.swift_resizable"); foreach (QWebElement span, spans) { span.setStyleProperty("font-size", sizeString); } @@ -257,7 +257,7 @@ void QtChatView::resizeFont(int fontSizeSteps) { double size = 1.0 + 0.2 * fontSizeSteps_; QString sizeString(QString().setNum(size, 'g', 3) + "em"); //qDebug() << "Setting to " << sizeString; - const QWebElementCollection spans = document_.findAll("span"); + const QWebElementCollection spans = document_.findAll("span.swift_resizable"); foreach (QWebElement span, spans) { span.setStyleProperty("font-size", sizeString); } diff --git a/Swift/QtUI/SystemMessageSnippet.cpp b/Swift/QtUI/SystemMessageSnippet.cpp index 2e0aec4..c78fe36 100644 --- a/Swift/QtUI/SystemMessageSnippet.cpp +++ b/Swift/QtUI/SystemMessageSnippet.cpp @@ -16,9 +16,9 @@ SystemMessageSnippet::SystemMessageSnippet(const QString& message, const QDateTi } content_ = theme->getStatus(); - content_.replace("%message%", "<span class='swift_message'>" + escape(message) + "</span>"); - content_.replace("%shortTime%", escape(time.toString("h:mm"))); - content_.replace("%time%", "<span class='swift_time'>" + timeToEscapedString(time) + "</span>"); + 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>")); } SystemMessageSnippet::~SystemMessageSnippet() { |