diff options
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index ad760fb13..53d8acae5 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -98,8 +98,8 @@ DolphinView::DolphinView(QWidget* parent, this, SLOT(updateSorting(DolphinView::Sorting))); connect(m_controller, SIGNAL(sortOrderChanged(Qt::SortOrder)), this, SLOT(updateSortOrder(Qt::SortOrder))); - connect(m_controller, SIGNAL(itemTriggered(const QModelIndex&)), - this, SLOT(triggerItem(const QModelIndex&))); + connect(m_controller, SIGNAL(itemTriggered(const KFileItem&)), + this, SLOT(triggerItem(const KFileItem&))); connect(m_controller, SIGNAL(activated()), this, SLOT(activate())); connect(m_controller, SIGNAL(itemEntered(const KFileItem&)), @@ -122,7 +122,7 @@ const KUrl& DolphinView::url() const KUrl DolphinView::rootUrl() const { - return isColumnViewActive() ? m_dirLister->url() : url(); + return isColumnViewActive() ? m_columnView->rootUrl() : url(); } void DolphinView::setActive(bool active) @@ -457,6 +457,7 @@ void DolphinView::updateView(const KUrl& url, const KUrl& rootUrl) // that the view properties have been changed or deleted in the meantime, so // it cannot be asserted that really a column view has been created: if (itemView() == m_columnView) { + m_columnView->setRootUrl(rootUrl); m_columnView->showColumn(url); } } else { @@ -484,10 +485,8 @@ void DolphinView::activate() setActive(true); } -void DolphinView::triggerItem(const QModelIndex& index) +void DolphinView::triggerItem(const KFileItem& item) { - Q_ASSERT(index.isValid()); - const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers(); if ((modifier & Qt::ShiftModifier) || (modifier & Qt::ControlModifier)) { // items are selected by the user, hence don't trigger the @@ -495,8 +494,6 @@ void DolphinView::triggerItem(const QModelIndex& index) return; } - const KFileItem item = m_dolphinModel->itemForIndex(m_proxyModel->mapToSource(index)); - if (item.isNull()) { return; } @@ -558,10 +555,14 @@ void DolphinView::loadDirectory(const KUrl& url, bool reload) m_dirLister->stop(); m_dirLister->openUrl(url, reload ? KDirLister::Reload : KDirLister::NoFlags); - if (isColumnViewActive() && reload) { - // reloading the directory lister is not enough in the case of the + if (isColumnViewActive()) { + // adjusting the directory lister is not enough in the case of the // column view, as each column has its own directory lister internally... - m_columnView->reload(); + if (reload) { + m_columnView->reload(); + } else { + m_columnView->showColumn(url); + } } } @@ -576,7 +577,7 @@ KUrl DolphinView::viewPropertiesUrl() const void DolphinView::applyViewProperties(const KUrl& url) { - if (isColumnViewActive() && m_dirLister->url().isParentOf(url)) { + if (isColumnViewActive() && rootUrl().isParentOf(url)) { // The column view is active, hence don't apply the view properties // of sub directories (represented by columns) to the view. The // view always represents the properties of the first column. |
