[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:07:04 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=583fa13

The following commit has been merged in the master branch:
commit 583fa132db73859a60a70d17fc5562c94d05cd6b
Author: David Edmundson <kde at davidedmundson.co.uk>
Date:   Sun Jul 17 23:28:18 2011 +0100

    Improved the contact dialog.
    Clickable links in presence message
---
 dialogs/contact-info.cpp | 37 +++++++++++++++++++++++++++++++------
 dialogs/contact-info.ui  | 36 +++++++++++++++++++++++++++++++++++-
 2 files changed, 66 insertions(+), 7 deletions(-)

diff --git a/dialogs/contact-info.cpp b/dialogs/contact-info.cpp
index 8ed097c..6fce736 100644
--- a/dialogs/contact-info.cpp
+++ b/dialogs/contact-info.cpp
@@ -4,22 +4,49 @@
 #include <TelepathyQt4/AvatarData>
 #include <TelepathyQt4/Presence>
 
+#include <QtGui/QPixmap>
+
+#include <KProtocolInfo>
 
 ContactInfo::ContactInfo(Tp::ContactPtr contact, QWidget *parent) :
     KDialog(parent),
     ui(new Ui::ContactInfo)
 {
-//    QWidget* widget = new QWidget(this);
-    ui->setupUi(this);
-//    setMainWidget(widget);
+    QWidget* widget = new QWidget(this);
+    setMainWidget(widget);
+    ui->setupUi(widget);
+
+    setWindowTitle(contact->alias());
+
     setButtons(KDialog::Close);
 
+    QPixmap avatar(contact->avatarData().fileName);
+
+    ui->avatarLabel->setPixmap(avatar.scaled(ui->avatarLabel->maximumSize(), Qt::KeepAspectRatio));
+
     ui->idLabel->setText(contact->id());
     ui->nameLabel->setText(contact->alias());
 
     QString presenceMessage = contact->presence().statusMessage();
-    ui->presenceLabel->setText(presenceMessage);
 
+    //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();
+        }
+    }
+
+    ui->presenceLabel->setTextFormat(Qt::RichText);
+    ui->presenceLabel->setText(presenceMessage);
 
     QString blockedText;
     if (contact->isBlocked()) {
@@ -54,8 +81,6 @@ ContactInfo::ContactInfo(Tp::ContactPtr contact, QWidget *parent) :
         presencePublicationText = i18n("Unknown");
     }
     ui->publishStateLabel->setText(presencePublicationText);
-
-
 }
 
 ContactInfo::~ContactInfo()
diff --git a/dialogs/contact-info.ui b/dialogs/contact-info.ui
index 50038e7..ba96e7b 100644
--- a/dialogs/contact-info.ui
+++ b/dialogs/contact-info.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
  <class>ContactInfo</class>
- <widget class="QDialog" name="ContactInfo">
+ <widget class="QWidget" name="ContactInfo">
   <property name="geometry">
    <rect>
     <x>0</x>
@@ -18,6 +18,12 @@
     <layout class="QHBoxLayout" name="horizontalLayout">
      <item>
       <widget class="QLabel" name="avatarLabel">
+       <property name="maximumSize">
+        <size>
+         <width>200</width>
+         <height>200</height>
+        </size>
+       </property>
        <property name="text">
         <string>Avatar Here</string>
        </property>
@@ -34,6 +40,12 @@
        </item>
        <item>
         <widget class="QLabel" name="nameLabel">
+         <property name="minimumSize">
+          <size>
+           <width>300</width>
+           <height>0</height>
+          </size>
+         </property>
          <property name="font">
           <font>
            <weight>75</weight>
@@ -50,8 +62,30 @@
          <property name="text">
           <string>Presence String</string>
          </property>
+         <property name="textFormat">
+          <enum>Qt::RichText</enum>
+         </property>
+         <property name="wordWrap">
+          <bool>true</bool>
+         </property>
+         <property name="openExternalLinks">
+          <bool>true</bool>
+         </property>
         </widget>
        </item>
+       <item>
+        <spacer name="verticalSpacer_2">
+         <property name="orientation">
+          <enum>Qt::Vertical</enum>
+         </property>
+         <property name="sizeHint" stdset="0">
+          <size>
+           <width>20</width>
+           <height>40</height>
+          </size>
+         </property>
+        </spacer>
+       </item>
       </layout>
      </item>
     </layout>

-- 
ktp-contact-list packaging



More information about the pkg-kde-commits mailing list