[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