#include "dolphinmodel.h"
#include "dolphinsortfilterproxymodel.h"
-#include "ktooltip.h"
-#include "kicon.h"
+
+#include <kformattedballoontipdelegate.h>
+#include <kicon.h>
+#include <ktooltip.h>
#include <QTimer>
+K_GLOBAL_STATIC(KFormattedBalloonTipDelegate, g_delegate)
+
ToolTipManager::ToolTipManager(QAbstractItemView* parent,
DolphinSortFilterProxyModel* model) :
QObject(parent),
m_proxyModel(model),
m_timer(0),
m_item(),
- m_pos(),
- m_delegate()
+ m_pos()
{
- KToolTip::setToolTipDelegate(&m_delegate);
+ KToolTip::setToolTipDelegate(g_delegate);
m_dolphinModel = static_cast<DolphinModel*>(m_proxyModel->sourceModel());
connect(parent, SIGNAL(entered(const QModelIndex&)),
{
}
+void ToolTipManager::hideTip()
+{
+ hideToolTip();
+}
+
bool ToolTipManager::eventFilter(QObject* watched, QEvent* event)
{
if ((watched == m_view->viewport()) && (event->type() == QEvent::Leave)) {
void ToolTipManager::requestToolTip(const QModelIndex& index)
{
- KToolTip::hideTip();
+ if (index.column() == DolphinModel::Name) {
+ KToolTip::hideTip();
- const QRect rect = m_view->visualRect(index);
- m_pos = m_view->viewport()->mapToGlobal(rect.bottomRight());
+ const QRect rect = m_view->visualRect(index);
+ m_pos = m_view->viewport()->mapToGlobal(rect.bottomRight());
- const QModelIndex dirIndex = m_proxyModel->mapToSource(index);
- m_item = m_dolphinModel->itemForIndex(dirIndex);
+ const QModelIndex dirIndex = m_proxyModel->mapToSource(index);
+ m_item = m_dolphinModel->itemForIndex(dirIndex);
- m_timer->start(500);
+ m_timer->start(500);
+ } else {
+ hideToolTip();
+ }
}
void ToolTipManager::hideToolTip()