From kde-commits Wed Aug 05 15:20:42 2009 From: Abner Silva Date: Wed, 05 Aug 2009 15:20:42 +0000 To: kde-commits Subject: playground/base/plasma/applets/presence Message-Id: <1249485642.276417.23740.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=124948652625177 SVN commit 1007347 by abnerf: Now listening to global presence signals. M +19 -0 presence.cpp M +2 -0 presence.h --- trunk/playground/base/plasma/applets/presence/presence.cpp #1007346:1007347 @@ -114,6 +114,13 @@ m_globalWidget->setLayout (m_globalLayout); m_global = new GlobalPresenceWidget(this); + + // Listening for global changes + connect(m_global, SIGNAL(presenceStatusChanged(const QString&)), + this, SLOT(onGlobalPresenceStatusChanged(const QString&))); + connect(m_global, SIGNAL(presenceMessageChanged(const QString&)), + this, SLOT(onGlobalPresenceMessageChanged(const QString&))); + m_globalLayout->addItem(m_global); item->setWidget(m_globalWidget); item->setTitle(i18n("Global Presence")); @@ -349,6 +356,18 @@ service->deleteLater(); } +void PresenceApplet::onGlobalPresenceStatusChanged(const QString &status) +{ + foreach (AccountWidget *account, m_accounts.values()) + setSourcePresence(account->id(), status, account->presenceMessage()); +} + +void PresenceApplet::onGlobalPresenceMessageChanged(const QString &msg) +{ + foreach (AccountWidget *account, m_accounts.values()) + setSourcePresence(account->id(), account->presenceStatus(), msg); +} + void PresenceApplet::updateSize() { ExtenderItem *item = extender()->item("Accounts"); --- trunk/playground/base/plasma/applets/presence/presence.h #1007346:1007347 @@ -57,6 +57,8 @@ void onPresenceChanged(const QString &presence, const QString &msg); void onJobCompleted(); + void onGlobalPresenceStatusChanged(const QString &status); + void onGlobalPresenceMessageChanged(const QString &msg); protected: void initExtenderItem(Plasma::ExtenderItem *item);