[SCM] ktp-contact-applet packaging branch, master, updated. debian/15.12.1-1-966-gde83ac5
Maximiliano Curia
maxy at moszumanska.debian.org
Sat May 28 00:10:48 UTC 2016
Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=11bb90b
The following commit has been merged in the master branch:
commit 11bb90b1ed5ff96d01c6331bb2effa0eea3d50e1
Author: Abner Silva <abner.silva at kdemail.net>
Date: Tue Jul 21 22:56:25 2009 +0000
Implemented changing presence support.
svn path=/trunk/playground/base/plasma/applets/presence/; revision=1000751
---
presence/src/presence.cpp | 30 ++++++++++++++++++++++++++++++
presence/src/presence.h | 4 +++-
2 files changed, 33 insertions(+), 1 deletion(-)
diff --git a/presence/src/presence.cpp b/presence/src/presence.cpp
index 6a352ed..342868d 100644
--- a/presence/src/presence.cpp
+++ b/presence/src/presence.cpp
@@ -26,6 +26,7 @@
// Plasma
#include <Plasma/Theme>
+#include <Plasma/Service>
// Kde
#include <KColorScheme>
@@ -102,6 +103,8 @@ void PresenceApplet::onSourceAdded(const QString &source)
if (!m_accounts.contains(source)) {
AccountWidget *account = new AccountWidget();
account->setId(source);
+ connect(account, SIGNAL(presenceChanged(const QString&, const QString&)),
+ this, SLOT(onPresenceChanged(const QString&, const QString&)));
m_layout->addItem(account);
m_accounts[source] = account;
m_engine->connectSource(source, this);
@@ -286,5 +289,32 @@ void PresenceApplet::setMasterStatusMessage(const QString & message)
m_masterStatusMessage = message;*/
}
+void PresenceApplet::onPresenceChanged(const QString &presence,
+ const QString &msg)
+{
+ Q_UNUSED(msg);
+
+ AccountWidget *account = static_cast<AccountWidget *>(sender());
+
+ Q_ASSERT(account);
+
+ Plasma::Service *service = m_engine->serviceForSource(account->id());
+
+ if (service != NULL) {
+ KConfigGroup op = service->operationDescription("setPresence");
+ op.writeEntry("status", presence);
+ connect(service, SIGNAL(finished(Plasma::ServiceJob *)),
+ this, SLOT(onJobCompleted()));
+ service->startOperationCall(op);
+ }
+}
+
+void PresenceApplet::onJobCompleted()
+{
+ Plasma::Service *service = static_cast<Plasma::Service *>(sender());
+
+ if (service)
+ service->deleteLater();
+}
#include "presence.moc"
diff --git a/presence/src/presence.h b/presence/src/presence.h
index cec275e..1f24c19 100644
--- a/presence/src/presence.h
+++ b/presence/src/presence.h
@@ -51,7 +51,9 @@ private Q_SLOTS:
void onSourceRemoved(const QString &source);
void dataUpdated(const QString &source,
const Plasma::DataEngine::Data &data);
- // void onItemChanged(QStandardItem *item);
+ void onPresenceChanged(const QString &presence,
+ const QString &msg);
+ void onJobCompleted();
private:
void updateMasterIcon();
--
ktp-contact-applet packaging
More information about the pkg-kde-commits
mailing list