[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:13:47 UTC 2016


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

The following commit has been merged in the master branch:
commit 16dcf5149aa5346bc17d131a5feb7c03fc3fcab8
Author: Siddhartha Sahu <hey at siddharthasahu.in>
Date:   Thu Aug 22 15:27:17 2013 +0100

    Update context menu of presence applet when custom presence changes
    
    Add Dbus messaging when custom presence is added or removed. This updates the context menu of presence applet
    
    REVIEW: 112181
---
 dialogs/custom-presence-dialog.cpp |  6 ++++++
 presence-model.cpp                 | 28 ++++++++++++++++++++++------
 presence-model.h                   |  6 ++++++
 3 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/dialogs/custom-presence-dialog.cpp b/dialogs/custom-presence-dialog.cpp
index 11aadb9..228a57c 100644
--- a/dialogs/custom-presence-dialog.cpp
+++ b/dialogs/custom-presence-dialog.cpp
@@ -139,6 +139,9 @@ void CustomPresenceDialog::addCustomPresence()
     m_statusMessage->lineEdit()->clear();
     m_listView->setFocus();
     m_removeStatus->setEnabled(true);
+
+    m_model->syncCustomPresencesToDisk();
+    m_model->updatePresenceApplet();
 }
 
 void CustomPresenceDialog::removeCustomPresence()
@@ -153,6 +156,9 @@ void CustomPresenceDialog::removeCustomPresence()
     if (m_listView->model()->rowCount(QModelIndex()) == 0) {
         m_removeStatus->setEnabled(false);
     }
+
+    m_model->syncCustomPresencesToDisk();
+    m_model->updatePresenceApplet();
 }
 
 void CustomPresenceDialog::comboboxIndexChanged(const QString& text)
diff --git a/presence-model.cpp b/presence-model.cpp
index 72bfc3d..c6ca099 100644
--- a/presence-model.cpp
+++ b/presence-model.cpp
@@ -21,6 +21,7 @@
 #include "presence-model.h"
 
 #include <QtGui/QFont>
+#include <QtDBus/QtDBus>
 
 #include <KDE/KIcon>
 #include <KDE/KLocalizedString>
@@ -43,6 +44,13 @@ PresenceModel::PresenceModel(QObject *parent) :
 
 PresenceModel::~PresenceModel()
 {
+    syncCustomPresencesToDisk();
+}
+
+void PresenceModel::syncCustomPresencesToDisk()
+{
+    m_presenceGroup.deleteGroup();
+
     Q_FOREACH(const KTp::Presence &presence, m_presences) {
         if (!presence.statusMessage().isEmpty()) {
             QVariantList presenceVariant;
@@ -61,7 +69,7 @@ QVariant PresenceModel::data(const QModelIndex &index, int role) const
         kDebug() << "invalid index data requested" << index;
         return QVariant();
     }
-    
+
     KTp::Presence presence = m_presences[index.row()];
     switch (role) {
     case Qt::DisplayRole:
@@ -139,13 +147,12 @@ QModelIndex PresenceModel::addPresence(const KTp::Presence &presence)
     }
 
     QList<KTp::Presence>::iterator i = qLowerBound(m_presences.begin(), m_presences.end(), KTp::Presence(presence));
-
     m_presences.insert(i, presence);
+
     int index = m_presences.indexOf(presence);
     //this is technically a backwards and wrong, but I can't get a row from a const iterator, and using qLowerBound does seem a good approach
     beginInsertRows(QModelIndex(), index, index);
     endInsertRows();
-
     return createIndex(index, 0);
 }
 
@@ -156,9 +163,18 @@ void PresenceModel::removePresence(const KTp::Presence &presence)
     m_presences.removeOne(presence);
     endRemoveRows();
     QString id = QString::number(presence.type()).append(presence.statusMessage());
+}
+
+int PresenceModel::updatePresenceApplet()
+{
+    if (!QDBusConnection::sessionBus().isConnected()) {
+        return 1;
+    }
 
-    if(m_presenceGroup.keyList().contains(id)) {
-        m_presenceGroup.deleteEntry(id);
-        m_presenceGroup.sync();
+    QDBusInterface callApplet("org.kde.Telepathy.PresenceAppletActive", "/", "", QDBusConnection::sessionBus());
+    if (callApplet.isValid()) {
+        callApplet.asyncCall("handleCustomPresenceChange");
+        return 0;
     }
+    return 1;
 }
diff --git a/presence-model.h b/presence-model.h
index dcb9ccc..d85e63d 100644
--- a/presence-model.h
+++ b/presence-model.h
@@ -47,6 +47,12 @@ public:
 
     void removePresence(const KTp::Presence &presence);
 
+    //updates context menu of presence applet
+    void syncCustomPresencesToDisk();
+
+    //updates context menu of presence applet
+    int updatePresenceApplet();
+
     /** Returns the index of a given presence, adding it if needed*/
     QModelIndex indexOf(const KTp::Presence &presence);
 

-- 
ktp-contact-list packaging



More information about the pkg-kde-commits mailing list