remove geometry functions from Applet

size, size hints, transform and zValue
This commit is contained in:
Marco Martin 2012-11-09 16:45:03 +01:00
parent b828bcb578
commit b8ebd78cbc
9 changed files with 2 additions and 282 deletions

View File

@ -222,25 +222,10 @@ void Applet::save(KConfigGroup &g) const
group.writeEntry("immutability", (int)d->immutability); group.writeEntry("immutability", (int)d->immutability);
group.writeEntry("plugin", pluginName()); group.writeEntry("plugin", pluginName());
group.writeEntry("geometry", geometry());
group.writeEntry("zvalue", zValue());
if (!d->started) { if (!d->started) {
return; return;
} }
//kDebug() << pluginName() << "geometry is" << geometry()
// << "pos is" << pos() << "bounding rect is" << boundingRect();
if (transform() == QTransform()) {
group.deleteEntry("transform");
} else {
QList<qreal> m;
QTransform t = transform();
m << t.m11() << t.m12() << t.m13() << t.m21() << t.m22() << t.m23() << t.m31() << t.m32() << t.m33();
group.writeEntry("transform", m);
//group.writeEntry("transform", transformToString(transform()));
}
KConfigGroup appletConfigGroup(&group, "Configuration"); KConfigGroup appletConfigGroup(&group, "Configuration");
saveState(appletConfigGroup); saveState(appletConfigGroup);
@ -255,29 +240,9 @@ void Applet::save(KConfigGroup &g) const
void Applet::restore(KConfigGroup &group) void Applet::restore(KConfigGroup &group)
{ {
QList<qreal> m = group.readEntry("transform", QList<qreal>());
if (m.count() == 9) {
QTransform t(m[0], m[1], m[2], m[3], m[4], m[5], m[6], m[7], m[8]);
setTransform(t);
}
qreal z = group.readEntry("zvalue", 0);
if (z >= AppletPrivate::s_maxZValue) {
AppletPrivate::s_maxZValue = z;
}
if (z > 0) {
setZValue(z);
}
setImmutability((ImmutabilityType)group.readEntry("immutability", (int)Mutable)); setImmutability((ImmutabilityType)group.readEntry("immutability", (int)Mutable));
QRectF geom = group.readEntry("geometry", QRectF());
if (geom.isValid()) {
setGeometry(geom);
}
KConfigGroup shortcutConfig(&group, "Shortcuts"); KConfigGroup shortcutConfig(&group, "Shortcuts");
QString shortcutText = shortcutConfig.readEntryUntranslated("global", QString()); QString shortcutText = shortcutConfig.readEntryUntranslated("global", QString());
if (!shortcutText.isEmpty()) { if (!shortcutText.isEmpty()) {
@ -360,66 +325,6 @@ KConfigGroup Applet::globalConfig() const
return KConfigGroup(&globalAppletConfig, d->globalName()); return KConfigGroup(&globalAppletConfig, d->globalName());
} }
QSizeF Applet::size() const
{
return QSizeF();
}
QRectF Applet::geometry() const
{
return QRectF();
}
void Applet::setGeometry(const QRectF &rect)
{
}
QRectF Applet::boundingRect() const
{
return QRectF();
}
void Applet::resize(const QSizeF &size)
{
}
int Applet::zValue() const
{
return 0;
}
void Applet::setZValue(int val)
{
}
QTransform Applet::transform() const
{
return QTransform();
}
void Applet::setTransform(const QTransform &transform)
{
}
QPointF Applet::pos() const
{
return QPointF();
}
void Applet::setPos(const QPointF &pos)
{
}
void Applet::setPos(int x, int y)
{
}
bool Applet::hasFocus() const bool Applet::hasFocus() const
{ {
return false; return false;
@ -430,17 +335,6 @@ void Applet::setFocus(Qt::FocusReason)
} }
void Applet::setSizePolicy(const QSizePolicy& policy)
{
}
QSizePolicy Applet::sizePolicy() const
{
return QSizePolicy();
}
void Applet::destroy() void Applet::destroy()
{ {
if (immutability() != Mutable || d->transient || !d->started) { if (immutability() != Mutable || d->transient || !d->started) {
@ -783,40 +677,6 @@ void Applet::flushPendingConstraintsEvents()
if (c & Plasma::FormFactorConstraint) { if (c & Plasma::FormFactorConstraint) {
FormFactor f = formFactor(); FormFactor f = formFactor();
// avoid putting rotated applets in panels
if (f == Vertical || f == Horizontal) {
QTransform at;
at.rotateRadians(0);
setTransform(at);
}
//was a size saved for a particular form factor?
if (d->sizeForFormFactor.contains(f)) {
resize(d->sizeForFormFactor.value(f));
}
}
if (!size().isEmpty() &&
((c & Plasma::StartupCompletedConstraint) || (c & Plasma::SizeConstraint && !(c & Plasma::FormFactorConstraint)))) {
d->sizeForFormFactor[formFactor()] = size();
}
if (c & Plasma::SizeConstraint || c & Plasma::FormFactorConstraint) {
if (aspectRatioMode() == Plasma::Square || aspectRatioMode() == Plasma::ConstrainedSquare) {
// enforce square size in panels
//save the old size policy. since ignored doesn't (yet) have a valid use case in containments, use it as special unset value
if (d->preferredSizePolicy == QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored)) {
d->preferredSizePolicy = sizePolicy();
}
if (formFactor() == Horizontal) {
setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding));
} else if (formFactor() == Vertical) {
setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed));
} else if (d->preferredSizePolicy != QSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored)) {
setSizePolicy(d->preferredSizePolicy);
}
}
} }
// now take care of constraints in special subclasses: Contaiment and PopupApplet // now take care of constraints in special subclasses: Contaiment and PopupApplet
@ -874,25 +734,6 @@ FormFactor Applet::formFactor() const
parentApplet = qobject_cast<Plasma::Applet *>(pw); parentApplet = qobject_cast<Plasma::Applet *>(pw);
} }
//FIXME: port away popupapplet
//const PopupApplet *pa = dynamic_cast<const PopupApplet *>(this);
//if the applet is in a widget that isn't a containment
//try to retrieve the formFactor from the parent size
//we can't use our own sizeHint here because it needs formFactor, so endless recursion.
// a popupapplet can always be constrained.
// a normal applet should to but
//FIXME: not always constrained to not break systemmonitor
if (parentApplet && parentApplet != c && c != this) {
if (parentApplet->size().height() < sizeHint(Qt::MinimumSize).height()) {
return Plasma::Horizontal;
} else if (parentApplet->size().width() < sizeHint(Qt::MinimumSize).width()) {
return Plasma::Vertical;
}
return parentApplet->formFactor();
}
return c ? c->d->formFactor : Plasma::Planar; return c ? c->d->formFactor : Plasma::Planar;
} }
@ -1381,40 +1222,6 @@ Applet *Applet::loadPlasmoid(const QString &path, uint appletId, const QVariantL
return 0; return 0;
} }
QSizeF Applet::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const
{
QSizeF hint(-1, -1);
const FormFactor ff = formFactor();
// in panels make sure that the contents won't exit from the panel
if (which == Qt::MinimumSize) {
if (ff == Horizontal) {
hint.setHeight(0);
} else if (ff == Vertical) {
hint.setWidth(0);
}
}
// enforce a square size in panels
if (d->aspectRatioMode == Plasma::Square) {
if (ff == Horizontal) {
hint.setWidth(size().height());
} else if (ff == Vertical) {
hint.setHeight(size().width());
}
} else if (d->aspectRatioMode == Plasma::ConstrainedSquare) {
//enforce a size not wider than tall
if (ff == Horizontal) {
hint.setWidth(size().height());
//enforce a size not taller than wide
} else if (ff == Vertical && (which == Qt::MaximumSize || size().width() <= KIconLoader::SizeLarge)) {
hint.setHeight(size().width());
}
}
return hint;
}
void Applet::timerEvent(QTimerEvent *event) void Applet::timerEvent(QTimerEvent *event)
{ {
if (d->transient) { if (d->transient) {
@ -1443,16 +1250,6 @@ void Applet::timerEvent(QTimerEvent *event)
} }
} }
void Applet::raise()
{
setZValue(++AppletPrivate::s_maxZValue);
}
void Applet::lower()
{
setZValue(--AppletPrivate::s_minZValue);
}
bool Applet::isContainment() const bool Applet::isContainment() const
{ {
return d->isContainment; return d->isContainment;

View File

@ -78,7 +78,6 @@ class PLASMA_EXPORT Applet : public QObject
Q_PROPERTY(bool hasFailedToLaunch READ hasFailedToLaunch WRITE setFailedToLaunch) Q_PROPERTY(bool hasFailedToLaunch READ hasFailedToLaunch WRITE setFailedToLaunch)
Q_PROPERTY(bool busy READ isBusy WRITE setBusy) Q_PROPERTY(bool busy READ isBusy WRITE setBusy)
Q_PROPERTY(bool configurationRequired READ configurationRequired WRITE setConfigurationRequired) Q_PROPERTY(bool configurationRequired READ configurationRequired WRITE setConfigurationRequired)
Q_PROPERTY(QRectF geometry READ geometry WRITE setGeometry)
Q_PROPERTY(bool shouldConserveResources READ shouldConserveResources) Q_PROPERTY(bool shouldConserveResources READ shouldConserveResources)
Q_PROPERTY(uint id READ id) Q_PROPERTY(uint id READ id)
Q_PROPERTY(BackgroundHints backgroundHints READ backgroundHints WRITE setBackgroundHints) Q_PROPERTY(BackgroundHints backgroundHints READ backgroundHints WRITE setBackgroundHints)
@ -635,8 +634,6 @@ class PLASMA_EXPORT Applet : public QObject
*/ */
void immutabilityChanged(Plasma::ImmutabilityType immutable); void immutabilityChanged(Plasma::ImmutabilityType immutable);
void geometryChanged();
public Q_SLOTS: public Q_SLOTS:
/** /**
* Sets the immutability type for this applet (not immutable, * Sets the immutability type for this applet (not immutable,
@ -682,16 +679,6 @@ class PLASMA_EXPORT Applet : public QObject
*/ */
bool isUserConfiguring() const; bool isUserConfiguring() const;
/**
* Causes this applet to raise above all other applets.
*/
void raise();
/**
* Causes this applet to lower below all the other applets.
*/
void lower();
/** /**
* Sends all pending contraints updates to the applet. Will usually * Sends all pending contraints updates to the applet. Will usually
* be called automatically, but can also be called manually if needed. * be called automatically, but can also be called manually if needed.
@ -764,22 +751,6 @@ class PLASMA_EXPORT Applet : public QObject
bool hasFocus() const; bool hasFocus() const;
void setFocus(Qt::FocusReason); void setFocus(Qt::FocusReason);
//Geometry functions: FIXME: to remove?
QSizeF size() const;
QRectF geometry() const;
void setGeometry(const QRectF &rect);
QRectF boundingRect() const;
void resize(const QSizeF &size);
int zValue() const;
void setZValue(int val);
QTransform transform() const;
void setTransform(const QTransform &transform);
QPointF pos() const;
void setPos(const QPointF &pos);
void setPos(int x, int y);
QSizePolicy sizePolicy() const;
void setSizePolicy(const QSizePolicy &policy);
protected: protected:
/** /**
* This constructor is to be used with the plugin loading systems * This constructor is to be used with the plugin loading systems
@ -879,8 +850,6 @@ class PLASMA_EXPORT Applet : public QObject
virtual void constraintsEvent(Plasma::Constraints constraints); virtual void constraintsEvent(Plasma::Constraints constraints);
QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint = QSizeF()) const;
/** /**
* Reimplemented from QObject * Reimplemented from QObject
*/ */

View File

@ -76,7 +76,6 @@ Containment::Containment(QObject *parent,
{ {
// WARNING: do not access config() OR globalConfig() in this method! // WARNING: do not access config() OR globalConfig() in this method!
// that requires a scene, which is not available at this point // that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground); setBackgroundHints(NoBackground);
setContainmentType(CustomContainment); setContainmentType(CustomContainment);
setHasConfigurationInterface(false); setHasConfigurationInterface(false);
@ -88,7 +87,6 @@ Containment::Containment(QObject *parent, const QVariantList &args)
{ {
// WARNING: do not access config() OR globalConfig() in this method! // WARNING: do not access config() OR globalConfig() in this method!
// that requires a scene, which is not available at this point // that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground); setBackgroundHints(NoBackground);
setHasConfigurationInterface(false); setHasConfigurationInterface(false);
} }
@ -99,7 +97,6 @@ Containment::Containment(const QString &packagePath, uint appletId, const QVaria
{ {
// WARNING: do not access config() OR globalConfig() in this method! // WARNING: do not access config() OR globalConfig() in this method!
// that requires a scene, which is not available at this point // that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground); setBackgroundHints(NoBackground);
setHasConfigurationInterface(false); setHasConfigurationInterface(false);
} }
@ -503,12 +500,6 @@ void Containment::setLocation(Location location)
applet->updateConstraints(Plasma::LocationConstraint); applet->updateConstraints(Plasma::LocationConstraint);
} }
if (emitGeomChange) {
// our geometry on the scene will not actually change,
// but for the purposes of views it has
emit geometryChanged();
}
updateConstraints(Plasma::LocationConstraint); updateConstraints(Plasma::LocationConstraint);
KConfigGroup c = config(); KConfigGroup c = config();
@ -592,10 +583,6 @@ void Containment::addApplet(Applet *applet, const QPointF &pos, bool delayInit)
connect(applet, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(checkStatus(Plasma::ItemStatus))); connect(applet, SIGNAL(newStatus(Plasma::ItemStatus)), this, SLOT(checkStatus(Plasma::ItemStatus)));
connect(applet, SIGNAL(activate()), this, SIGNAL(activate())); connect(applet, SIGNAL(activate()), this, SIGNAL(activate()));
if (pos != QPointF(-1, -1)) {
applet->setPos(pos);
}
if (!delayInit && !currentContainment) { if (!delayInit && !currentContainment) {
applet->restore(*applet->d->mainConfigGroup()); applet->restore(*applet->d->mainConfigGroup());
applet->init(); applet->init();
@ -724,11 +711,12 @@ void Containment::dropEvent(QDropEvent *event)
} }
} }
//TODO: remove and make it GSS
void Containment::resizeEvent(QResizeEvent *event) void Containment::resizeEvent(QResizeEvent *event)
{ {
if (isContainment()) { if (isContainment()) {
if (d->wallpaper) { if (d->wallpaper) {
d->wallpaper->setBoundingRect(QRectF(QPointF(0, 0), size())); d->wallpaper->setBoundingRect(QRectF(QPointF(0, 0), event->size()));
} }
} }
} }
@ -860,7 +848,6 @@ void Containment::setWallpaper(const QString &pluginName, const QString &mode)
if (d->wallpaper) { if (d->wallpaper) {
d->wallpaper->setParent(this); d->wallpaper->setParent(this);
d->wallpaper->setBoundingRect(QRectF(QPointF(0, 0), size()));
d->wallpaper->setRenderingMode(mode); d->wallpaper->setRenderingMode(mode);
if (newPlugin) { if (newPlugin) {

View File

@ -712,8 +712,6 @@ void AppletPrivate::resetConfigurationObject()
} }
uint AppletPrivate::s_maxAppletId = 0; uint AppletPrivate::s_maxAppletId = 0;
int AppletPrivate::s_maxZValue = 0;
int AppletPrivate::s_minZValue = 0;
QSet<QString> AppletPrivate::s_customCategories; QSet<QString> AppletPrivate::s_customCategories;
} //namespace Plasma } //namespace Plasma

View File

@ -126,8 +126,6 @@ public:
static QString parentAppConstraint(const QString &parentApp = QString()); static QString parentAppConstraint(const QString &parentApp = QString());
static uint s_maxAppletId; static uint s_maxAppletId;
static int s_maxZValue;
static int s_minZValue;
static QSet<QString> s_customCategories; static QSet<QString> s_customCategories;
// number of members at this point. // number of members at this point.

View File

@ -262,10 +262,6 @@ void ContainmentPrivate::setScreen(int newScreen, int newDesktop, bool preventIn
} }
} }
if (newScreen < numScreens && newScreen > -1 && isDesktopContainment) {
q->resize(corona->screenGeometry(newScreen).size());
}
int oldDesktop = desktop; int oldDesktop = desktop;
desktop = newDesktop; desktop = newDesktop;
@ -833,16 +829,6 @@ Applet *ContainmentPrivate::addApplet(const QString &name, const QVariantList &a
return applet; return applet;
} }
bool ContainmentPrivate::regionIsEmpty(const QRectF &region, Applet *ignoredApplet) const
{
foreach (Applet *applet, applets) {
if (applet != ignoredApplet && applet->geometry().intersects(region)) {
return false;
}
}
return true;
}
void ContainmentPrivate::appletDeleted(Plasma::Applet *applet) void ContainmentPrivate::appletDeleted(Plasma::Applet *applet)
{ {
applets.removeAll(applet); applets.removeAll(applet);

View File

@ -92,7 +92,6 @@ public:
void initApplets(); void initApplets();
void checkContainmentFurniture(); void checkContainmentFurniture();
bool regionIsEmpty(const QRectF &region, Applet *ignoredApplet=0) const;
bool isPanelContainment() const; bool isPanelContainment() const;
void setLockToolText(); void setLockToolText();
void appletDeleted(Applet*); void appletDeleted(Applet*);

View File

@ -67,15 +67,6 @@ void AppletScript::paintInterface(QPainter *painter,
Q_UNUSED(contentsRect); Q_UNUSED(contentsRect);
} }
QSizeF AppletScript::size() const
{
if (applet()) {
return applet()->size();
}
return QSizeF();
}
void AppletScript::constraintsEvent(Plasma::Constraints constraints) void AppletScript::constraintsEvent(Plasma::Constraints constraints)
{ {
Q_UNUSED(constraints); Q_UNUSED(constraints);

View File

@ -84,11 +84,6 @@ public:
const QStyleOptionGraphicsItem *option, const QStyleOptionGraphicsItem *option,
const QRect &contentsRect); const QRect &contentsRect);
/**
* Returns the area within which contents can be painted.
**/
Q_INVOKABLE QSizeF size() const;
/** /**
* Called when any of the geometry constraints have been updated. * Called when any of the geometry constraints have been updated.
* *