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,
"This will copy the path of the first selected item into the clipboard."
));
- copyPathAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy")));
+ copyPathAction->setIcon(QIcon::fromTheme(QStringLiteral("edit-copy-path")));
m_actionCollection->setDefaultShortcuts(copyPathAction, {Qt::CTRL | Qt::ALT | Qt::Key_C});
connect(copyPathAction, &QAction::triggered, this, &DolphinViewActionHandler::slotCopyPath);
sortFoldersFirst->setText(i18nc("@action:inmenu Sort", "Folders First"));
connect(sortFoldersFirst, &KToggleAction::triggered, this, &DolphinViewActionHandler::toggleSortFoldersFirst);
+ KToggleAction* sortHiddenLast = m_actionCollection->add<KToggleAction>(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_"));
KActionMenu* sortByActionMenu = m_actionCollection->add<KActionMenu>(QStringLiteral("sort"));
sortByActionMenu->setIcon(QIcon::fromTheme(QStringLiteral("view-sort")));
sortByActionMenu->setText(i18nc("@action:inmenu View", "Sort By"));
- sortByActionMenu->setDelayed(false);
+ sortByActionMenu->setPopupMode(QToolButton::InstantPopup);
const auto sortByActionGroupActions = sortByActionGroup->actions();
for (QAction* action : sortByActionGroupActions) {
sortByActionMenu->addAction(descendingAction);
sortByActionMenu->addSeparator();
sortByActionMenu->addAction(sortFoldersFirst);
+ sortByActionMenu->addAction(sortHiddenLast);
// View -> Additional Information
QActionGroup* visibleRolesGroup = createFileItemRolesActionGroup(QStringLiteral("show_"));
KActionMenu* visibleRolesMenu = m_actionCollection->add<KActionMenu>(QStringLiteral("additional_info"));
visibleRolesMenu->setText(i18nc("@action:inmenu View", "Show Additional Information"));
visibleRolesMenu->setIcon(QIcon::fromTheme(QStringLiteral("documentinfo")));
- visibleRolesMenu->setDelayed(false);
+ visibleRolesMenu->setPopupMode(QToolButton::InstantPopup);
const auto visibleRolesGroupActions = visibleRolesGroup->actions();
for (QAction* action : visibleRolesGroupActions) {
slotSortOrderChanged(m_currentView->sortOrder());
slotSortFoldersFirstChanged(m_currentView->sortFoldersFirst());
+ slotSortHiddenLastChanged(m_currentView->sortHiddenLast());
slotVisibleRolesChanged(m_currentView->visibleRoles(), QList<QByteArray>());
slotGroupedSortingChanged(m_currentView->groupedSorting());
slotSortRoleChanged(m_currentView->sortRole());
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"));
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();