#include "treeviewsidebarpage.h"
-#include "kbookmarkmanager.h"
#include "dolphinmainwindow.h"
#include "dolphinsortfilterproxymodel.h"
#include "dolphinview.h"
#include "sidebartreeview.h"
#include "treeviewcontextmenu.h"
+#include <kfileplacesmodel.h>
#include <kdirlister.h>
#include <kdirmodel.h>
#include <kfileitem.h>
#include "dolphinsettings.h"
TreeViewSidebarPage::TreeViewSidebarPage(QWidget* parent) :
- SidebarPage(parent),
- m_dirLister(0),
- m_dirModel(0),
- m_proxyModel(0),
- m_treeView(0)
+ SidebarPage(parent),
+ m_dirLister(0),
+ m_dirModel(0),
+ m_proxyModel(0),
+ m_treeView(0)
{
m_dirLister = new KDirLister();
m_dirLister->setDirOnlyMode(true);
m_treeView->setModel(m_proxyModel);
m_proxyModel->setSorting(DolphinView::SortByName);
- m_proxyModel->setSortOrder(Qt::Ascending);
+ m_proxyModel->setSortOrder(Qt::AscendingOrder);
connect(m_treeView, SIGNAL(clicked(const QModelIndex&)),
this, SLOT(updateActiveView(const QModelIndex&)));
m_url = url;
// adjust the root of the tree to the base bookmark
- KBookmarkManager* bookmarkManager = DolphinSettings::instance().bookmarkManager();
- const KUrl baseUrl = bookmarkManager->root().closestBookmark(url).url();
+ KFilePlacesModel* placesModel = DolphinSettings::instance().placesModel();
+ KUrl baseUrl = placesModel->url(placesModel->closestItem(url));
+ if (!baseUrl.isValid()) {
+ // it's possible that no closest item is available and hence an
+ // empty URL is returned
+ baseUrl = url;
+ }
+
if (m_dirLister->url() != baseUrl) {
m_dirLister->stop();
m_dirLister->openUrl(baseUrl);
const QModelIndex proxyIndex = m_proxyModel->mapFromSource(index);
m_treeView->scrollTo(proxyIndex);
selModel->setCurrentIndex(proxyIndex, QItemSelectionModel::Select);
- }
- else {
+ } else {
// The item with the given URL is not loaded by the model yet. Iterate
// backward to the base URL and trigger the loading of the items for
// each hierarchy level.