X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/47e80ef6b9ce27b6acb252ceb412fc3260b85c53..2dc23d4e6dc8a3b5d9e4f816fe9ddab13f957cc6:/src/tooltips/tooltipmanager.cpp diff --git a/src/tooltips/tooltipmanager.cpp b/src/tooltips/tooltipmanager.cpp index 43590235b..b085e6861 100644 --- a/src/tooltips/tooltipmanager.cpp +++ b/src/tooltips/tooltipmanager.cpp @@ -80,7 +80,14 @@ ToolTipManager::ToolTipManager(QAbstractItemView* parent, m_view->viewport()->installEventFilter(this); m_view->installEventFilter(this); - m_fileMetaDataToolTip = new FileMetaDataToolTip(parent); + static FileMetaDataToolTip* sharedToolTip = 0; + if (sharedToolTip == 0) { + sharedToolTip = new FileMetaDataToolTip(); + // TODO: Using K_GLOBAL_STATIC would be preferable to maintain the + // instance, but the cleanup of KMetaDataWidget at this stage does + // not work. + } + m_fileMetaDataToolTip = sharedToolTip; } ToolTipManager::~ToolTipManager() @@ -116,7 +123,7 @@ void ToolTipManager::requestToolTip(const QModelIndex& index) // drag & drop operation is done (indicated by the left mouse button) if ((index.column() == DolphinModel::Name) && !(QApplication::mouseButtons() & Qt::LeftButton)) { m_waitOnPreviewTimer->stop(); - m_fileMetaDataToolTip->hide(); + hideToolTip(); m_itemRect = m_view->visualRect(index); const QPoint pos = m_view->viewport()->mapToGlobal(m_itemRect.topLeft()); @@ -144,6 +151,7 @@ void ToolTipManager::hideToolTip() m_waitOnPreviewTimer->stop(); m_fileMetaDataToolTip->hide(); + m_fileMetaDataToolTip->setItems(KFileItemList()); } void ToolTipManager::prepareToolTip()