┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views
diff options
context:
space:
mode:
Diffstat (limited to 'src/views')
-rw-r--r--src/views/dolphinview.cpp34
-rw-r--r--src/views/dolphinview.h2
2 files changed, 34 insertions, 2 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp
index bb537b982..573505e76 100644
--- a/src/views/dolphinview.cpp
+++ b/src/views/dolphinview.cpp
@@ -59,6 +59,7 @@
#include <QScrollBar>
#include <QSize>
#include <QTimer>
+#include <QToolTip>
#include <QVBoxLayout>
DolphinView::DolphinView(const QUrl& url, QWidget* parent) :
@@ -918,6 +919,11 @@ bool DolphinView::eventFilter(QObject* watched, QEvent* event)
if (watched == m_view) {
m_dragging = false;
}
+ break;
+
+ case QEvent::ToolTip:
+ tryShowNameToolTip(event);
+
default:
break;
}
@@ -1637,13 +1643,15 @@ void DolphinView::updateViewState()
void DolphinView::hideToolTip(const ToolTipManager::HideBehavior behavior)
{
-#ifdef HAVE_BALOO
if (GeneralSettings::showToolTips()) {
+#ifdef HAVE_BALOO
m_toolTipManager->hideToolTip(behavior);
- }
#else
Q_UNUSED(behavior)
#endif
+ } else if (m_mode == DolphinView::IconsView) {
+ QToolTip::hideText();
+ }
}
void DolphinView::slotTwoClicksRenamingTimerTimeout()
@@ -2158,3 +2166,25 @@ void DolphinView::updatePlaceholderLabel()
m_placeholderLabel->setVisible(true);
}
+
+void DolphinView::tryShowNameToolTip(QEvent* event)
+{
+ if (!GeneralSettings::showToolTips() && m_mode == DolphinView::IconsView) {
+ QHelpEvent *hoverEvent = reinterpret_cast<QHelpEvent *>(event);
+ const int index = m_view->itemAt(hoverEvent->pos());
+
+ if (index == -1) {
+ return;
+ }
+
+ // Check whether the filename has been elided
+ const bool isElided = m_view->isElided(index);
+
+ if(isElided) {
+ const KFileItem item = m_model->fileItem(index);
+ const QString text = item.text();
+ const QPoint pos = mapToGlobal(hoverEvent->pos());
+ QToolTip::showText(pos, text);
+ }
+ }
+}
diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h
index 0f288f942..8566bc100 100644
--- a/src/views/dolphinview.h
+++ b/src/views/dolphinview.h
@@ -862,6 +862,8 @@ private:
void updatePlaceholderLabel();
+ void tryShowNameToolTip(QEvent* event);
+
private:
void updatePalette();
void showLoadingPlaceholder();