┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinview.cpp
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2009-04-20 17:52:21 +0000
committerFrank Reininghaus <[email protected]>2009-04-20 17:52:21 +0000
commit29c5ab3b74d26657c60b40770676be082caa953d (patch)
treeea6440883b7c1a12a9ee14b78217f481d10986e9 /src/dolphinview.cpp
parentf6e3d851334e14a05f5e1a7b281a7101a12d43bb (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.cpp35
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);