From 792ebd6691026d817442fe4a32a822a0ef68e767 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafael=20Fern=C3=A1ndez=20L=C3=B3pez?= Date: Sun, 16 Dec 2007 03:37:29 +0000 Subject: [PATCH] Fix the problem of the tree view. When we are expanding too many nodes (or very large ones) a horizontal scrollbar wasn't shown. Now it is. CCMAIL: peter.penz@gmx.at CCMAIL: wstephenson@kde.org svn path=/trunk/KDE/kdebase/apps/; revision=748978 --- src/sidebartreeview.cpp | 6 ++++-- src/treeviewsidebarpage.cpp | 6 ++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sidebartreeview.cpp b/src/sidebartreeview.cpp index 3567c35d6..d31300539 100644 --- a/src/sidebartreeview.cpp +++ b/src/sidebartreeview.cpp @@ -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); } diff --git a/src/treeviewsidebarpage.cpp b/src/treeviewsidebarpage.cpp index 82e2a0507..bb996047c 100644 --- a/src/treeviewsidebarpage.cpp +++ b/src/treeviewsidebarpage.cpp @@ -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) -- 2.47.3