[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-09-19 19:47:23
Message-ID: 20100919194723.60FBBAC7CB () svn ! kde ! org
[Download RAW message or body]
SVN commit 1177226 by mart:
delay itemAddedEvent at the end of the event loop:
if an item is added in a group right after creation, an itemAddedEvent shouldn't \
happen at all
M +10 -2 extender.cpp
M +1 -0 extender.h
--- trunk/KDE/kdelibs/plasma/extenders/extender.cpp #1177225:1177226
@@ -612,8 +612,7 @@
QObject::connect(item, SIGNAL(destroyed(ExtenderItem*)), q, \
SLOT(extenderItemDestroyed(ExtenderItem*))); attachedExtenderItems.append(item);
q->itemHoverLeaveEvent(item);
- q->itemAddedEvent(item, pos);
- emit q->itemAttached(item);
+ QTimer::singleShot(0, q, SLOT(delayItemAddedEvent()));
}
void ExtenderPrivate::removeExtenderItem(ExtenderItem *item)
@@ -750,6 +749,15 @@
}
}
+void ExtenderPrivate::delayItemAddedEvent()
+{
+ while (!pendingItems.isEmpty()) {
+ QPair<Plasma::ExtenderItem *, QPointF> item = pendingItems.first();
+ q->itemAddedEvent(item.first, item.second);
+ pendingItems.pop_front();
+ }
+}
+
void ExtenderPrivate::updateEmptyExtenderLabel()
{
if (q->isEmpty() && !emptyExtenderLabel &&
--- trunk/KDE/kdelibs/plasma/extenders/extender.h #1177225:1177226
@@ -303,6 +303,7 @@
private:
ExtenderPrivate *const d;
+ Q_PRIVATE_SLOT(d, void delayItemAddedEvent())
Q_PRIVATE_SLOT(d, void extenderItemDestroyed(ExtenderItem *item))
friend class ExtenderPrivate;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic