X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/a89bc63f6c2807e92c4e8f9b860ae32d93014e96..7deb601f317d7c806e69d0d82d99a03d0859ca85:/src/kitemviews/kfileitemlistview.cpp diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp index 03f379837..25f7738bf 100644 --- a/src/kitemviews/kfileitemlistview.cpp +++ b/src/kitemviews/kfileitemlistview.cpp @@ -97,8 +97,17 @@ bool KFileItemListView::previewsShown() const void KFileItemListView::setItemLayout(Layout layout) { if (m_itemLayout != layout) { + const bool updateRoles = (m_itemLayout == DetailsLayout || layout == DetailsLayout); m_itemLayout = layout; + if (updateRoles) { + // The details-layout requires some invisible roles that + // must be added to the model if the new layout is "details". + // If the old layout was "details" the roles will get removed. + applyRolesToModel(); + } updateLayoutOfVisibleItems(); + + setSupportsItemExpanding(m_itemLayout == DetailsLayout); } } @@ -234,11 +243,6 @@ QHash KFileItemListView::visibleRolesSizes(const KItemRangeL return sizes; } -bool KFileItemListView::supportsItemExpanding() const -{ - return m_itemLayout == DetailsLayout; -} - QPixmap KFileItemListView::createDragPixmap(const QSet& indexes) const { if (!model()) {