When collapsing nodes that made the scrollbar bigger, it didnt became smaller. I've debugged on event() method to find out which event was the one called. It seems

QEvent::MetaCall is always called when we want and is not as impressive called as paintEvent(), so there we go. This will fix another problem that when a second expanded 
cached node should make the horizontal scrollbar bigger it didn't till the tree view lost the focus or was resized. Everything fixed :)

CCMAIL: peter.penz@gmx.at

svn path=/trunk/KDE/kdebase/apps/; revision=749049
This commit is contained in:
Rafael Fernández López 2007-12-16 11:53:28 +00:00
parent 1a7cf5427f
commit 58d37b2331
2 changed files with 7 additions and 14 deletions

View file

@ -81,12 +81,10 @@ bool SidebarTreeView::event(QEvent* event)
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
// 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))
// a wheel movement will scroll 1 item
if (model()->rowCount() > 0) {
@ -94,6 +92,9 @@ bool SidebarTreeView::event(QEvent* event)
}
#endif
}
else if (event->type() == QEvent::MetaCall) {
resizeColumnToContents(DolphinModel::Name);
}
return QTreeView::event(event);
}

View file

@ -192,8 +192,6 @@ void TreeViewSidebarPage::expandToLeafDir()
QItemSelectionModel* selModel = m_treeView->selectionModel();
selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::Select);
m_treeView->resizeColumnToContents(DolphinModel::Name);
}
@ -203,8 +201,6 @@ 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;
@ -222,8 +218,6 @@ 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)
@ -246,8 +240,6 @@ void TreeViewSidebarPage::loadTree(const KUrl& url)
} else {
loadSubTree();
}
m_treeView->resizeColumnToContents(DolphinModel::Name);
}
#include "treeviewsidebarpage.moc"