Fix some problems aseigo pointed out in the code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780655
This commit is contained in:
parent
a081559257
commit
64f0ce7739
@ -1014,7 +1014,8 @@ QSizeF Applet::contentSizeHint() const
|
|||||||
} else {
|
} else {
|
||||||
size = contentSize();
|
size = contentSize();
|
||||||
}
|
}
|
||||||
|
//FIXME: This causes infinite recursion in qt code.. maximumContentSize calls
|
||||||
|
//sizeHint.. which eventually calls contentSizeHint again.
|
||||||
// QSizeF max = maximumContentSize();
|
// QSizeF max = maximumContentSize();
|
||||||
// size = size.boundedTo(max);
|
// size = size.boundedTo(max);
|
||||||
// if (d->square) {
|
// if (d->square) {
|
||||||
|
@ -555,24 +555,10 @@ void Containment::addApplet(Applet *applet, const QPointF &pos, bool delayInit)
|
|||||||
|
|
||||||
if (containmentType() == PanelContainment) {
|
if (containmentType() == PanelContainment) {
|
||||||
// Reposition the applet after adding has been done
|
// Reposition the applet after adding has been done
|
||||||
if (index != -1) {
|
|
||||||
QGraphicsLinearLayout *l = dynamic_cast<QGraphicsLinearLayout *>(layout());
|
QGraphicsLinearLayout *l = dynamic_cast<QGraphicsLinearLayout*>(layout());
|
||||||
int i = 1;
|
Q_ASSERT(l);
|
||||||
for (; i< l->count(); i++) {
|
l->addItem(applet);
|
||||||
if (l->itemAt(i) == applet) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
l->insertItem(index, l->itemAt(i));
|
|
||||||
l->removeAt(i); //FIXME: takeAt no longer works.. which means that this may not be totally correct..
|
|
||||||
applet->setParentLayoutItem(this);
|
|
||||||
d->applets.removeAll(applet);
|
|
||||||
d->applets.insert(index, applet);
|
|
||||||
} else {
|
|
||||||
QGraphicsLinearLayout *l = dynamic_cast<QGraphicsLinearLayout*>(layout());
|
|
||||||
Q_ASSERT(l);
|
|
||||||
l->addItem(applet);
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
//FIXME if it came from a panel its bg was disabled
|
//FIXME if it came from a panel its bg was disabled
|
||||||
//maybe we should expect the applet to handle that on a constraint update?
|
//maybe we should expect the applet to handle that on a constraint update?
|
||||||
@ -604,14 +590,14 @@ int Containment::indexAt(const QPointF &pos) const
|
|||||||
// leftmost point. This also allows for dropping in the gap
|
// leftmost point. This also allows for dropping in the gap
|
||||||
// between applets.
|
// between applets.
|
||||||
if (pos.x() < middle) {
|
if (pos.x() < middle) {
|
||||||
for (int i = 1; i<l->count(); i++) {
|
for (int i = 1; i < l->count(); i++) {
|
||||||
if (l->itemAt(i) == existingApplet) {
|
if (l->itemAt(i) == existingApplet) {
|
||||||
kDebug() << i;
|
kDebug() << i;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (pos.x() <= existingApplet->geometry().right()) {
|
} else if (pos.x() <= existingApplet->geometry().right()) {
|
||||||
for (int i = 1; i<l->count(); i++) {
|
for (int i = 1; i < l->count(); i++) {
|
||||||
if (l->itemAt(i) == existingApplet) {
|
if (l->itemAt(i) == existingApplet) {
|
||||||
kDebug() << i;
|
kDebug() << i;
|
||||||
return i + 1;
|
return i + 1;
|
||||||
@ -622,14 +608,14 @@ int Containment::indexAt(const QPointF &pos) const
|
|||||||
qreal middle = (existingApplet->geometry().top() +
|
qreal middle = (existingApplet->geometry().top() +
|
||||||
existingApplet->geometry().bottom()) / 2.0;
|
existingApplet->geometry().bottom()) / 2.0;
|
||||||
if (pos.y() < middle) {
|
if (pos.y() < middle) {
|
||||||
for (int i = 1; i<l->count(); i++) {
|
for (int i = 1; i < l->count(); i++) {
|
||||||
if (l->itemAt(i) == existingApplet) {
|
if (l->itemAt(i) == existingApplet) {
|
||||||
kDebug() << i;
|
kDebug() << i;
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (pos.y() <= existingApplet->geometry().bottom()) {
|
} else if (pos.y() <= existingApplet->geometry().bottom()) {
|
||||||
for (int i = 1; i<l->count(); i++) {
|
for (int i = 1; i < l->count(); i++) {
|
||||||
if (l->itemAt(i) == existingApplet) {
|
if (l->itemAt(i) == existingApplet) {
|
||||||
kDebug() << i;
|
kDebug() << i;
|
||||||
return i + 1;
|
return i + 1;
|
||||||
|
@ -251,7 +251,6 @@ void Corona::loadApplets(const QString& configName)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Applet *applet = c->addApplet(plugin, QVariantList(), appId, appletConfig.readEntry("geometry", QRectF()), true);
|
Applet *applet = c->addApplet(plugin, QVariantList(), appId, appletConfig.readEntry("geometry", QRectF()), true);
|
||||||
addItem(applet);
|
|
||||||
applet->restore(&appletConfig);
|
applet->restore(&appletConfig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user