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("plugin", pluginName());
group.writeEntry("geometry", geometry());
group.writeEntry("zvalue", zValue());
if (!d->started) {
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");
saveState(appletConfigGroup);
@ -255,29 +240,9 @@ void Applet::save(KConfigGroup &g) const
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));
QRectF geom = group.readEntry("geometry", QRectF());
if (geom.isValid()) {
setGeometry(geom);
}
KConfigGroup shortcutConfig(&group, "Shortcuts");
QString shortcutText = shortcutConfig.readEntryUntranslated("global", QString());
if (!shortcutText.isEmpty()) {
@ -360,66 +325,6 @@ KConfigGroup Applet::globalConfig() const
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
{
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()
{
if (immutability() != Mutable || d->transient || !d->started) {
@ -783,40 +677,6 @@ void Applet::flushPendingConstraintsEvents()
if (c & Plasma::FormFactorConstraint) {
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
@ -874,25 +734,6 @@ FormFactor Applet::formFactor() const
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;
}
@ -1381,40 +1222,6 @@ Applet *Applet::loadPlasmoid(const QString &path, uint appletId, const QVariantL
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)
{
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
{
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 busy READ isBusy WRITE setBusy)
Q_PROPERTY(bool configurationRequired READ configurationRequired WRITE setConfigurationRequired)
Q_PROPERTY(QRectF geometry READ geometry WRITE setGeometry)
Q_PROPERTY(bool shouldConserveResources READ shouldConserveResources)
Q_PROPERTY(uint id READ id)
Q_PROPERTY(BackgroundHints backgroundHints READ backgroundHints WRITE setBackgroundHints)
@ -635,8 +634,6 @@ class PLASMA_EXPORT Applet : public QObject
*/
void immutabilityChanged(Plasma::ImmutabilityType immutable);
void geometryChanged();
public Q_SLOTS:
/**
* Sets the immutability type for this applet (not immutable,
@ -682,16 +679,6 @@ class PLASMA_EXPORT Applet : public QObject
*/
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
* be called automatically, but can also be called manually if needed.
@ -764,22 +751,6 @@ class PLASMA_EXPORT Applet : public QObject
bool hasFocus() const;
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:
/**
* 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);
QSizeF sizeHint(Qt::SizeHint which, const QSizeF & constraint = QSizeF()) const;
/**
* Reimplemented from QObject
*/

View File

@ -76,7 +76,6 @@ Containment::Containment(QObject *parent,
{
// WARNING: do not access config() OR globalConfig() in this method!
// that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground);
setContainmentType(CustomContainment);
setHasConfigurationInterface(false);
@ -88,7 +87,6 @@ Containment::Containment(QObject *parent, const QVariantList &args)
{
// WARNING: do not access config() OR globalConfig() in this method!
// that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground);
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!
// that requires a scene, which is not available at this point
setPos(0, 0);
setBackgroundHints(NoBackground);
setHasConfigurationInterface(false);
}
@ -503,12 +500,6 @@ void Containment::setLocation(Location location)
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);
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(activate()), this, SIGNAL(activate()));
if (pos != QPointF(-1, -1)) {
applet->setPos(pos);
}
if (!delayInit && !currentContainment) {
applet->restore(*applet->d->mainConfigGroup());
applet->init();
@ -724,11 +711,12 @@ void Containment::dropEvent(QDropEvent *event)
}
}
//TODO: remove and make it GSS
void Containment::resizeEvent(QResizeEvent *event)
{
if (isContainment()) {
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) {
d->wallpaper->setParent(this);
d->wallpaper->setBoundingRect(QRectF(QPointF(0, 0), size()));
d->wallpaper->setRenderingMode(mode);
if (newPlugin) {

View File

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

View File

@ -126,8 +126,6 @@ public:
static QString parentAppConstraint(const QString &parentApp = QString());
static uint s_maxAppletId;
static int s_maxZValue;
static int s_minZValue;
static QSet<QString> s_customCategories;
// 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;
desktop = newDesktop;
@ -833,16 +829,6 @@ Applet *ContainmentPrivate::addApplet(const QString &name, const QVariantList &a
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)
{
applets.removeAll(applet);

View File

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

View File

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

View File

@ -84,11 +84,6 @@ public:
const QStyleOptionGraphicsItem *option,
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.
*