[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: playground/base/plasma/applets/presence
From: Abner Silva <abner.silva () kdemail ! net>
Date: 2009-08-03 14:49:58
Message-ID: 1249310998.812339.10025.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1006355 by abnerf:
Using the new global presence widget.
M +2 -1 CMakeLists.txt
M +28 -3 presence.cpp
M +4 -0 presence.h
--- trunk/playground/base/plasma/applets/presence/CMakeLists.txt #1006354:1006355
@@ -15,7 +15,8 @@
presence.cpp
accountimage.cpp
accountwidget.cpp
- presencewidget.cpp)
+ presencewidget.cpp
+ globalpresencewidget.cpp)
kde4_add_plugin(plasma_applet_presence ${presence_SRCS})
target_link_libraries(plasma_applet_presence
--- trunk/playground/base/plasma/applets/presence/presence.cpp #1006354:1006355
@@ -23,6 +23,7 @@
// Own
#include "presence.h"
#include "accountwidget.h"
+#include "globalpresencewidget.h"
// Plasma
#include <Plasma/Theme>
@@ -45,7 +46,10 @@
m_engine(0),
m_widget(0),
m_layout(0),
- m_colorScheme(0)
+ m_colorScheme(0),
+ m_global(0),
+ m_globalWidget(0),
+ m_globalLayout(0)
{
KGlobal::locale()->insertCatalog("plasma_applet_presence");
setBackgroundHints(StandardBackground);
@@ -70,6 +74,13 @@
KColorScheme::View,
Plasma::Theme::defaultTheme()->colorScheme());
+ // Create a new extender item for global presence
+ if (!extender()->hasItem("Global")) {
+ ExtenderItem *item = new ExtenderItem(extender());
+ item->setName("Global");
+ initExtenderItem(item);
+ }
+
// Create a new extender item for accounts
if (!extender()->hasItem("Accounts")) {
ExtenderItem *item = new ExtenderItem(extender());
@@ -94,6 +105,20 @@
void PresenceApplet::initExtenderItem(Plasma::ExtenderItem *item)
{
+ // Set up global presence
+ if (item->name() == "Global") {
+ m_globalWidget = new QGraphicsWidget(item);
+ m_globalLayout = new QGraphicsLinearLayout(Qt::Vertical, m_globalWidget);
+ m_globalLayout->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ m_globalWidget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+ m_globalWidget->setLayout (m_globalLayout);
+
+ m_global = new GlobalPresenceWidget(this);
+ m_globalLayout->addItem(m_global);
+ item->setWidget(m_globalWidget);
+ item->setTitle(i18n("Global Presence"));
+ }
+
// Set up user accounts
if (item->name() == "Accounts") {
m_widget = new QGraphicsWidget(item);
@@ -103,7 +128,7 @@
m_widget->setLayout (m_layout);
item->setWidget(m_widget);
- item->setTitle(i18n("User accounts"));
+ item->setTitle(i18n("User Accounts"));
}
}
@@ -112,7 +137,7 @@
kDebug() << "PresenceApplet::onSourceAdded: source:" << source;
if (!m_accounts.contains(source)) {
- AccountWidget *account = new AccountWidget();
+ AccountWidget *account = new AccountWidget(this);
account->setId(source);
connect(account, SIGNAL(presenceChanged(const QString&, const QString&)),
this, SLOT(onPresenceChanged(const QString&, const QString&)));
--- trunk/playground/base/plasma/applets/presence/presence.h #1006354:1006355
@@ -38,6 +38,7 @@
class KColorScheme;
class AccountWidget;
+class GlobalPresenceWidget;
class PresenceApplet : public Plasma::PopupApplet
{
@@ -71,6 +72,9 @@
QGraphicsLinearLayout *m_layout;
KColorScheme *m_colorScheme;
QHash<QString, AccountWidget*> m_accounts;
+ GlobalPresenceWidget *m_global;
+ QGraphicsWidget *m_globalWidget;
+ QGraphicsLinearLayout *m_globalLayout;
};
K_EXPORT_PLASMA_APPLET(presence, PresenceApplet)
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic