┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/dolphinviewactionhandler.cpp
diff options
context:
space:
mode:
authorJin Liu <[email protected]>2025-04-10 12:30:29 +0800
committerJin Liu <[email protected]>2025-04-16 06:24:46 +0000
commit676c7fee62a42605d8f896be1089158159a8003c (patch)
treea461cae0ca3440ee33d0d9154c59feff34085c07 /src/views/dolphinviewactionhandler.cpp
parente6b1ecc3f7802c677c68646e2674212a31e78957 (diff)
Add a new "view_settings" action
This should replace the "View Mode" button in the toolbar by default. Its dropdown menu contains more actions related to the view: zoom, sort by, show additional columns, show hidden files, grouping, show file previews. The original "view_mode" action is kept so the "Change View Mode" submenu in the main menu (or in the hamburger menu when this button is invisible) is unchanged.
Diffstat (limited to 'src/views/dolphinviewactionhandler.cpp')
-rw-r--r--src/views/dolphinviewactionhandler.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp
index 682a4314a..b7c21c8b9 100644
--- a/src/views/dolphinviewactionhandler.cpp
+++ b/src/views/dolphinviewactionhandler.cpp
@@ -358,6 +358,25 @@ void DolphinViewActionHandler::createActions(SelectionMode::ActionTextHelper *ac
"This opens a window "
"in which all folder view properties can be adjusted."));
connect(adjustViewProps, &QAction::triggered, this, &DolphinViewActionHandler::slotAdjustViewProperties);
+
+ // View settings: the dropdown menu contains various view-related actions
+ KActionMenu *viewSettings = m_actionCollection->add<KActionMenu>(QStringLiteral("view_settings"));
+ viewSettings->setText(i18nc("@action:intoolbar", "View Settings"));
+ viewSettings->setWhatsThis(
+ xi18nc("@info:whatsthis View Settings Toolbutton", "This cycles through all view modes. The dropdown menu contains various view-related actions."));
+ for (QAction *action : viewModeActions->actions()) {
+ viewSettings->addAction(action);
+ }
+ viewSettings->addSeparator();
+ viewSettings->addAction(zoomMenu);
+ viewSettings->addAction(sortByActionMenu);
+ viewSettings->addAction(visibleRolesMenu);
+ viewSettings->addAction(showPreview);
+ viewSettings->addAction(showInGroups);
+ viewSettings->addAction(showHiddenFiles);
+ viewSettings->addAction(adjustViewProps);
+ viewSettings->setPopupMode(QToolButton::ToolButtonPopupMode::MenuButtonPopup);
+ connect(viewSettings, &KActionMenu::triggered, viewModeActions, &KSelectAction::triggered);
}
QActionGroup *DolphinViewActionHandler::createFileItemRolesActionGroup(const QString &groupPrefix)
@@ -438,6 +457,9 @@ void DolphinViewActionHandler::slotViewModeActionTriggered(QAction *action)
QAction *viewModeMenu = m_actionCollection->action(QStringLiteral("view_mode"));
viewModeMenu->setIcon(action->icon());
+
+ QAction *viewSettingsAction = m_actionCollection->action(QStringLiteral("view_settings"));
+ viewSettingsAction->setIcon(action->icon());
}
void DolphinViewActionHandler::slotRename()
@@ -516,6 +538,9 @@ void DolphinViewActionHandler::updateViewActions()
QAction *viewModeMenu = m_actionCollection->action(QStringLiteral("view_mode"));
viewModeMenu->setIcon(viewModeAction->icon());
+
+ QAction *viewSettingsAction = m_actionCollection->action(QStringLiteral("view_settings"));
+ viewSettingsAction->setIcon(viewModeAction->icon());
}
QAction *showPreviewAction = m_actionCollection->action(QStringLiteral("show_preview"));