[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/libs/plasmagenericshell/widgetsexplorer
From:       Aaron J. Seigo <aseigo () kde ! org>
Date:       2011-01-02 23:25:02
Message-ID: 20110102232502.9C050AC8C4 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1211032 by aseigo:

respond to updates in the model
BUG:261905


 M  +24 -5     appleticon.cpp  
 M  +3 -0      appleticon.h  


--- trunk/KDE/kdebase/workspace/libs/plasmagenericshell/widgetsexplorer/appleticon.cpp \
#1211031:1211032 @@ -25,14 +25,10 @@
 
 AppletIconWidget::AppletIconWidget(PlasmaAppletItem *appletItem)
     : AbstractIcon(0),
-      m_appletItem(appletItem),
       m_runningIcon("dialog-ok")
 {
-    if (appletItem) {
-        setName(appletItem->name());
-        setDraggable(true);
+    setAppletItem(appletItem);
     }
-}
 
 AppletIconWidget::~AppletIconWidget()
 {
@@ -45,13 +41,34 @@
 
 void AppletIconWidget::setAppletItem(PlasmaAppletItem *appletItem)
 {
+    if (m_appletItem) {
+        QStandardItemModel *model = m_appletItem.data()->model();
+        if (model) {
+            disconnect(model, 0, this, 0);
+        }
+    }
+
     m_appletItem = appletItem;
     if (appletItem) {
+        kDebug() << "Applet item!" << appletItem << appletItem->name() << \
appletItem->model();  setName(appletItem->name());
+        QStandardItemModel *model = appletItem->model();
+        if (model) {
+            connect(model, SIGNAL(itemChanged(QStandardItem*)), this, \
SLOT(itemChanged(QStandardItem*)));  }
+    }
+
+    setDraggable(appletItem);
     update();
 }
 
+void AppletIconWidget::itemChanged(QStandardItem *item)
+{
+    if (item == m_appletItem.data()) {
+        update();
+    }
+}
+
 QPixmap AppletIconWidget::pixmap(const QSize &size)
 {
     if (m_appletItem) {
@@ -91,3 +108,5 @@
 }
 
 
+#include "appleticon.moc"
+
--- trunk/KDE/kdebase/workspace/libs/plasmagenericshell/widgetsexplorer/appleticon.h \
#1211031:1211032 @@ -40,6 +40,9 @@
         QMimeData* mimeData();
         void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, \
QWidget *widget = 0);  
+    protected Q_SLOTS:
+        void itemChanged(QStandardItem *item);
+
     private:
         QWeakPointer<PlasmaAppletItem> m_appletItem;
         KIcon m_runningIcon;


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic