]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Fix the problem of the tree view. When we are expanding too many nodes (or very large...
authorRafael Fernández López <ereslibre@kde.org>
Sun, 16 Dec 2007 03:37:29 +0000 (03:37 +0000)
committerRafael Fernández López <ereslibre@kde.org>
Sun, 16 Dec 2007 03:37:29 +0000 (03:37 +0000)
CCMAIL: peter.penz@gmx.at
CCMAIL: wstephenson@kde.org

svn path=/trunk/KDE/kdebase/apps/; revision=748978

src/sidebartreeview.cpp
src/treeviewsidebarpage.cpp

index 3567c35d6b11676ac01c88c536cb35ff25ad5ea1..d31300539feed17ebe074688b8ecf19e3f7f0dd3 100644 (file)
@@ -80,18 +80,20 @@ bool SidebarTreeView::event(QEvent* event)
         hideColumn(DolphinModel::Tags);
         header()->hide();
     }
+    else if (event->type() == QEvent::UpdateRequest) {
+        resizeColumnToContents(DolphinModel::Name);
+
 // TODO: Remove this check when 4.3.2 is released and KDE requires it... this
 //       check avoids a division by zero happening on versions before 4.3.1.
 //       Right now KDE in theory can be shipped with Qt 4.3.0 and above.
 //       ereslibre
 #if (QT_VERSION >= QT_VERSION_CHECK(4, 3, 2) || defined(QT_KDE_QT_COPY))
-    else if (event->type() == QEvent::UpdateRequest) {
         // a wheel movement will scroll 1 item
         if (model()->rowCount() > 0) {
             verticalScrollBar()->setSingleStep(sizeHintForRow(0) / 3);
         }
-    }
 #endif
+    }
 
     return QTreeView::event(event);
 }
index 82e2a0507f43f882561ee9d61749628e32c896eb..bb996047c6f10183eaaf6c1aab29bf5eec1ace62 100644 (file)
@@ -192,6 +192,8 @@ void TreeViewSidebarPage::expandToLeafDir()
 
     QItemSelectionModel* selModel = m_treeView->selectionModel();
     selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::Select);
+
+    m_treeView->resizeColumnToContents(DolphinModel::Name);
 }
 
 
@@ -201,6 +203,8 @@ void TreeViewSidebarPage::loadSubTree()
     selModel->clearSelection();
 
     if (m_leafDir.isParentOf(m_dirLister->url())) {
+        m_treeView->resizeColumnToContents(DolphinModel::Name);
+
         // The leaf directory is not a child of the base URL, hence
         // no sub directory must be loaded or selected.
         return;
@@ -218,6 +222,8 @@ void TreeViewSidebarPage::loadSubTree()
         // get invoked if the expanding has been finished.
         m_dolphinModel->expandToUrl(m_leafDir);
     }
+
+    m_treeView->resizeColumnToContents(DolphinModel::Name);
 }
 
 void TreeViewSidebarPage::loadTree(const KUrl& url)