[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:03 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-contact-list.git;a=commitdiff;h=b9e3b87
The following commit has been merged in the master branch:
commit b9e3b877839a069cbbaaa71da58a4eb9d24a36eb
Author: David Edmundson <kde at davidedmundson.co.uk>
Date: Sat Jun 25 00:29:25 2011 +0100
Hooked contact Info dialog into context menu.
Display user info.
---
CMakeLists.txt | 2 +
dialogs/contact-info.cpp | 54 ++++++++++++-
dialogs/contact-info.h | 8 +-
dialogs/contact-info.ui | 205 +++++++++++++++++++++++++----------------------
main-widget.cpp | 46 ++++++++---
main-widget.h | 2 +
6 files changed, 205 insertions(+), 112 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a94fcda..de2827f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,7 @@ set (contactlist_SRCS
dialogs/add-contact-dialog.cpp
dialogs/join-chat-room-dialog.cpp
dialogs/remove-contact-dialog.cpp
+ dialogs/contact-info.cpp
models/accounts-filter-model.cpp
models/contact-model-item.cpp
models/accounts-model-item.cpp
@@ -50,6 +51,7 @@ kde4_add_ui_files (contactlist_SRCS
dialogs/add-contact-dialog.ui
dialogs/join-chat-room-dialog.ui
dialogs/remove-contact-dialog.ui
+ dialogs/contact-info.ui
)
add_subdirectory (icons)
diff --git a/dialogs/contact-info.cpp b/dialogs/contact-info.cpp
index 6916d37..8ed097c 100644
--- a/dialogs/contact-info.cpp
+++ b/dialogs/contact-info.cpp
@@ -1,11 +1,61 @@
#include "contact-info.h"
#include "ui_contact-info.h"
-ContactInfo::ContactInfo(QWidget *parent) :
- QDialog(parent),
+#include <TelepathyQt4/AvatarData>
+#include <TelepathyQt4/Presence>
+
+
+ContactInfo::ContactInfo(Tp::ContactPtr contact, QWidget *parent) :
+ KDialog(parent),
ui(new Ui::ContactInfo)
{
+// QWidget* widget = new QWidget(this);
ui->setupUi(this);
+// setMainWidget(widget);
+ setButtons(KDialog::Close);
+
+ ui->idLabel->setText(contact->id());
+ ui->nameLabel->setText(contact->alias());
+
+ QString presenceMessage = contact->presence().statusMessage();
+ ui->presenceLabel->setText(presenceMessage);
+
+
+ QString blockedText;
+ if (contact->isBlocked()) {
+ blockedText = i18n("Yes");
+ }
+ else {
+ blockedText = i18n("No");
+ }
+ ui->blockedLabel->setText(blockedText);
+
+ QString presenceSubscriptionText;
+ if (contact->subscriptionState() == Tp::Contact::PresenceStateYes) {
+ presenceSubscriptionText = i18n("Yes");
+ }
+ else if (contact->subscriptionState() == Tp::Contact::PresenceStateNo){
+ presenceSubscriptionText = i18n("No");
+ }
+ else {
+ presenceSubscriptionText = i18n("Unknown");
+ }
+ ui->subscriptionStateLabel->setText(presenceSubscriptionText);
+
+
+ QString presencePublicationText;
+ if (contact->publishState() == Tp::Contact::PresenceStateYes) {
+ presencePublicationText = i18n("Yes");
+ }
+ else if (contact->publishState() == Tp::Contact::PresenceStateNo){
+ presencePublicationText = i18n("No");
+ }
+ else {
+ presencePublicationText = i18n("Unknown");
+ }
+ ui->publishStateLabel->setText(presencePublicationText);
+
+
}
ContactInfo::~ContactInfo()
diff --git a/dialogs/contact-info.h b/dialogs/contact-info.h
index 4fdaaaf..dbe0b05 100644
--- a/dialogs/contact-info.h
+++ b/dialogs/contact-info.h
@@ -1,18 +1,20 @@
#ifndef CONTACTINFO_H
#define CONTACTINFO_H
-#include <QDialog>
+#include <KDialog>
+#include <TelepathyQt4/Contact>
+
namespace Ui {
class ContactInfo;
}
-class ContactInfo : public QDialog
+class ContactInfo : public KDialog
{
Q_OBJECT
public:
- explicit ContactInfo(QWidget *parent = 0);
+ explicit ContactInfo(Tp::ContactPtr contact, QWidget *parent = 0);
~ContactInfo();
private:
diff --git a/dialogs/contact-info.ui b/dialogs/contact-info.ui
index aef1f6a..50038e7 100644
--- a/dialogs/contact-info.ui
+++ b/dialogs/contact-info.ui
@@ -6,114 +6,123 @@
<rect>
<x>0</x>
<y>0</y>
- <width>400</width>
+ <width>523</width>
<height>300</height>
</rect>
</property>
<property name="windowTitle">
<string>Dialog</string>
</property>
- <layout class="QFormLayout" name="formLayout">
- <property name="fieldGrowthPolicy">
- <enum>QFormLayout::ExpandingFieldsGrow</enum>
- </property>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="text">
- <string>Contact ID:</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QLabel" name="label_9">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="avatarLabel">
+ <property name="text">
+ <string>Avatar Here</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="idLabel">
+ <property name="text">
+ <string>ContactID</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="nameLabel">
+ <property name="font">
+ <font>
+ <weight>75</weight>
+ <bold>true</bold>
+ </font>
+ </property>
+ <property name="text">
+ <string>Contact Display Name</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="presenceLabel">
+ <property name="text">
+ <string>Presence String</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Display Name:</string>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
- <item row="1" column="1">
- <widget class="QLabel" name="label_10">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0">
- <widget class="QLabel" name="label_19">
- <property name="text">
- <string>Presence:</string>
- </property>
- </widget>
- </item>
- <item row="2" column="1">
- <widget class="QLabel" name="label_20">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QLabel" name="label_18">
- <property name="text">
- <string>Status Message:</string>
- </property>
- </widget>
- </item>
- <item row="3" column="1">
- <widget class="QLabel" name="label_11">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_3">
- <property name="text">
- <string>Publish State:</string>
- </property>
- </widget>
- </item>
- <item row="4" column="1">
- <widget class="QLabel" name="label_12">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="5" column="0">
- <widget class="QLabel" name="label_5">
- <property name="text">
- <string>Subscription State:</string>
- </property>
- </widget>
- </item>
- <item row="5" column="1">
- <widget class="QLabel" name="label_13">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
- </item>
- <item row="6" column="0">
- <widget class="QLabel" name="label_4">
- <property name="text">
- <string>Blocked:</string>
- </property>
- </widget>
- </item>
- <item row="6" column="1">
- <widget class="QLabel" name="label_14">
- <property name="text">
- <string>TextLabel</string>
- </property>
- </widget>
+ <item>
+ <layout class="QFormLayout" name="formLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Publish State
+(can see when you are online):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QLabel" name="publishStateLabel">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QLabel" name="label_5">
+ <property name="text">
+ <string>Subscription State
+(you can see when they are online):</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QLabel" name="subscriptionStateLabel">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Blocked:</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLabel" name="blockedLabel">
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <spacer name="verticalSpacer">
+ <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>
</widget>
diff --git a/main-widget.cpp b/main-widget.cpp
index 20995f6..b08eb6d 100644
--- a/main-widget.cpp
+++ b/main-widget.cpp
@@ -62,6 +62,8 @@
#include "dialogs/add-contact-dialog.h"
#include "dialogs/join-chat-room-dialog.h"
#include "dialogs/remove-contact-dialog.h"
+#include "dialogs/contact-info.h"
+
#include "models/groups-model.h"
#include "models/contact-model-item.h"
@@ -837,15 +839,21 @@ void MainWidget::onCustomContextMenuRequested(const QPoint &pos)
//menu->addSeparator();
// TODO: Remove when Telepathy actually supports blocking.
- /*if (contact->isBlocked()) {
- action = menu->addAction(i18n("Unblock User"));
- connect(action, SIGNAL(triggered(bool)),
- SLOT(slotUnblockContactTriggered()));
- } else {
- action = menu->addAction(i18n("Blocked"));
- connect(action, SIGNAL(triggered(bool)),
- SLOT(slotBlockContactTriggered()));
- }*/
+// if (contact->isBlocked()) {
+// action = menu->addAction(i18n("Unblock User"));
+// connect(action, SIGNAL(triggered(bool)),
+// SLOT(slotUnblockContactTriggered()));
+// } else {
+// action = menu->addAction(i18n("Block"));
+// connect(action, SIGNAL(triggered(bool)),
+// SLOT(slotBlockContactTriggered()));
+// }
+
+ menu->addSeparator();
+
+ action = menu->addAction(i18n("Show Info..."));
+ action->setIcon(KIcon(""));
+ connect(action, SIGNAL(triggered()), SLOT(slotShowInfo()));
menu->exec(QCursor::pos());
}
@@ -930,6 +938,26 @@ void MainWidget::slotGenericOperationFinished(Tp::PendingOperation* operation)
}
}
+void MainWidget::slotShowInfo()
+{
+ QModelIndex index = m_contactsListView->currentIndex();
+ if (!index.isValid()) {
+ kDebug() << "Invalid index provided.";
+ return;
+ }
+
+ ContactModelItem* item = index.data(AccountsModel::ItemRole).value<ContactModelItem*>();
+ if (item) {
+ showInfo(item);
+ }
+}
+
+void MainWidget::showInfo(ContactModelItem *contactItem)
+{
+ ContactInfo contactInfoDialog(contactItem->contact(), this);
+ contactInfoDialog.exec();
+}
+
void MainWidget::slotStartTextChat()
{
QModelIndex index = m_contactsListView->currentIndex();
diff --git a/main-widget.h b/main-widget.h
index 6fd3e8b..961d04b 100644
--- a/main-widget.h
+++ b/main-widget.h
@@ -91,6 +91,7 @@ public Q_SLOTS:
void selectAvatarFromAccount(const QString &accountUID);
void selectAvatarFromAccount();
void loadAvatarFromFile();
+ void showInfo(ContactModelItem *contactItem);
void startTextChannel(ContactModelItem *contactItem);
void startFileTransferChannel(ContactModelItem *contactItem);
void startAudioChannel(ContactModelItem *contactItem);
@@ -105,6 +106,7 @@ private Q_SLOTS:
void slotBlockContactTriggered();
void slotDeleteContact();
void slotGenericOperationFinished(Tp::PendingOperation *operation); /** called when a Tp::PendingOperation finishes. Used to check for errors */
+ void slotShowInfo();
void slotStartTextChat();
void slotStartAudioChat();
void slotStartVideoChat();
--
ktp-contact-list packaging
More information about the pkg-kde-commits
mailing list