[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/plasma/extenders
From: Marco Martin <notmart () gmail ! com>
Date: 2010-12-10 20:00:18
Message-ID: 20101210200018.5B5FAAC8A6 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1205304 by mart:
be sure the layouts are notified all up the stack from extenderitem to group, to \
extender and its scrolling widget
M +2 -0 extender.cpp
M +16 -5 extendergroup.cpp
--- trunk/KDE/kdelibs/plasma/extenders/extender.cpp #1205303:1205304
@@ -535,6 +535,8 @@
d->updateEmptyExtenderLabel();
d->updateBorders();
+ d->layout->updateGeometry();
+ static_cast<QGraphicsLayoutItem *>(d->scrollWidget)->updateGeometry();
updateGeometry();
resize(d->mainWidget->effectiveSizeHint(Qt::PreferredSize));
--- trunk/KDE/kdelibs/plasma/extenders/extendergroup.cpp #1205303:1205304
@@ -216,6 +216,8 @@
bool ExtenderGroup::eventFilter(QObject *watched, QEvent *event)
{
if (watched == d->childsWidget && event->type() == QEvent::GraphicsSceneResize) \
{ + static_cast<QGraphicsLayoutItem \
*>(extender()->d->scrollWidget)->updateGeometry(); + \
static_cast<QGraphicsLayoutItem *>(extender())->updateGeometry();
//resize to the max between the extender size hint and ours (that's because \
the group can still not be in the extender layout)
extender()->resize(extender()->effectiveSizeHint(Qt::PreferredSize).expandedTo(effectiveSizeHint(Qt::PreferredSize)).width(), \
extender()->size().height()); }
@@ -321,14 +323,19 @@
layout->insertItem(insertIndexFromPos(pos), item);
layout->activate();
- childsWidget->resize(childsWidget->size().width(),
- \
childsWidget->effectiveSizeHint(Qt::PreferredSize).height());
-
if (!q->isVisible() && !q->items().isEmpty()) {
q->extender()->itemAddedEvent(q);
q->show();
}
childsWidget->setVisible(!q->isGroupCollapsed());
+
+ if (!q->isGroupCollapsed()) {
+ layout->updateGeometry();
+ static_cast<QGraphicsLayoutItem *>(q)->updateGeometry();
+ static_cast<QGraphicsLayoutItem *>(childsWidget)->updateGeometry();
+ static_cast<QGraphicsLayoutItem \
*>(q->extender()->d->scrollWidget)->updateGeometry(); + }
+
q->extender()->resize(q->extender()->effectiveSizeHint(Qt::PreferredSize));
}
}
@@ -340,10 +347,14 @@
q->extender()->itemRemovedEvent(q);
q->hide();
}
- childsWidget->resize(childsWidget->size().width(),
- \
childsWidget->effectiveSizeHint(Qt::PreferredSize).height()); \
layout->removeItem(item);
item->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+
+ layout->updateGeometry();
+ static_cast<QGraphicsLayoutItem *>(q)->updateGeometry();
+ static_cast<QGraphicsLayoutItem *>(childsWidget)->updateGeometry();
+ static_cast<QGraphicsLayoutItem \
*>(q->extender()->d->scrollWidget)->updateGeometry(); +
q->extender()->resize(q->extender()->effectiveSizeHint(Qt::PreferredSize));
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic