[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:51 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/applications/ktp-desktop-applets.git;a=commitdiff;h=6f52318

The following commit has been merged in the master branch:
commit 6f52318af3d92656ad397710d1b5feeb917a02b8
Author: Abner Silva <abner.silva at kdemail.net>
Date:   Thu Jul 30 23:48:22 2009 +0000

    Implemented initial extender support.
    
    svn path=/trunk/playground/base/plasma/applets/presence/; revision=1004813
---
 presence/src/presence.cpp | 34 +++++++++++++++++++++++++++-------
 presence/src/presence.h   | 10 ++++++++--
 2 files changed, 35 insertions(+), 9 deletions(-)

diff --git a/presence/src/presence.cpp b/presence/src/presence.cpp
index 22788d6..f2d67ed 100644
--- a/presence/src/presence.cpp
+++ b/presence/src/presence.cpp
@@ -27,6 +27,8 @@
 // Plasma
 #include <Plasma/Theme>
 #include <Plasma/Service>
+#include <Plasma/Extender>
+#include <Plasma/ExtenderItem>
 
 // Kde
 #include <KColorScheme>
@@ -52,8 +54,6 @@ PresenceApplet::PresenceApplet(QObject *parent, const QVariantList &args)
     setPassivePopup(false);
 
     setPopupIcon("user-offline");
-
-    (void) graphicsWidget();
 }
 
 PresenceApplet::~PresenceApplet()
@@ -70,6 +70,13 @@ void PresenceApplet::init()
             KColorScheme::View,
             Plasma::Theme::defaultTheme()->colorScheme());
 
+    // Create a new extender item for accounts
+    if (!extender()->hasItem("Accounts")) {
+        ExtenderItem *item = new ExtenderItem(extender());
+        item->setName("Accounts");
+        initExtenderItem(item);
+    }
+
     // Set up the data engine
     m_engine = dataEngine("presence");
 
@@ -85,17 +92,19 @@ void PresenceApplet::init()
             SLOT(onSourceRemoved(const QString &)));
 }
 
-QGraphicsWidget *PresenceApplet::graphicsWidget()
+void PresenceApplet::initExtenderItem(Plasma::ExtenderItem *item)
 {
-    if (!m_widget) {
-        m_widget = new QGraphicsWidget(this);
+    // Set up user accounts
+    if (item->name() == "Accounts") {
+        m_widget = new QGraphicsWidget(item);
         m_layout = new QGraphicsLinearLayout(Qt::Vertical, m_widget);
         m_layout->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
         m_widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
         m_widget->setLayout (m_layout);
-    }
 
-    return m_widget;
+        item->setWidget(m_widget);
+        item->setTitle(i18n("User accounts"));
+    }
 }
 
 void PresenceApplet::onSourceAdded(const QString &source)
@@ -112,6 +121,7 @@ void PresenceApplet::onSourceAdded(const QString &source)
         m_layout->addItem(account);
 
         updateConstraints();
+        updateSize();
     }
 }
 
@@ -127,6 +137,7 @@ void PresenceApplet::onSourceRemoved(const QString &source)
         m_engine->disconnectSource(source, this);
 
         updateConstraints();
+        updateSize();
     }
 }
 
@@ -321,5 +332,14 @@ void PresenceApplet::onJobCompleted()
     if (service)
         service->deleteLater();
 }
+
+void PresenceApplet::updateSize()
+{
+    ExtenderItem *item = extender()->item("Accounts");
+
+    item->setMinimumSize(m_widget->minimumSize());
+    item->resize(m_widget->contentsRect().size().toSize());
+    item->adjustSize();
+}
 #include "presence.moc"
 
diff --git a/presence/src/presence.h b/presence/src/presence.h
index 1f24c19..d28b08b 100644
--- a/presence/src/presence.h
+++ b/presence/src/presence.h
@@ -31,6 +31,10 @@
 #include <plasma/popupapplet.h>
 #include <plasma/dataengine.h>
 
+namespace Plasma {
+    class ExtenderItem;
+}
+
 class KColorScheme;
 
 class AccountWidget;
@@ -44,8 +48,6 @@ public:
     ~PresenceApplet();
     void init();
 
-    QGraphicsWidget *graphicsWidget();
-
 private Q_SLOTS:
     void onSourceAdded(const QString &source);
     void onSourceRemoved(const QString &source);
@@ -55,10 +57,14 @@ private Q_SLOTS:
             const QString &msg);
     void onJobCompleted();
 
+protected:
+    void initExtenderItem(Plasma::ExtenderItem *item);
+
 private:
     void updateMasterIcon();
     void setMasterStatusMessage(const QString &message);
     void updateMasterPresence();
+    void updateSize();
 
     Plasma::DataEngine *m_engine;
     QGraphicsWidget *m_widget;

-- 
ktp-contact-applet packaging



More information about the pkg-kde-commits mailing list