summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Smith <git@kismith.co.uk>2012-04-23 14:05:29 (GMT)
committerKevin Smith <git@kismith.co.uk>2012-04-23 14:07:15 (GMT)
commitaed9957d22a4fa2e64df08a0e5ddfdbf309f130a (patch)
treeee1bfdbffcdbd11ec23d3a5ed25eabd53e11c0c5 /Swift/QtUI
parent18f4f0ba13bbfe901dae44e95d869ba0425e93c7 (diff)
downloadswift-aed9957d22a4fa2e64df08a0e5ddfdbf309f130a.zip
swift-aed9957d22a4fa2e64df08a0e5ddfdbf309f130a.tar.bz2
Stop over-enlarging nested span elements in chat windows.
Resolves: #891
Diffstat (limited to 'Swift/QtUI')
-rw-r--r--Swift/QtUI/ChatSnippet.cpp4
-rw-r--r--Swift/QtUI/ChatSnippet.h1
-rw-r--r--Swift/QtUI/MessageSnippet.cpp6
-rw-r--r--Swift/QtUI/QtChatView.cpp4
-rw-r--r--Swift/QtUI/SystemMessageSnippet.cpp6
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() {