From d3839617193e92463806580699caa595c892b8a6 Mon Sep 17 00:00:00 2001 From: Tom Lin Date: Sun, 16 Jan 2022 14:01:32 +0000 Subject: Full row highlight implementation This commit implements full-row selection and hover highlights for the details view mode. This commit also contains fixes for 444680, 444753, both uncovered during this change. BUG: 181438 BUG: 444680 BUG: 444753 FIXED-IN: 22.04 --- src/kitemviews/kstandarditemlistview.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/kitemviews/kstandarditemlistview.cpp') diff --git a/src/kitemviews/kstandarditemlistview.cpp b/src/kitemviews/kstandarditemlistview.cpp index 6edbefad8..4b7c2d9a4 100644 --- a/src/kitemviews/kstandarditemlistview.cpp +++ b/src/kitemviews/kstandarditemlistview.cpp @@ -17,6 +17,7 @@ KStandardItemListView::KStandardItemListView(QGraphicsWidget* parent) : setAcceptDrops(true); setScrollOrientation(Qt::Vertical); setVisibleRoles({"text"}); + setAlternateBackgrounds(true); } KStandardItemListView::~KStandardItemListView() @@ -34,6 +35,8 @@ void KStandardItemListView::setItemLayout(ItemLayout layout) const ItemLayout previous = m_itemLayout; m_itemLayout = layout; + // keep the leading padding option unchanged here + setHighlightEntireRow(layout == DetailsLayout); setSupportsItemExpanding(itemLayoutSupportsItemExpanding(layout)); setScrollOrientation(layout == CompactLayout ? Qt::Horizontal : Qt::Vertical); @@ -69,6 +72,7 @@ void KStandardItemListView::initializeItemListWidget(KItemListWidget* item) default: Q_ASSERT(false); break; } + standardItemListWidget->setHighlightEntireRow(highlightEntireRow()); standardItemListWidget->setSupportsItemExpanding(supportsItemExpanding()); } -- cgit v1.3