From 198544318a945435fea1d563c7d28b95b8fb65ac Mon Sep 17 00:00:00 2001 From: "Aaron J. Seigo" Date: Wed, 5 Dec 2007 20:26:23 +0000 Subject: [PATCH] * optional names for tools * respond to immutability constraint updates, in particular hide the add widgets toolbox button svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745246 --- containment.cpp | 17 ++++++++++++----- containment.h | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/containment.cpp b/containment.cpp index 8d7e561ee..c24dc6c63 100644 --- a/containment.cpp +++ b/containment.cpp @@ -145,8 +145,15 @@ void Containment::saveConstraints(KConfigGroup* group) const void Containment::containmentConstraintsUpdated(Plasma::Constraints constraints) { - if (d->toolbox && constraints & Plasma::ScreenConstraint) { - d->toolbox->setPos(geometry().width() - d->toolbox->boundingRect().width(), 0); + //kDebug() << "got containmentConstraintsUpdated" << constraints << (QObject*)d->toolbox; + if (d->toolbox) { + if (constraints & Plasma::ScreenConstraint) { + d->toolbox->setPos(geometry().width() - d->toolbox->boundingRect().width(), 0); + } + + if (constraints & Plasma::ImmutableConstraint) { + d->toolbox->enableTool("addwidgets", !isImmutable()); + } } } @@ -163,7 +170,7 @@ void Containment::setContainmentType(Containment::Type type) if (!d->toolbox) { Plasma::PushButton *tool = new Plasma::PushButton(i18n("Add Widgets")); tool->resize(tool->sizeHint()); - addToolBoxTool(tool); + addToolBoxTool(tool, "addwidgets"); connect(tool, SIGNAL(clicked()), this, SIGNAL(showAddWidgets())); tool = new Plasma::PushButton(i18n("Zoom In")); @@ -681,14 +688,14 @@ void Containment::emitLaunchActivated() emit launchActivated(); } -void Containment::addToolBoxTool(QGraphicsItem *tool) +void Containment::addToolBoxTool(QGraphicsItem *tool, const QString& toolName) { if (!d->toolbox) { d->toolbox = new DesktopToolbox(this); d->toolbox->setPos(geometry().width() - d->toolbox->boundingRect().width(), 0); } - d->toolbox->addTool(tool); + d->toolbox->addTool(tool, toolName); } } // Plasma namespace diff --git a/containment.h b/containment.h index 2b52e7650..bcda69f64 100644 --- a/containment.h +++ b/containment.h @@ -217,7 +217,7 @@ class PLASMA_EXPORT Containment : public Applet * Adds an item to the toolbox. The toolbox takes over ownership of the item. * TODO: add remove and accessor methods */ - void addToolBoxTool(QGraphicsItem *tool); + void addToolBoxTool(QGraphicsItem *tool, const QString &toolname = QString()); /** * @internal