diff options
| author | David Faure <[email protected]> | 2008-01-21 19:44:36 +0000 |
|---|---|---|
| committer | David Faure <[email protected]> | 2008-01-21 19:44:36 +0000 |
| commit | 3c1efcb738e7ee6a00030f521138f81625e84b96 (patch) | |
| tree | 42e6a2b1cbb562150ebf44d075600abc9412a492 /src | |
| parent | e3da86af95dd620f62c1acc245b7bf98769a94fd (diff) | |
Make sort/descending available in dolphinpart
svn path=/trunk/KDE/kdebase/apps/; revision=764445
Diffstat (limited to 'src')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 9 | ||||
| -rw-r--r-- | src/dolphinpart.cpp | 16 | ||||
| -rw-r--r-- | src/dolphinpart.h | 3 | ||||
| -rw-r--r-- | src/dolphinview.cpp | 15 | ||||
| -rw-r--r-- | src/dolphinview.h | 9 |
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. |
