- m_fileMetaDataToolTip = sharedToolTip;
-
- m_dolphinModel = static_cast<DolphinModel*>(m_proxyModel->sourceModel());
- connect(parent, SIGNAL(entered(const QModelIndex&)),
- this, SLOT(requestToolTip(const QModelIndex&)));
- connect(parent, SIGNAL(viewportEntered()),
- this, SLOT(hideToolTip()));
-
- // Initialize timers
- m_prepareToolTipTimer = new QTimer(this);
- m_prepareToolTipTimer->setSingleShot(true);
- m_prepareToolTipTimer->setInterval(500);
- connect(m_prepareToolTipTimer, SIGNAL(timeout()), this, SLOT(prepareToolTip()));
-
- m_startPreviewJobTimer = new QTimer(this);
- m_startPreviewJobTimer->setSingleShot(true);
- m_startPreviewJobTimer->setInterval(200);
- connect(m_startPreviewJobTimer, SIGNAL(timeout()), this, SLOT(startPreviewJob()));
-
- m_waitOnPreviewTimer = new QTimer(this);
- m_waitOnPreviewTimer->setSingleShot(true);
- m_waitOnPreviewTimer->setInterval(250);
- connect(m_waitOnPreviewTimer, SIGNAL(timeout()), this, SLOT(prepareToolTip()));
-
- m_showToolTipDelayedTimer = new QTimer(this);
- m_showToolTipDelayedTimer->setSingleShot(true);
- m_showToolTipDelayedTimer->setInterval(100);
- connect(m_showToolTipDelayedTimer, SIGNAL(timeout()), this, SLOT(showToolTip()));
-
- // When the mousewheel is used, the items don't get a hovered indication
- // (Qt-issue #200665). To assure that the tooltip still gets hidden,
- // the scrollbars are observed.
- connect(parent->horizontalScrollBar(), SIGNAL(valueChanged(int)),
- this, SLOT(hideTip()));
- connect(parent->verticalScrollBar(), SIGNAL(valueChanged(int)),
- this, SLOT(hideTip()));
-
- m_view->viewport()->installEventFilter(this);
- m_view->installEventFilter(this);
+
+ m_showToolTipTimer = new QTimer(this);
+ m_showToolTipTimer->setSingleShot(true);
+ m_showToolTipTimer->setInterval(500);
+ connect(m_showToolTipTimer, &QTimer::timeout, this, QOverload<>::of(&ToolTipManager::showToolTip));
+
+ m_contentRetrievalTimer = new QTimer(this);
+ m_contentRetrievalTimer->setSingleShot(true);
+ m_contentRetrievalTimer->setInterval(200);
+ connect(m_contentRetrievalTimer, &QTimer::timeout, this, &ToolTipManager::startContentRetrieval);
+
+ Q_ASSERT(m_contentRetrievalTimer->interval() < m_showToolTipTimer->interval());