]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kstandarditemlistview.cpp
portalize drag urls
[dolphin.git] / src / kitemviews / kstandarditemlistview.cpp
index bc766a5dcb1e08dd39509b539a2ffb5b7b800d12..4b7c2d9a42ac84224fd23d55e47aa448fa8faae9 100644 (file)
@@ -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());
 }
 
@@ -80,7 +84,8 @@ bool KStandardItemListView::itemSizeHintUpdateRequired(const QSet<QByteArray>& c
     // Even if the icons have a different size they are always aligned within
     // the area defined by KItemStyleOption.iconSize and hence result in no
     // change of the item-size.
-    foreach (const QByteArray& role, visibleRoles()) {
+    const auto roles = visibleRoles();
+    for (const QByteArray& role : roles) {
         if (changedRoles.contains(role)) {
             return true;
         }
@@ -152,7 +157,8 @@ void KStandardItemListView::applyDefaultStyleOption(int iconSize,
 void KStandardItemListView::updateLayoutOfVisibleItems()
 {
     if (model()) {
-        foreach (KItemListWidget* widget, visibleItemListWidgets()) {
+        const auto widgets = visibleItemListWidgets();
+        for (KItemListWidget* widget : widgets) {
             initializeItemListWidget(widget);
         }
     }