[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/plasma/desktop/shell
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2010-11-20 23:03:43
Message-ID: 20101120230343.77919AC8A0 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1199169 by aseigo:
merge hideIfNotInUse with startAutoHide, since it should never autohide if in use.
M +19 -14 panelview.cpp
M +1 -4 panelview.h
--- trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelview.cpp #1199168:1199169
@@ -615,7 +615,7 @@
m_mousePollTimer->stop();
}
- QTimer::singleShot(2000, this, SLOT(hideIfNotInUse()));
+ QTimer::singleShot(2000, this, SLOT(startAutoHide()));
}
KWindowSystem::setOnAllDesktops(winId(), true);
@@ -1097,7 +1097,7 @@
updateStruts();
if (m_visibilityMode == LetWindowsCover || m_visibilityMode == AutoHide) {
- hideIfNotInUse();
+ startAutoHide();
}
}
@@ -1330,16 +1330,6 @@
}
}
-void PanelView::hideIfNotInUse()
-{
- //kDebug() << m_delayedUnhideTs.elapsed() << geometry().contains(QCursor::pos()) \
<< hasPopup();
- //TODO: is 5s too long? not long enough?
- if ((m_delayedUnhideTs.isNull() || m_delayedUnhideTs.elapsed() > 5000) && \
!m_editing &&
- !geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) && \
!hasPopup()) {
- startAutoHide();
- }
-}
-
void PanelView::updateHinter()
{
#ifdef Q_WS_X11
@@ -1514,9 +1504,21 @@
void PanelView::startAutoHide()
{
+ //kDebug() << m_delayedUnhideTs.elapsed() << geometry().contains(QCursor::pos()) \
<< hasPopup(); + //TODO: is 5s too long? not long enough?
+ if ((!m_delayedUnhideTs.isNull() && m_delayedUnhideTs.elapsed() < 5000) ||
+ m_editing ||
+ geometry().adjusted(-10, -10, 10, 10).contains(QCursor::pos()) ||
+ hasPopup()) {
+ if (!m_mousePollTimer) {
+ leaveEvent(0);
+ }
+ return;
+ }
+
if (m_mousePollTimer) {
m_mousePollTimer->stop();
- disconnect(m_mousePollTimer, SIGNAL(timeout()), this, \
SLOT(hideIfNotInUse())); + disconnect(m_mousePollTimer, SIGNAL(timeout()), \
this, SLOT(startAutoHide())); }
if (m_visibilityMode == LetWindowsCover) {
@@ -1548,12 +1550,15 @@
m_mousePollTimer = new QTimer(this);
}
- connect(m_mousePollTimer, SIGNAL(timeout()), this, SLOT(hideIfNotInUse()), \
Qt::UniqueConnection); + connect(m_mousePollTimer, SIGNAL(timeout()), this, \
SLOT(startAutoHide()), Qt::UniqueConnection); m_mousePollTimer->start(200);
}
+ if (event) {
+ // startAutoHide calls this with a null event pointer, so we have to check \
it Plasma::View::leaveEvent(event);
}
+}
void PanelView::drawBackground(QPainter *painter, const QRectF &rect)
{
--- trunk/KDE/kdebase/workspace/plasma/desktop/shell/panelview.h #1199168:1199169
@@ -247,11 +247,8 @@
void overlayMoved(PanelAppletOverlay *overlay);
void panelDeleted();
void startAutoHide();
+
/**
- * hides the panel if there's nothing keeping it open
- */
- void hideIfNotInUse();
- /**
* update the appearance of the unhide hinter
* and get rid of it if the mouse has gone elsewhere
*/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic