]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/ktreeview.cpp
prevent that the user can open more than one instance of the settings dialog
[dolphin.git] / src / ktreeview.cpp
index 5c665ee997b945d7bd301c8ff6018222e5bec2f7..7c30fad337bbb24c008eb467220b69c017c19910 100644 (file)
@@ -23,7 +23,6 @@
 
 #include <KGlobalSettings>
 
-#include <QEvent>
 #include <QItemSelectionModel>
 #include <QScrollBar>
 #include <QTimer>
@@ -38,15 +37,10 @@ KTreeView::KTreeViewPrivate::KTreeViewPrivate(KTreeView *parent) :
     startScrollTimer = new QTimer(this);
     startScrollTimer->setSingleShot(true);
     startScrollTimer->setInterval(300);
-
-    timeLine = new QTimeLine(300, this);
-}
-
-void KTreeView::KTreeViewPrivate::connectScrollTimers()
-{
     connect(startScrollTimer, SIGNAL(timeout()),
             this, SLOT(startScrolling()));
 
+    timeLine = new QTimeLine(300, this);
     connect(timeLine, SIGNAL(frameChanged(int)),
             this, SLOT(updateVerticalScrollBar(int)));
 
@@ -175,12 +169,11 @@ void KTreeView::scrollTo(const QModelIndex& index, ScrollHint hint)
     }
 }
 
-bool KTreeView::event(QEvent* event)
+void KTreeView::hideEvent(QHideEvent *event)
 {
-    if (event->type() == QEvent::Polish) {
-        d->connectScrollTimers();
-    }
-    return QTreeView::event(event);
+    d->startScrollTimer->stop();
+    d->timeLine->stop();
+    QTreeView::hideEvent(event);
 }
 
 #include "ktreeview.moc"