┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/dolphinmainwindow.cpp9
-rw-r--r--src/dolphinpart.cpp16
-rw-r--r--src/dolphinpart.h3
-rw-r--r--src/dolphinview.cpp15
-rw-r--r--src/dolphinview.h9
5 files changed, 45 insertions, 7 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 8948a53a9..2e376bc68 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -650,11 +650,7 @@ void DolphinMainWindow::sortByTags()
void DolphinMainWindow::toggleSortOrder()
{
- DolphinView* view = m_activeViewContainer->view();
- const Qt::SortOrder order = (view->sortOrder() == Qt::AscendingOrder) ?
- Qt::DescendingOrder :
- Qt::AscendingOrder;
- view->setSortOrder(order);
+ m_activeViewContainer->view()->toggleSortOrder();
}
void DolphinMainWindow::toggleSortCategorization()
@@ -1125,8 +1121,7 @@ void DolphinMainWindow::setupActions()
//sortGroup->addAction(sortByRating);
//sortGroup->addAction(sortByTags);
- KToggleAction* sortDescending = actionCollection()->add<KToggleAction>("descending");
- sortDescending->setText(i18nc("@action:inmenu Sort", "Descending"));
+ KAction* sortDescending = DolphinView::createSortDescendingAction(actionCollection());
connect(sortDescending, SIGNAL(triggered()), this, SLOT(toggleSortOrder()));
KToggleAction* showInGroups = actionCollection()->add<KToggleAction>("show_in_groups");
diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp
index 2c4c1eaa3..e7c919ad8 100644
--- a/src/dolphinpart.cpp
+++ b/src/dolphinpart.cpp
@@ -93,6 +93,8 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QStringLi
this, SLOT(slotUrlChanged(KUrl)));
connect(m_view, SIGNAL(modeChanged()),
this, SLOT(updateViewActions()));
+ connect(m_view, SIGNAL(sortOrderChanged(Qt::SortOrder)),
+ this, SLOT(slotSortOrderChanged(Qt::SortOrder)));
QClipboard* clipboard = QApplication::clipboard();
connect(clipboard, SIGNAL(dataChanged()),
@@ -144,6 +146,13 @@ void DolphinPart::createActions()
propertiesAction->setShortcut(Qt::ALT+Qt::Key_Return);
connect(propertiesAction, SIGNAL(triggered()), SLOT(slotProperties()));
+ // View menu
+
+ // TODO sort_by_*
+
+ KAction* sortDescending = DolphinView::createSortDescendingAction(actionCollection());
+ connect(sortDescending, SIGNAL(triggered()), m_view, SLOT(toggleSortOrder()));
+
// Go menu
KAction* newDirAction = DolphinView::createNewDirAction(actionCollection());
@@ -431,4 +440,11 @@ void DolphinPart::createDir()
KonqOperations::newDir(m_view, url());
}
+void DolphinPart::slotSortOrderChanged(Qt::SortOrder order)
+{
+ KToggleAction* descending = static_cast<KToggleAction*>(actionCollection()->action("descending"));
+ const bool sortDescending = (order == Qt::DescendingOrder);
+ descending->setChecked(sortDescending);
+}
+
#include "dolphinpart.moc"
diff --git a/src/dolphinpart.h b/src/dolphinpart.h
index 04161b6be..883cf9456 100644
--- a/src/dolphinpart.h
+++ b/src/dolphinpart.h
@@ -136,6 +136,9 @@ private Q_SLOTS:
*/
void createDir();
+ /** Updates the state of the 'Sort Ascending/Descending' action. */
+ void slotSortOrderChanged(Qt::SortOrder);
+
private:
void createActions();
void createGoAction(const char* name, const char* iconName,
diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp
index bd5be2109..a1bba6d5c 100644
--- a/src/dolphinview.cpp
+++ b/src/dolphinview.cpp
@@ -746,6 +746,14 @@ void DolphinView::updateSortOrder(Qt::SortOrder order)
emit sortOrderChanged(order);
}
+void DolphinView::toggleSortOrder()
+{
+ const Qt::SortOrder order = (sortOrder() == Qt::AscendingOrder) ?
+ Qt::DescendingOrder :
+ Qt::AscendingOrder;
+ setSortOrder(order);
+}
+
void DolphinView::updateAdditionalInfo(const KFileItemDelegate::InformationList& info)
{
ViewProperties props(viewPropertiesUrl());
@@ -1145,4 +1153,11 @@ KAction* DolphinView::createNewDirAction(KActionCollection* collection)
return newDirAction;
}
+KAction* DolphinView::createSortDescendingAction(KActionCollection* collection)
+{
+ KToggleAction* sortDescending = collection->add<KToggleAction>("descending");
+ sortDescending->setText(i18nc("@action:inmenu Sort", "Descending"));
+ return sortDescending;
+}
+
#include "dolphinview.moc"
diff --git a/src/dolphinview.h b/src/dolphinview.h
index 44efbc438..5ee535cb4 100644
--- a/src/dolphinview.h
+++ b/src/dolphinview.h
@@ -367,6 +367,12 @@ public:
static KAction* createNewDirAction(KActionCollection* collection);
/**
+ * Creates the "sort descending" action.
+ * This code is here to share it between the mainwindow and the part
+ */
+ static KAction* createSortDescendingAction(KActionCollection* collection);
+
+ /**
* Returns the action name corresponding to the current view mode
*/
QString currentViewModeActionName() const;
@@ -421,6 +427,9 @@ public slots:
/** Pastes the clipboard data to this view. */
void paste();
+ /** Switches between an ascending and descending sorting order. */
+ void toggleSortOrder();
+
signals:
/**
* Is emitted if the view has been activated by e. g. a mouse click.