[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