From e2b844437e9308a04ddf043ae9d2f5c8ffef97b0 Mon Sep 17 00:00:00 2001 From: Peter Penz Date: Wed, 6 Oct 2010 13:58:47 +0000 Subject: Use a pointing-hand cursor when hovering items as discussed on http://lists.kde.org/?l=kde-core-devel&m=126027946921686&w=1 svn path=/trunk/KDE/kdebase/apps/; revision=1183195 --- src/views/tooltips/tooltipmanager.cpp | 13 +++++++++++-- src/views/tooltips/tooltipmanager.h | 1 + 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'src/views/tooltips') diff --git a/src/views/tooltips/tooltipmanager.cpp b/src/views/tooltips/tooltipmanager.cpp index a2b717b91..09e97861a 100644 --- a/src/views/tooltips/tooltipmanager.cpp +++ b/src/views/tooltips/tooltipmanager.cpp @@ -43,6 +43,7 @@ ToolTipManager::ToolTipManager(QAbstractItemView* parent, m_fileMetaDataToolTip(0), m_toolTipRequested(false), m_metaDataRequested(false), + m_appliedWaitCursor(false), m_item(), m_itemRect() { @@ -94,7 +95,10 @@ ToolTipManager::~ToolTipManager() void ToolTipManager::hideToolTip() { - QApplication::restoreOverrideCursor(); + if (m_appliedWaitCursor) { + QApplication::restoreOverrideCursor(); + m_appliedWaitCursor = false; + } m_toolTipRequested = false; m_metaDataRequested = false; @@ -219,14 +223,19 @@ void ToolTipManager::slotMetaDataRequestFinished() void ToolTipManager::showToolTip() { Q_ASSERT(m_toolTipRequested); - QApplication::restoreOverrideCursor(); + if (m_appliedWaitCursor) { + QApplication::restoreOverrideCursor(); + m_appliedWaitCursor = false; + } if (QApplication::mouseButtons() & Qt::LeftButton) { return; } if (m_fileMetaDataToolTip->preview().isNull() || m_metaDataRequested) { + Q_ASSERT(!m_appliedWaitCursor); QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + m_appliedWaitCursor = true; return; } diff --git a/src/views/tooltips/tooltipmanager.h b/src/views/tooltips/tooltipmanager.h index dffd18868..f8bcd3dfd 100644 --- a/src/views/tooltips/tooltipmanager.h +++ b/src/views/tooltips/tooltipmanager.h @@ -84,6 +84,7 @@ private: bool m_toolTipRequested; bool m_metaDataRequested; + bool m_appliedWaitCursor; KFileItem m_item; QRect m_itemRect; }; -- cgit v1.3