[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kde-workspace/KDE/4.9] plasma/generic/applets/notifications/ui: fix html tag handling in notificati
From: Martin Koller <kollix () aon ! at>
Date: 2012-08-03 11:41:35
Message-ID: 20120803114135.00A02A6094 () git ! kde ! org
[Download RAW message or body]
Git commit d057abca241d950df8dd264041e9ad70c8f65528 by Martin Koller.
Committed on 03/08/2012 at 13:37.
Pushed by mkoller into branch 'KDE/4.9'.
fix html tag handling in notification message
BUG: 302890
M +6 -3 plasma/generic/applets/notifications/ui/notificationwidget.cpp
http://commits.kde.org/kde-workspace/d057abca241d950df8dd264041e9ad70c8f65528
diff --git a/plasma/generic/applets/notifications/ui/notificationwidget.cpp \
b/plasma/generic/applets/notifications/ui/notificationwidget.cpp index \
880f1e4..02ed38f 100644
--- a/plasma/generic/applets/notifications/ui/notificationwidget.cpp
+++ b/plasma/generic/applets/notifications/ui/notificationwidget.cpp
@@ -328,7 +328,7 @@ void NotificationWidgetPrivate::setTextFields(const QString \
&applicationName, QString processed = message.trimmed();
/*if there is a < that is not closed as a tag, replace it with an entity*/
- processed = processed.replace(QRegExp("<([^>]*($|<))"), "<\\1");
+ processed = processed.replace(QRegExp("<(?![^<]*>)"), "<");
processed.replace('\n', "<br>");
QFontMetricsF fm(messageLabel->font());
@@ -353,10 +353,13 @@ void NotificationWidgetPrivate::setTextFields(const QString \
&applicationName, word.append(c);
} else if (c == '>') {
word.append(c);
+ if (!sentence.isEmpty()) {
+ parsed.append(fm.elidedText(sentence, Qt::ElideRight, maxLine*4.6));
+ sentence.clear();
+ }
inTag = false;
parsed.append(word);
word = QString();
- sentence = QString();
} else if (c == ' ') {
word.append(c);
if (inTag) {
@@ -375,7 +378,7 @@ void NotificationWidgetPrivate::setTextFields(const QString \
&applicationName, sentence.append(word);
parsed.append(fm.elidedText(sentence, Qt::ElideRight, maxLine*4.6));
- messageLabel->setText(parsed);
+ messageLabel->setText(QLatin1String("<html>") + parsed + \
QLatin1String("</html>"));
if (!collapsed) {
icon->setGeometry(bigIconRect());
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic