┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-02-11 18:27:49 +0000
committerPeter Penz <[email protected]>2008-02-11 18:27:49 +0000
commitd432679df0c7a4bcba210fed69df0699c1de12c0 (patch)
tree0cd1e97a29d2ce716c5c4d188cc089bad55cb8db /src
parent142c7628e8687e7236f80ed23f26c80f87915d1f (diff)
apply sorting + sort order to the column view
BUG: 157343 svn path=/trunk/KDE/kdebase/apps/; revision=773766
Diffstat (limited to 'src')
-rw-r--r--src/dolphincolumnview.cpp18
-rw-r--r--src/dolphincolumnview.h4
-rw-r--r--src/dolphincolumnwidget.cpp13
-rw-r--r--src/dolphincolumnwidget.h4
-rw-r--r--src/dolphinview.cpp2
5 files changed, 40 insertions, 1 deletions
diff --git a/src/dolphincolumnview.cpp b/src/dolphincolumnview.cpp
index 7e74b7e34..907daa0d6 100644
--- a/src/dolphincolumnview.cpp
+++ b/src/dolphincolumnview.cpp
@@ -59,6 +59,10 @@ DolphinColumnView::DolphinColumnView(QWidget* parent, DolphinController* control
this, SLOT(updateColumnsBackground(bool)));
const DolphinView* view = controller->dolphinView();
+ connect(view, SIGNAL(sortingChanged(DolphinView::Sorting)),
+ this, SLOT(slotSortingChanged(DolphinView::Sorting)));
+ connect(view, SIGNAL(sortOrderChanged(Qt::SortOrder)),
+ this, SLOT(slotSortOrderChanged(Qt::SortOrder)));
connect(view, SIGNAL(showHiddenFilesChanged()),
this, SLOT(slotShowHiddenFilesChanged()));
connect(view, SIGNAL(showPreviewChanged()),
@@ -408,6 +412,20 @@ void DolphinColumnView::updateColumnsBackground(bool active)
}
}
+void DolphinColumnView::slotSortingChanged(DolphinView::Sorting sorting)
+{
+ foreach (DolphinColumnWidget* column, m_columns) {
+ column->setSorting(sorting);
+ }
+}
+
+void DolphinColumnView::slotSortOrderChanged(Qt::SortOrder order)
+{
+ foreach (DolphinColumnWidget* column, m_columns) {
+ column->setSortOrder(order);
+ }
+}
+
void DolphinColumnView::slotShowHiddenFilesChanged()
{
const bool show = m_controller->dolphinView()->showHiddenFiles();
diff --git a/src/dolphincolumnview.h b/src/dolphincolumnview.h
index 30ac7ae71..1ebca0d67 100644
--- a/src/dolphincolumnview.h
+++ b/src/dolphincolumnview.h
@@ -20,6 +20,8 @@
#ifndef DOLPHINCOLUMNVIEW_H
#define DOLPHINCOLUMNVIEW_H
+#include "dolphinview.h"
+
#include <kurl.h>
#include <QAbstractItemView>
@@ -128,6 +130,8 @@ private slots:
*/
void updateColumnsBackground(bool active);
+ void slotSortingChanged(DolphinView::Sorting sorting);
+ void slotSortOrderChanged(Qt::SortOrder order);
void slotShowHiddenFilesChanged();
void slotShowPreviewChanged();
diff --git a/src/dolphincolumnwidget.cpp b/src/dolphincolumnwidget.cpp
index c2ba385ad..3eed9f4b3 100644
--- a/src/dolphincolumnwidget.cpp
+++ b/src/dolphincolumnwidget.cpp
@@ -118,6 +118,9 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
m_proxyModel = new DolphinSortFilterProxyModel(this);
m_proxyModel->setSourceModel(m_dolphinModel);
m_proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
+ const DolphinView* dolphinView = m_view->m_controller->dolphinView();
+ m_proxyModel->setSorting(dolphinView->sorting());
+ m_proxyModel->setSortOrder(dolphinView->sortOrder());
setModel(m_proxyModel);
const bool useSelManager = KGlobalSettings::singleClick() &&
@@ -173,6 +176,16 @@ void DolphinColumnWidget::reload()
m_dirLister->openUrl(m_url, KDirLister::Reload);
}
+void DolphinColumnWidget::setSorting(DolphinView::Sorting sorting)
+{
+ m_proxyModel->setSorting(sorting);
+}
+
+void DolphinColumnWidget::setSortOrder(Qt::SortOrder order)
+{
+ m_proxyModel->setSortOrder(order);
+}
+
void DolphinColumnWidget::setShowHiddenFiles(bool show)
{
if (show != m_dirLister->showingDotFiles()) {
diff --git a/src/dolphincolumnwidget.h b/src/dolphincolumnwidget.h
index 87c7ab577..bacbc9609 100644
--- a/src/dolphincolumnwidget.h
+++ b/src/dolphincolumnwidget.h
@@ -20,6 +20,8 @@
#ifndef DOLPHINCOLUMNWIDGET_H
#define DOLPHINCOLUMNWIDGET_H
+#include "dolphinview.h"
+
#include <QFont>
#include <QListView>
#include <QSize>
@@ -79,6 +81,8 @@ public:
/** Reloads the directory DolphinColumnWidget::url(). */
void reload();
+ void setSorting(DolphinView::Sorting sorting);
+ void setSortOrder(Qt::SortOrder order);
void setShowHiddenFiles(bool show);
void setShowPreview(bool show);
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index 1ed8310a6..7d3fea96a 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -594,7 +594,7 @@ void DolphinView::loadDirectory(const KUrl& url, bool reload)
KUrl DolphinView::viewPropertiesUrl() const
{
if (isColumnViewActive()) {
- return m_dirLister->url();
+ return m_columnView->rootUrl();
}
return url();