#include "paneltreeview.h"
#include "treeviewcontextmenu.h"
-#include <kfileplacesmodel.h>
-#include <kdirlister.h>
-#include <kfileitem.h>
+#include <KFilePlacesModel>
+#include <KDirLister>
+#include <KFileItem>
#include <konq_operations.h>
#include <QApplication>
m_dirLister = 0; // deleted by m_dolphinModel
}
-QSize FoldersPanel::sizeHint() const
-{
- return QSize(200, 400);
-}
-
void FoldersPanel::setShowHiddenFiles(bool show)
{
FoldersPanelSettings::setShowHiddenFiles(show);
- if (m_dirLister != 0) {
+ if (m_dirLister) {
m_dirLister->setShowingDotFiles(show);
m_dirLister->openUrl(m_dirLister->url(), KDirLister::Reload);
}
return false;
}
- if (m_dirLister != 0) {
+ if (m_dirLister) {
m_setLeafVisible = true;
loadTree(url());
}
return;
}
- if (m_dirLister == 0) {
+ if (!m_dirLister) {
// Postpone the creating of the dir lister to the first show event.
// This assures that no performance and memory overhead is given when the TreeView is not
// used at all (see FoldersPanel::setUrl()).
m_dirLister->setShowingDotFiles(FoldersPanelSettings::showHiddenFiles());
connect(m_dirLister, SIGNAL(completed()), this, SLOT(slotDirListerCompleted()));
- Q_ASSERT(m_dolphinModel == 0);
+ Q_ASSERT(!m_dolphinModel);
m_dolphinModel = new DolphinModel(this);
m_dolphinModel->setDirLister(m_dirLister);
m_dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
connect(m_dolphinModel, SIGNAL(expand(const QModelIndex&)),
this, SLOT(expandToDir(const QModelIndex&)));
- Q_ASSERT(m_proxyModel == 0);
+ Q_ASSERT(!m_proxyModel);
m_proxyModel = new DolphinSortFilterProxyModel(this);
m_proxyModel->setSourceModel(m_dolphinModel);
- Q_ASSERT(m_treeView == 0);
+ Q_ASSERT(!m_treeView);
m_treeView = new PanelTreeView(this);
m_treeView->setModel(m_proxyModel);
m_proxyModel->setSorting(DolphinView::SortByName);
connect(m_treeView->horizontalScrollBar(), SIGNAL(sliderMoved(int)),
this, SLOT(slotHorizontalScrollBarMoved(int)));
- connect(m_treeView->verticalScrollBar(), SIGNAL(sliderMoved(int)),
+ connect(m_treeView->verticalScrollBar(), SIGNAL(valueChanged(int)),
this, SLOT(slotVerticalScrollBarMoved(int)));
QVBoxLayout* layout = new QVBoxLayout(this);
void FoldersPanel::slotDirListerCompleted()
{
m_treeView->resizeColumnToContents(DolphinModel::Name);
-
- if (m_setLeafVisible) {
- // Invoke scrollToLeaf() asynchronously. This assures that
- // the horizontal scrollbar is shown after resizing the column
- // (otherwise the scrollbar might hide the leaf).
- QTimer::singleShot(0, this, SLOT(scrollToLeaf()));
- m_setLeafVisible = false;
- }
}
void FoldersPanel::slotHorizontalScrollBarMoved(int value)
void FoldersPanel::loadTree(const KUrl& url)
{
- Q_ASSERT(m_dirLister != 0);
+ Q_ASSERT(m_dirLister);
m_leafDir = url;
KUrl baseUrl;
{
const QModelIndex dirIndex = m_dolphinModel->indexForUrl(m_leafDir);
const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
+
if (proxyIndex.isValid()) {
QItemSelectionModel* selModel = m_treeView->selectionModel();
selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::ClearAndSelect);
+
+ if (m_setLeafVisible) {
+ // Invoke scrollToLeaf() asynchronously. This assures that
+ // the horizontal scrollbar is shown after resizing the column
+ // (otherwise the scrollbar might hide the leaf).
+ QTimer::singleShot(0, this, SLOT(scrollToLeaf()));
+ m_setLeafVisible = false;
+ }
}
}