diff options
| author | Méven Car <[email protected]> | 2023-02-23 12:29:20 +0100 |
|---|---|---|
| committer | Méven Car <[email protected]> | 2023-02-23 12:29:20 +0100 |
| commit | 7a682f5e9c22e2af73a31d6228f8c594e228650a (patch) | |
| tree | adf7bebd253cdff5a3ff1dd045c90775462e775f /src/views | |
| parent | 6e7a5760b4d6fc3244fbc0fae2fbce6201603fda (diff) | |
Fix header index are colIndex and not roleIndex
Diffstat (limited to 'src/views')
| -rw-r--r-- | src/views/dolphinview.cpp | 23 | ||||
| -rw-r--r-- | src/views/dolphinview.h | 2 |
2 files changed, 15 insertions, 10 deletions
diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index 19d54a29e..4ccb4a2e3 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -211,12 +211,11 @@ DolphinView::DolphinView(const QUrl &url, QWidget *parent) connect(m_view, &DolphinItemListView::visibleRolesChanged, this, &DolphinView::slotVisibleRolesChangedByHeader); connect(m_view, &DolphinItemListView::roleEditingCanceled, this, &DolphinView::slotRoleEditingCanceled); - connect(m_view, &DolphinItemListView::columnHovered, this, [this](int roleIndex) { - m_hoveredColumnHeaderRoleIndex = roleIndex; + connect(m_view, &DolphinItemListView::columnHovered, this, [this](int columnIndex) { + m_hoveredColumnHeaderIndex = columnIndex; }); - connect(m_view, &DolphinItemListView::columnUnHovered, this, [this](int roleIndex) { - Q_UNUSED(roleIndex) - m_hoveredColumnHeaderRoleIndex = std::nullopt; + connect(m_view, &DolphinItemListView::columnUnHovered, this, [this](int /* columnIndex */) { + m_hoveredColumnHeaderIndex = std::nullopt; }); connect(m_view->header(), &KItemListHeader::columnWidthChangeFinished, this, &DolphinView::slotHeaderColumnWidthChangeFinished); connect(m_view->header(), &KItemListHeader::sidePaddingChanged, this, &DolphinView::slotSidePaddingWidthChanged); @@ -974,10 +973,16 @@ bool DolphinView::eventFilter(QObject *watched, QEvent *event) if (tryShowNameToolTip(helpEvent)) { return true; - } else if (m_hoveredColumnHeaderRoleIndex) { - const auto roleInfo = KFileItemModel::rolesInformation().at(*m_hoveredColumnHeaderRoleIndex); - QToolTip::showText(helpEvent->globalPos(), roleInfo.tooltip, this); - return true; + } else if (m_hoveredColumnHeaderIndex) { + const auto rolesInfo = KFileItemModel::rolesInformation(); + const auto visibleRole = m_visibleRoles.value(*m_hoveredColumnHeaderIndex); + + for (const KFileItemModel::RoleInfo &info : rolesInfo) { + if (visibleRole == info.role) { + QToolTip::showText(helpEvent->globalPos(), info.tooltip, this); + return true; + } + } } break; } diff --git a/src/views/dolphinview.h b/src/views/dolphinview.h index d47825fe0..6394b885c 100644 --- a/src/views/dolphinview.h +++ b/src/views/dolphinview.h @@ -940,7 +940,7 @@ private: QTimer *m_showLoadingPlaceholderTimer; /// The information roleIndex of the list column header currently hovered - std::optional<int> m_hoveredColumnHeaderRoleIndex; + std::optional<int> m_hoveredColumnHeaderIndex; /// Used for selection mode. @see setSelectionMode() std::unique_ptr<QProxyStyle> m_proxyStyle; |
