[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