X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/f81d73a7f3a851dc755ef0cd1fd2a2507587a900..83949a88f289e61df180556a024fe0fd7c4dd594:/src/views/dolphinviewactionhandler.cpp diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 4d5dba070..e504fd831 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -12,6 +12,7 @@ #include "selectionmode/actiontexthelper.h" #include "settings/viewpropertiesdialog.h" #include "views/zoomlevelinfo.h" +#include "views/zoomwidgetaction.h" #if HAVE_BALOO #include @@ -251,13 +252,8 @@ void DolphinViewActionHandler::createActions(SelectionMode::ActionTextHelper *ac QAction *zoomOutAction = KStandardAction::zoomOut(this, &DolphinViewActionHandler::zoomOut, m_actionCollection); zoomOutAction->setWhatsThis(i18nc("@info:whatsthis zoom out", "This reduces the icon size.")); - KActionMenu *zoomMenu = m_actionCollection->add(QStringLiteral("zoom")); - zoomMenu->setText(i18nc("@action:inmenu menu of zoom actions", "Zoom")); - zoomMenu->setIcon(QIcon::fromTheme(QStringLiteral("zoom"))); - zoomMenu->setPopupMode(QToolButton::InstantPopup); - zoomMenu->addAction(zoomInAction); - zoomMenu->addAction(zoomResetAction); - zoomMenu->addAction(zoomOutAction); + ZoomWidgetAction *zoomWidgetAction = new ZoomWidgetAction(zoomInAction, zoomResetAction, zoomOutAction, m_actionCollection); + m_actionCollection->addAction(QStringLiteral("zoom"), zoomWidgetAction); KToggleAction *showPreview = m_actionCollection->add(QStringLiteral("show_preview")); showPreview->setText(i18nc("@action:intoolbar", "Show Previews")); @@ -358,6 +354,26 @@ 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(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.")); + const auto actions = viewModeActions->actions(); + for (QAction *action : actions) { + viewSettings->addAction(action); + } + viewSettings->addSeparator(); + viewSettings->addAction(zoomWidgetAction); + 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 +454,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 +535,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"));