don't hide the popup if it lost focus but ithe icon is pressed.

not too pretty solution to
BUG:230157

svn path=/trunk/KDE/kdelibs/; revision=1101663
This commit is contained in:
Marco Martin 2010-03-10 14:20:20 +00:00
parent 041e15f953
commit 60d5462c3f
2 changed files with 4 additions and 1 deletions

View File

@ -435,7 +435,6 @@ bool PopupApplet::eventFilter(QObject *watched, QEvent *event)
{ {
if (!d->passive && watched == d->dialogPtr.data() && (event->type() == QEvent::WindowDeactivate)) { if (!d->passive && watched == d->dialogPtr.data() && (event->type() == QEvent::WindowDeactivate)) {
d->popupLostFocus = true; d->popupLostFocus = true;
hidePopup();
QTimer::singleShot(100, this, SLOT(clearPopupLostFocus())); QTimer::singleShot(100, this, SLOT(clearPopupLostFocus()));
} }
@ -660,6 +659,9 @@ void PopupAppletPrivate::hideTimedPopup()
void PopupAppletPrivate::clearPopupLostFocus() void PopupAppletPrivate::clearPopupLostFocus()
{ {
if (!icon || !icon->isDown()) {
q->hidePopup();
}
popupLostFocus = false; popupLostFocus = false;
} }

View File

@ -353,6 +353,7 @@ private:
IconWidgetPrivate * const d; IconWidgetPrivate * const d;
friend class IconWidgetPrivate; friend class IconWidgetPrivate;
friend class PopupAppletPrivate;
}; };
} // namespace Plasma } // namespace Plasma