void ToolTipManager::requestToolTip(const QModelIndex& index)
{
- if (index.column() == DolphinModel::Name) {
+ // only request a tooltip for the name column and when no selection or
+ // drag & drop operation is done (indicated by the left mouse button)
+ if ((index.column() == DolphinModel::Name) && !(QApplication::mouseButtons() & Qt::LeftButton)) {
m_waitOnPreviewTimer->stop();
KToolTip::hideTip();
const QModelIndex dirIndex = m_proxyModel->mapToSource(index);
m_item = m_dolphinModel->itemForIndex(dirIndex);
- // Only start the previewJob when the mouse has been over this item for 200msec,
- // this prevents a lot of useless previewJobs (when passing rapidly over a lot of items).
+ // only start the previewJob when the mouse has been over this item for 200 milliseconds,
+ // this prevents a lot of useless preview jobs when passing rapidly over a lot of items
m_previewTimer->start(200);
- // reset these variables
m_preview = false;
m_previewIsLate = false;
m_previewPass = 0;
if (m_preview && m_previewIsLate) {
// We got a preview, but it is late, the tooltip has already been shown.
// So update the tooltip directly.
- m_emptyRenderedKToolTipItem->setData(Qt::DecorationRole, KIcon(m_pix));
+ if (m_emptyRenderedKToolTipItem != 0) {
+ m_emptyRenderedKToolTipItem->setData(Qt::DecorationRole, KIcon(m_pix));
+ }
return;
}
if (QApplication::mouseButtons() & Qt::LeftButton) {
delete tip;
tip = 0;
+ // m_emptyRenderedKToolTipItem is an alias for tip.
+ m_emptyRenderedKToolTipItem = 0;
return;
}