]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/kitemviews/kitemlistview.cpp
Implement smooth-scrolling for horizontal and vertical scrollbars
[dolphin.git] / src / kitemviews / kitemlistview.cpp
index 63315b66583e6d6dca523bf6228e6e377e63bcc0..f9c2fca181247907be4d43b1204bf75a84082e83 100644 (file)
@@ -119,7 +119,9 @@ void KItemListView::setScrollOrientation(Qt::Orientation orientation)
     m_animation->setScrollOrientation(orientation);
     m_sizeHintResolver->clearCache();
     updateLayout();
+
     onScrollOrientationChanged(orientation, previousOrientation);
+    emit scrollOrientationChanged(orientation, previousOrientation);
 }
 
 Qt::Orientation KItemListView::scrollOrientation() const
@@ -189,6 +191,13 @@ qreal KItemListView::maximumScrollOffset() const
 void KItemListView::setItemOffset(qreal offset)
 {
     m_layouter->setItemOffset(offset);
+    if (m_header) {
+        m_header->setPos(-offset, 0);
+    }
+    if (!m_layoutTimer->isActive()) {
+        doLayout(NoAnimation, 0, 0);
+        update();
+    }
 }
 
 qreal KItemListView::itemOffset() const
@@ -1505,6 +1514,7 @@ void KItemListView::updateStretchedVisibleRolesSizes()
 
     if (m_header) {
         m_header->setVisibleRolesWidths(headerRolesWidths());
+        m_header->resize(dynamicItemSize.width(), m_header->size().height());
     }
 
     // Update the role sizes for all visible widgets