[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