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
This commit is contained in:
Rafael Fernández López 2007-12-16 03:37:29 +00:00
parent f55fe7bce6
commit 792ebd6691
2 changed files with 10 additions and 2 deletions

View 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);
}

View 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)