X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/1d3ccf2ada8f2d6f58b962eb19e49df647373477..fbf046b8bb7869229e85eb46e6bcfcf1acbbbf1f:/src/treeviewsidebarpage.cpp diff --git a/src/treeviewsidebarpage.cpp b/src/treeviewsidebarpage.cpp index 0e6edff08..7b434a495 100644 --- a/src/treeviewsidebarpage.cpp +++ b/src/treeviewsidebarpage.cpp @@ -31,10 +31,10 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include TreeViewSidebarPage::TreeViewSidebarPage(QWidget* parent) : SidebarPage(parent), @@ -51,6 +51,13 @@ TreeViewSidebarPage::~TreeViewSidebarPage() m_dirLister = 0; } +QSize TreeViewSidebarPage::sizeHint() const +{ + QSize size = SidebarPage::sizeHint(); + size.setWidth(200); + return size; +} + void TreeViewSidebarPage::setUrl(const KUrl& url) { if (!url.isValid() || (url == SidebarPage::url())) { @@ -65,6 +72,11 @@ void TreeViewSidebarPage::setUrl(const KUrl& url) void TreeViewSidebarPage::showEvent(QShowEvent* event) { + if (event->spontaneous()) { + SidebarPage::showEvent(event); + return; + } + if (m_dirLister == 0) { // 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 @@ -77,7 +89,7 @@ void TreeViewSidebarPage::showEvent(QShowEvent* event) m_dirLister->setAutoErrorHandlingEnabled(false, this); Q_ASSERT(m_dirModel == 0); - m_dirModel = new KDirModel(); + m_dirModel = new KDirModel(this); m_dirModel->setDirLister(m_dirLister); m_dirModel->setDropsAllowed(KDirModel::DropOnDirectory); @@ -116,9 +128,9 @@ void TreeViewSidebarPage::contextMenuEvent(QContextMenuEvent* event) } const QModelIndex dirModelIndex = m_proxyModel->mapToSource(index); - KFileItem* item = m_dirModel->itemForIndex(dirModelIndex); + KFileItem item = m_dirModel->itemForIndex(dirModelIndex); - emit changeSelection(KFileItemList()); + emit changeSelection(QList()); TreeViewContextMenu contextMenu(this, item); contextMenu.open(); } @@ -154,10 +166,9 @@ void TreeViewSidebarPage::expandSelectionParent() void TreeViewSidebarPage::updateActiveView(const QModelIndex& index) { const QModelIndex dirIndex = m_proxyModel->mapToSource(index); - const KFileItem* item = m_dirModel->itemForIndex(dirIndex); - if (item != 0) { - const KUrl& url = item->url(); - emit changeUrl(url); + const KFileItem item = m_dirModel->itemForIndex(dirIndex); + if (!item.isNull()) { + emit changeUrl(item.url()); } } @@ -166,10 +177,10 @@ void TreeViewSidebarPage::dropUrls(const KUrl::List& urls, { if (index.isValid()) { const QModelIndex dirIndex = m_proxyModel->mapToSource(index); - KFileItem* item = m_dirModel->itemForIndex(dirIndex); - Q_ASSERT(item != 0); - if (item->isDir()) { - emit urlsDropped(urls, item->url()); + KFileItem item = m_dirModel->itemForIndex(dirIndex); + Q_ASSERT(!item.isNull()); + if (item.isDir()) { + emit urlsDropped(urls, item.url()); } } }