]> cloud.milkyroute.net Git - dolphin.git/commitdiff
hide the tooltip when an item gets triggered or a context menu is opened
authorPeter Penz <peter.penz19@gmail.com>
Wed, 9 Apr 2008 20:29:09 +0000 (20:29 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Wed, 9 Apr 2008 20:29:09 +0000 (20:29 +0000)
CCMAIL: konst.heil@stud.uni-heidelberg.de

svn path=/trunk/KDE/kdebase/apps/; revision=795330

src/dolphinview.cpp
src/dolphinview.h
src/tooltipmanager.cpp
src/tooltipmanager.h

index 12d6be0d2744dadfe31576cd3974db4ab808e38c..a31b67e12b7b62389504dec801f24f5a6ec479f9 100644 (file)
@@ -82,7 +82,8 @@ DolphinView::DolphinView(QWidget* parent,
     m_dolphinModel(dolphinModel),
     m_dirLister(dirLister),
     m_proxyModel(proxyModel),
-    m_iconManager(0)
+    m_iconManager(0),
+    m_toolTipManager(0)
 {
     setFocusPolicy(Qt::StrongFocus);
     m_topLayout = new QVBoxLayout(this);
@@ -750,6 +751,9 @@ void DolphinView::triggerItem(const KFileItem& item)
         return;
     }
 
+    if (m_toolTipManager != 0) {
+        m_toolTipManager->hideTip();
+    }
     emit itemTriggered(item); // caught by DolphinViewContainer or DolphinPart
 }
 
@@ -767,6 +771,10 @@ void DolphinView::openContextMenu(const QPoint& pos)
         item = fileItem(index);
     }
 
+    if (m_toolTipManager != 0) {
+        m_toolTipManager->hideTip();
+    }
+
     m_isContextMenuOpen = true; // TODO: workaround for Qt-issue xxxxxx
     emit requestContextMenu(item, url());
     m_isContextMenuOpen = false;
@@ -1086,7 +1094,7 @@ void DolphinView::createView()
     m_iconManager->setShowPreview(m_showPreview);
 
     if (DolphinSettings::instance().generalSettings()->showToolTips()) {
-        new ToolTipManager(view, m_proxyModel);
+        m_toolTipManager = new ToolTipManager(view, m_proxyModel);
     }
 
     m_topLayout->insertWidget(1, view);
@@ -1112,6 +1120,7 @@ void DolphinView::deleteView()
         m_columnView = 0;
         m_fileItemDelegate = 0;
         m_iconManager = 0;
+        m_toolTipManager = 0;
     }
 }
 
index 40d3827387f853f7d55ee2302dfdd2495b7dac0e..4ec1f42c8ac1be909118997b898572dc5aa2a0af 100644 (file)
@@ -52,6 +52,7 @@ class KDirLister;
 class KFileItemDelegate;
 class KUrl;
 class KToggleAction;
+class ToolTipManager;
 class QModelIndex;
 class ViewProperties;
 
@@ -657,6 +658,7 @@ private:
     DolphinSortFilterProxyModel* m_proxyModel;
 
     IconManager* m_iconManager;
+    ToolTipManager* m_toolTipManager;
 
     KUrl m_rootUrl;
 };
index 6af3bb8b603badc4194d2dbc510c92cbdf9381af..c133980166167f3fe74fb18ff5a99e1c90f510a7 100644 (file)
@@ -57,6 +57,11 @@ ToolTipManager::~ToolTipManager()
 {
 }
 
+void ToolTipManager::hideTip()
+{
+    hideToolTip();
+}
+
 bool ToolTipManager::eventFilter(QObject* watched, QEvent* event)
 {
     if ((watched == m_view->viewport()) && (event->type() == QEvent::Leave)) {
index 8223b5bc8be77ad8aa67751a625821cfae8f5eac..1902ac8f0cc603c122fac19302c458115c29c995 100644 (file)
@@ -48,6 +48,13 @@ public:
                             DolphinSortFilterProxyModel* model);
     virtual ~ToolTipManager();
 
+    /**
+     * Hides the currently shown tooltip. Invoking this method is
+     * only needed when the tooltip should be hidden although
+     * an item is hovered.
+     */
+    void hideTip();
+
 protected:
     virtual bool eventFilter(QObject* watched, QEvent* event);