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

List:       kde-commits
Subject:    KDE/kdebase/runtime/plasma/containments/newspaper
From:       Marco Martin <notmart () gmail ! com>
Date:       2010-08-31 19:43:05
Message-ID: 20100831194305.BDD9BAC857 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1170414 by mart:

embed a mobile toolbox, if installed


 M  +28 -3     appletscontainer.cpp  
 M  +2 -0      appletscontainer.h  


--- trunk/KDE/kdebase/runtime/plasma/containments/newspaper/appletscontainer.cpp \
#1170413:1170414 @@ -36,6 +36,7 @@
 
 #include <KIconLoader>
 
+#include <Plasma/AbstractToolBox>
 #include <Plasma/Applet>
 #include <Plasma/Containment>
 #include <Plasma/ScrollWidget>
@@ -54,7 +55,8 @@
    m_expandAll(false),
    m_appletsPerColumn(1),
    m_appletsPerRow(1),
-   m_viewScrollState(QAbstractAnimation::Stopped)
+   m_viewScrollState(QAbstractAnimation::Stopped),
+   m_toolBox(0)
 {
     setFlag(QGraphicsItem::ItemHasNoContents);
     m_mainLayout = new QGraphicsLinearLayout(this);
@@ -134,12 +136,27 @@
 
     QSizeF hint = sizeHint(Qt::PreferredSize, QSize());
 
+    int toolBoxSpace = 0;
     if (m_orientation == Qt::Horizontal) {
-        resize(hint.width(), qMin(size().height(), \
m_scrollWidget->viewportGeometry().height())); +        if (m_toolBox) {
+            toolBoxSpace = m_viewportSize.width()/m_appletsPerColumn;
+        }
+        resize(hint.width() + toolBoxSpace, qMin(size().height(), \
m_scrollWidget->viewportGeometry().height())); +        if (m_toolBox) {
+            m_toolBox->setPos(QPoint(size().width() - toolBoxSpace/2, \
size().height()/2) - +            QPoint(m_toolBox->size().width()/2, \
m_toolBox->size().height()/2)); +        }
     } else {
-        resize(qMin(size().width(), m_scrollWidget->viewportGeometry().width()), \
hint.height()); +        if (m_toolBox) {
+            toolBoxSpace = m_viewportSize.height()/m_appletsPerRow;
     }
+        resize(qMin(size().width(), m_scrollWidget->viewportGeometry().width()), \
hint.height() + toolBoxSpace); +        if (m_toolBox) {
+            m_toolBox->setPos(QPoint(size().width()/2, size().height() - \
toolBoxSpace/2) - +            QPoint(m_toolBox->size().width()/2, \
m_toolBox->size().height()/2));  }
+    }
+}
 
 void AppletsContainer::setExpandAll(const bool expand)
 {
@@ -384,7 +401,15 @@
 
     if (!m_containment) {
         m_containment = applet->containment();
+        if (m_containment) {
+            m_toolBox = Plasma::AbstractToolBox::load("org.kde.mobiletoolbox", \
QVariantList(), m_containment); +            m_toolBox->setParentItem(this);
+            if (m_toolBox) {
+                m_toolBox->show();
+                m_toolBox->addTool(m_containment->action("add widgets"));
     }
+        }
+    }
     if (m_orientation == Qt::Horizontal) {
          applet->setPreferredSize(-1, -1);
          applet->setPreferredWidth((m_scrollWidget->viewportGeometry().size().width()/2)-8);
                
--- trunk/KDE/kdebase/runtime/plasma/containments/newspaper/appletscontainer.h \
#1170413:1170414 @@ -31,6 +31,7 @@
 
 namespace Plasma
 {
+    class AbstractToolBox;
     class Applet;
     class Containment;
 }
@@ -119,6 +120,7 @@
     int m_appletsPerRow;
     QAbstractAnimation::State m_viewScrollState;
     QTimer *m_viewSyncTimer;
+    Plasma::AbstractToolBox *m_toolBox;
 };
 
 #endif


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

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