* get rid of the paintHover, that's deprecated by kevin's hover stuff in the coronal world
* don't paint the interface of containments being shown on views that don't want a background svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737026
This commit is contained in:
parent
206b07ece1
commit
bfcc1e31e6
29
applet.cpp
29
applet.cpp
@ -55,6 +55,7 @@
|
||||
#include "plasma/shadowitem_p.h"
|
||||
#include "plasma/svg.h"
|
||||
#include "plasma/theme.h"
|
||||
#include "plasma/view.h"
|
||||
|
||||
#include "plasma/widgets/widget.h"
|
||||
#include "plasma/widgets/lineedit.h"
|
||||
@ -85,7 +86,8 @@ public:
|
||||
immutable(false),
|
||||
hasConfigurationInterface(false),
|
||||
failed(false),
|
||||
needsConfig(false)
|
||||
needsConfig(false),
|
||||
isContainment(false)
|
||||
{
|
||||
if (appletId == 0) {
|
||||
appletId = nextId();
|
||||
@ -282,11 +284,6 @@ public:
|
||||
p2->drawPixmap(leftOffset, topOffset, *cachedBackground);
|
||||
}
|
||||
|
||||
void paintHover(QPainter* , Applet* )
|
||||
{
|
||||
//TODO draw hover interface for close, configure, info and move
|
||||
}
|
||||
|
||||
QSizeF contentSize(const Applet* q)
|
||||
{
|
||||
if (scriptEngine) {
|
||||
@ -369,6 +366,7 @@ public:
|
||||
bool hasConfigurationInterface : 1;
|
||||
bool failed : 1;
|
||||
bool needsConfig : 1;
|
||||
bool isContainment : 1;
|
||||
};
|
||||
|
||||
uint Applet::Private::s_maxAppletId = 0;
|
||||
@ -798,10 +796,17 @@ void Applet::paintWidget(QPainter *painter, const QStyleOptionGraphicsItem *opti
|
||||
}
|
||||
|
||||
if (!d->failed && !d->needsConfig) {
|
||||
if (widget && isContainment()) {
|
||||
// note that the widget we get is actually the viewport of the view, not the view itself
|
||||
View* v = qobject_cast<Plasma::View*>(widget->parent());
|
||||
if (v && !v->drawWallpaper()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
paintInterface(painter, option, QRect(QPoint(0,0), d->contentSize(this).toSize()));
|
||||
}
|
||||
|
||||
d->paintHover(painter, this);
|
||||
/*} else if (fabs(zoomLevel - scalingFactor(Plasma::GroupZoom)) < std::numeric_limits<double>::epsilon()) {
|
||||
// Show Groups + Applet outline
|
||||
//TODO: make pretty.
|
||||
@ -1163,6 +1168,16 @@ void Applet::setGeometry(const QRectF& geometry)
|
||||
update();
|
||||
}
|
||||
|
||||
void Applet::setIsContainment(bool isContainment)
|
||||
{
|
||||
d->isContainment = isContainment;
|
||||
}
|
||||
|
||||
bool Applet::isContainment() const
|
||||
{
|
||||
return d->isContainment;
|
||||
}
|
||||
|
||||
void Applet::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)
|
||||
{
|
||||
//kDebug() << "context menu event!";
|
||||
|
16
applet.h
16
applet.h
@ -468,11 +468,21 @@ class PLASMA_EXPORT Applet : public Widget
|
||||
virtual QSizeF sizeHint() const;
|
||||
|
||||
/**
|
||||
* Sets the geometry of this Plasma::Applet
|
||||
* @param geometry the geometry to apply to this Plasma::Applet.
|
||||
*/
|
||||
* Sets the geometry of this Plasma::Applet
|
||||
* @param geometry the geometry to apply to this Plasma::Applet.
|
||||
*/
|
||||
void setGeometry(const QRectF &geometry);
|
||||
|
||||
/**
|
||||
* Sets whether or not this Applet is acting as a Containment
|
||||
*/
|
||||
void setIsContainment(bool isContainment);
|
||||
|
||||
/**
|
||||
* @return true if this Applet is currently being used as a Containment, false otherwise
|
||||
*/
|
||||
bool isContainment() const;
|
||||
|
||||
Q_SIGNALS:
|
||||
/**
|
||||
* Emitted when the applet needs to take (or lose) keyboard focus.
|
||||
|
Loading…
Reference in New Issue
Block a user