diff options
| author | Frank Reininghaus <[email protected]> | 2009-04-20 17:52:21 +0000 |
|---|---|---|
| committer | Frank Reininghaus <[email protected]> | 2009-04-20 17:52:21 +0000 |
| commit | 29c5ab3b74d26657c60b40770676be082caa953d (patch) | |
| tree | ea6440883b7c1a12a9ee14b78217f481d10986e9 /src/dolphinview.cpp | |
| parent | f6e3d851334e14a05f5e1a7b281a7101a12d43bb (diff) | |
Let the user choose if folders are always shown first in the views of
Dolphin and Konqueror (the default) or not. This setting can be
changed in the View menu: "View->Sort By->Folders First".
FEATURE: 62007
svn path=/trunk/KDE/kdebase/apps/; revision=956820
Diffstat (limited to 'src/dolphinview.cpp')
| -rw-r--r-- | src/dolphinview.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index ed17c94ab..f2f23d273 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -129,6 +129,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(sortFoldersFirstChanged(bool)), + this, SLOT(updateSortFoldersFirst(bool))); connect(m_controller, SIGNAL(additionalInfoChanged(const KFileItemDelegate::InformationList&)), this, SLOT(updateAdditionalInfo(const KFileItemDelegate::InformationList&))); connect(m_controller, SIGNAL(itemTriggered(const KFileItem&)), @@ -443,6 +445,18 @@ Qt::SortOrder DolphinView::sortOrder() const return m_proxyModel->sortOrder(); } +void DolphinView::setSortFoldersFirst(bool foldersFirst) +{ + if (sortFoldersFirst() != foldersFirst) { + updateSortFoldersFirst(foldersFirst); + } +} + +bool DolphinView::sortFoldersFirst() const +{ + return m_proxyModel->sortFoldersFirst(); +} + void DolphinView::setAdditionalInfo(KFileItemDelegate::InformationList info) { const KUrl viewPropsUrl = viewPropertiesUrl(); @@ -818,6 +832,11 @@ void DolphinView::toggleSortOrder() setSortOrder(order); } +void DolphinView::toggleSortFoldersFirst() +{ + setSortFoldersFirst(!sortFoldersFirst()); +} + void DolphinView::toggleAdditionalInfo(QAction* action) { const KFileItemDelegate::Information info = @@ -987,6 +1006,16 @@ void DolphinView::updateSortOrder(Qt::SortOrder order) emit sortOrderChanged(order); } +void DolphinView::updateSortFoldersFirst(bool foldersFirst) +{ + ViewProperties props(viewPropertiesUrl()); + props.setSortFoldersFirst(foldersFirst); + + m_proxyModel->setSortFoldersFirst(foldersFirst); + + emit sortFoldersFirstChanged(foldersFirst); +} + void DolphinView::updateAdditionalInfo(const KFileItemDelegate::InformationList& info) { ViewProperties props(viewPropertiesUrl()); @@ -1277,6 +1306,12 @@ void DolphinView::applyViewProperties(const KUrl& url) emit sortOrderChanged(sortOrder); } + const bool sortFoldersFirst = props.sortFoldersFirst(); + if (sortFoldersFirst != m_proxyModel->sortFoldersFirst()) { + m_proxyModel->setSortFoldersFirst(sortFoldersFirst); + emit sortFoldersFirstChanged(sortFoldersFirst); + } + KFileItemDelegate::InformationList info = props.additionalInfo(); if (info != m_fileItemDelegate->showInformation()) { m_fileItemDelegate->setShowInformation(info); |
