diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphincolumnview.cpp | 23 | ||||
| -rw-r--r-- | src/dolphincolumnview.h | 6 |
2 files changed, 12 insertions, 17 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp index f8bcf548e..119888f2d 100644 --- a/src/dolphincolumnview.cpp +++ b/src/dolphincolumnview.cpp @@ -506,7 +506,18 @@ void DolphinColumnView::showColumn(const KUrl& url) { const KUrl& rootUrl = m_columns[0]->url(); if (!rootUrl.isParentOf(url)) { - // the URL is no child URL of the column view, hence do nothing + // the URL is no child URL of the column view, hence clear all columns + // and reset the root column + QList<ColumnWidget*>::iterator start = m_columns.begin() + 1; + QList<ColumnWidget*>::iterator end = m_columns.end(); + for (QList<ColumnWidget*>::iterator it = start; it != end; ++it) { + (*it)->deleteLater(); + } + m_columns.erase(start, end); + m_index = 0; + m_columns[0]->setActive(true); + m_columns[0]->setUrl(url); + assureVisibleActiveColumn(); return; } @@ -870,14 +881,4 @@ void DolphinColumnView::requestActivation(ColumnWidget* column) } } -void DolphinColumnView::deleteInactiveChildColumns() -{ - QList<ColumnWidget*>::iterator start = m_columns.begin() + m_index + 1; - QList<ColumnWidget*>::iterator end = m_columns.end(); - for (QList<ColumnWidget*>::iterator it = start; it != end; ++it) { - (*it)->deleteLater(); - } - m_columns.erase(start, end); -} - #include "dolphincolumnview.moc" diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h index 71ac89468..75d07ce07 100644 --- a/src/dolphincolumnview.h +++ b/src/dolphincolumnview.h @@ -142,12 +142,6 @@ private: */ void requestActivation(ColumnWidget* column); - /** - * Deletes all inactive child columns, that are a child of - * the currently active column. - */ - void deleteInactiveChildColumns(); - private: DolphinController* m_controller; bool m_restoreActiveColumnFocus; |
