Add an opacity attribute. GUI portion coming later
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=793581
This commit is contained in:
parent
88ffba62e0
commit
ef0c0375c3
23
applet.cpp
23
applet.cpp
@ -116,7 +116,8 @@ public:
|
|||||||
hasConfigurationInterface(false),
|
hasConfigurationInterface(false),
|
||||||
failed(false),
|
failed(false),
|
||||||
isContainment(false),
|
isContainment(false),
|
||||||
square(false)
|
square(false),
|
||||||
|
opacity(1.0)
|
||||||
{
|
{
|
||||||
if (appletId == 0) {
|
if (appletId == 0) {
|
||||||
appletId = ++s_maxAppletId;
|
appletId = ++s_maxAppletId;
|
||||||
@ -331,6 +332,7 @@ public:
|
|||||||
bool failed : 1;
|
bool failed : 1;
|
||||||
bool isContainment : 1;
|
bool isContainment : 1;
|
||||||
bool square : 1;
|
bool square : 1;
|
||||||
|
qreal opacity;
|
||||||
};
|
};
|
||||||
|
|
||||||
uint Applet::Private::s_maxAppletId = 0;
|
uint Applet::Private::s_maxAppletId = 0;
|
||||||
@ -398,6 +400,7 @@ void Applet::save(KConfigGroup* group) const
|
|||||||
//kDebug() << pluginName() << "geometry is" << geometry() << "pos is" << pos() << "bounding rect is" << boundingRect();
|
//kDebug() << pluginName() << "geometry is" << geometry() << "pos is" << pos() << "bounding rect is" << boundingRect();
|
||||||
group->writeEntry("geometry", geometry());
|
group->writeEntry("geometry", geometry());
|
||||||
group->writeEntry("zvalue", zValue());
|
group->writeEntry("zvalue", zValue());
|
||||||
|
group->writeEntry("opacity", d->opacity);
|
||||||
|
|
||||||
if (transform() == QTransform()) {
|
if (transform() == QTransform()) {
|
||||||
group->deleteEntry("transform");
|
group->deleteEntry("transform");
|
||||||
@ -435,6 +438,8 @@ void Applet::restore(KConfigGroup *c)
|
|||||||
if (c->readEntry("locked", false)) {
|
if (c->readEntry("locked", false)) {
|
||||||
setImmutable(true);
|
setImmutable(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setOpacity(c->readEntry("opacity", 1.0));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Applet::saveState(KConfigGroup* group) const
|
void Applet::saveState(KConfigGroup* group) const
|
||||||
@ -933,6 +938,12 @@ void Applet::paintWidget(QPainter *painter, const QStyleOptionGraphicsItem *opti
|
|||||||
}
|
}
|
||||||
|
|
||||||
painter->save();
|
painter->save();
|
||||||
|
|
||||||
|
//Set opacity
|
||||||
|
if (d->opacity >= 0.1 && d->opacity <= 0.9) {
|
||||||
|
painter->setOpacity(d->opacity);
|
||||||
|
}
|
||||||
|
|
||||||
if (transform().isRotating()) {
|
if (transform().isRotating()) {
|
||||||
painter->setRenderHint(QPainter::SmoothPixmapTransform);
|
painter->setRenderHint(QPainter::SmoothPixmapTransform);
|
||||||
painter->setRenderHint(QPainter::Antialiasing);
|
painter->setRenderHint(QPainter::Antialiasing);
|
||||||
@ -1595,6 +1606,16 @@ void Applet::themeChanged()
|
|||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Applet::setOpacity( qreal opacity )
|
||||||
|
{
|
||||||
|
d->opacity = opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
qreal Applet::opacity() const
|
||||||
|
{
|
||||||
|
return d->opacity;
|
||||||
|
}
|
||||||
|
|
||||||
} // Plasma namespace
|
} // Plasma namespace
|
||||||
|
|
||||||
#include "applet.moc"
|
#include "applet.moc"
|
||||||
|
11
applet.h
11
applet.h
@ -628,6 +628,17 @@ class PLASMA_EXPORT Applet : public Widget
|
|||||||
**/
|
**/
|
||||||
Containment* containment() const;
|
Containment* containment() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the opacity of this Plasma::Applet
|
||||||
|
* @param opacity the new opacity
|
||||||
|
*/
|
||||||
|
void setOpacity( qreal opacity );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return opacity of this Applet
|
||||||
|
**/
|
||||||
|
qreal opacity() const;
|
||||||
|
|
||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
/**
|
/**
|
||||||
* Emitted when the applet needs to take (or lose) keyboard focus.
|
* Emitted when the applet needs to take (or lose) keyboard focus.
|
||||||
|
Loading…
Reference in New Issue
Block a user