[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