]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/tooltips/tooltipmanager.cpp
Remove the SVN plugin from the Dolphin sources. The plugin will get part of kdesdk...
[dolphin.git] / src / tooltips / tooltipmanager.cpp
index 43590235b3f34bce9986980323b64d464b9635dc..b085e68618ac7bf96d4bca7747fe1f10658e8741 100644 (file)
@@ -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()