diff options
| author | Peter Penz <[email protected]> | 2007-09-25 11:06:54 +0000 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2007-09-25 11:06:54 +0000 |
| commit | 991df9c857d5f69ebec4d9ed5e7f35ab26940ffa (patch) | |
| tree | f88a561b91c180fe6fa971140cb68c4ff1e4c7e4 | |
| parent | 9bbab1421ce1d8b73b16658448ac03e3ca6428b8 (diff) | |
clear columns if the new URL is no parent of the currently shown columns
svn path=/trunk/KDE/kdebase/apps/; revision=716840
| -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; |
