X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/3286a194d6e2e25e5685556d4eda2d6e24fdb672..011fe5b1e89b6e509165bc0551e164f3432aaa94:/src/views/dolphinviewactionhandler.cpp diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index c9bab5f82..90109605b 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -57,6 +57,8 @@ void DolphinViewActionHandler::setCurrentView(DolphinView* view) this, &DolphinViewActionHandler::slotSortOrderChanged); connect(view, &DolphinView::sortFoldersFirstChanged, this, &DolphinViewActionHandler::slotSortFoldersFirstChanged); + connect(view, &DolphinView::sortHiddenLastChanged, + this, &DolphinViewActionHandler::slotSortHiddenLastChanged); connect(view, &DolphinView::visibleRolesChanged, this, &DolphinViewActionHandler::slotVisibleRolesChanged); connect(view, &DolphinView::groupedSortingChanged, @@ -253,6 +255,10 @@ void DolphinViewActionHandler::createActions() sortFoldersFirst->setText(i18nc("@action:inmenu Sort", "Folders First")); connect(sortFoldersFirst, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleSortFoldersFirst); + KToggleAction* sortHiddenLast = m_actionCollection->add(QStringLiteral("hidden_last")); + sortHiddenLast->setText(i18nc("@action:inmenu Sort", "Hidden Files Last")); + connect(sortHiddenLast, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleSortHiddenLast); + // View -> Sort By QActionGroup* sortByActionGroup = createFileItemRolesActionGroup(QStringLiteral("sort_by_")); @@ -287,6 +293,7 @@ void DolphinViewActionHandler::createActions() sortByActionMenu->addAction(descendingAction); sortByActionMenu->addSeparator(); sortByActionMenu->addAction(sortFoldersFirst); + sortByActionMenu->addAction(sortHiddenLast); // View -> Additional Information QActionGroup* visibleRolesGroup = createFileItemRolesActionGroup(QStringLiteral("show_")); @@ -481,6 +488,7 @@ void DolphinViewActionHandler::updateViewActions() slotSortOrderChanged(m_currentView->sortOrder()); slotSortFoldersFirstChanged(m_currentView->sortFoldersFirst()); + slotSortHiddenLastChanged(m_currentView->sortHiddenLast()); slotVisibleRolesChanged(m_currentView->visibleRoles(), QList()); slotGroupedSortingChanged(m_currentView->groupedSorting()); slotSortRoleChanged(m_currentView->sortRole()); @@ -516,6 +524,12 @@ void DolphinViewActionHandler::toggleSortFoldersFirst() m_currentView->setSortFoldersFirst(!sortFirst); } +void DolphinViewActionHandler::toggleSortHiddenLast() +{ + const bool sortHiddenLast = m_currentView->sortHiddenLast(); + m_currentView->setSortHiddenLast(!sortHiddenLast); +} + void DolphinViewActionHandler::slotSortOrderChanged(Qt::SortOrder order) { QAction* descending = m_actionCollection->action(QStringLiteral("descending")); @@ -530,6 +544,11 @@ void DolphinViewActionHandler::slotSortFoldersFirstChanged(bool foldersFirst) m_actionCollection->action(QStringLiteral("folders_first"))->setChecked(foldersFirst); } +void DolphinViewActionHandler::slotSortHiddenLastChanged(bool hiddenLast) +{ + m_actionCollection->action(QStringLiteral("hidden_last"))->setChecked(hiddenLast); +} + void DolphinViewActionHandler::toggleVisibleRole(QAction* action) { Q_EMIT actionBeingHandled();