]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/ktreeview.cpp
* Prevent that the QTreeView::scrollTo() method adjusts the position of the horizonta...
[dolphin.git] / src / ktreeview.cpp
index 687bfe1e385e5a089489d2cafb19bb489476fda0..cb7560b20a9a4dd255f8b957d9f405ea2ba84163 100644 (file)
@@ -36,7 +36,7 @@ KTreeView::KTreeViewPrivate::KTreeViewPrivate(KTreeView *parent) :
 {
     startScrollTimer = new QTimer(this);
     startScrollTimer->setSingleShot(true);
-    startScrollTimer->setInterval(50);
+    startScrollTimer->setInterval(300);
     connect(startScrollTimer, SIGNAL(timeout()),
             this, SLOT(startScrolling()));
 
@@ -156,5 +156,18 @@ void KTreeView::setSelectionModel(QItemSelectionModel *selectionModel)
             d->startScrollTimer, SLOT(start()));
 }
 
+void KTreeView::scrollTo(const QModelIndex& index, ScrollHint hint)
+{
+    if (d->autoHorizontalScroll) {
+        // assure that the value of the horizontal scrollbar stays on its current value,
+        // KTreeView will adjust the value manually
+        const int value = horizontalScrollBar()->value();
+        QTreeView::scrollTo(index, hint);
+        horizontalScrollBar()->setValue(value);
+    } else {
+        QTreeView::scrollTo(index, hint);
+    }
+}
+
 #include "ktreeview.moc"
 #include "ktreeview_p.moc"