[SCM] ktp-contact-list packaging branch, master, updated. debian/15.12.1-2-1070-g6c56f91
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:08:00 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=483c991
The following commit has been merged in the master branch:
commit 483c991e8d98ebdf5e48b126a11540a89c5e9fe7
Author: Martin Klapetek <martin.klapetek at gmail.com>
Date: Fri Nov 11 15:10:07 2011 +0100
Use Konversation's url detector in contact info dialog
Reviewed-by: David Edmundson
REVIEW: 103027
---
dialogs/contact-info.cpp | 26 +++++++++++++-------------
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/dialogs/contact-info.cpp b/dialogs/contact-info.cpp
index 0be1d56..9789050 100644
--- a/dialogs/contact-info.cpp
+++ b/dialogs/contact-info.cpp
@@ -28,6 +28,9 @@
#include <KProtocolInfo>
+#include "common/text-parser.h"
+#include <KDebug>
+
ContactInfo::ContactInfo(const Tp::ContactPtr &contact, QWidget *parent) :
KDialog(parent),
ui(new Ui::ContactInfo)
@@ -52,19 +55,16 @@ ContactInfo::ContactInfo(const Tp::ContactPtr &contact, QWidget *parent) :
QString presenceMessage = contact->presence().statusMessage();
- //find links in presence message
- QRegExp linkRegExp("\b(\w+)://[^
]+");
- int index = 0;
- while ((index = linkRegExp.indexIn(presenceMessage, index)) != -1) {
- QString realUrl = linkRegExp.cap(0);
- QString protocol = linkRegExp.cap(1);
- if (KProtocolInfo::protocols().contains(protocol, Qt::CaseInsensitive)) {
- QString link = "<a href='" + realUrl + "'>" + realUrl + "</a>";
- presenceMessage.replace(index, realUrl.length(), link);
- index += link.length();
- } else {
- index += realUrl.length();
- }
+ TextUrlData urls = TextParser::instance()->extractUrlData(presenceMessage);
+
+ int offset = 0;
+ for (int i = 0; i < urls.fixedUrls.size(); i++) {
+ QString originalText = presenceMessage.mid(urls.urlRanges.at(i).first + offset, urls.urlRanges.at(i).second);
+ QString link = QString("<a href='%1'>%2</a>").arg(urls.fixedUrls.at(i), originalText);
+ presenceMessage.replace(urls.urlRanges.at(i).first + offset, urls.urlRanges.at(i).second, link);
+
+ //after the first replacement is made, the original position values are not valid anymore, this adjusts them
+ offset += link.length() - originalText.length();
}
ui->presenceLabel->setTextFormat(Qt::RichText);
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list