[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