From fb210d6ec42f1a8fb301c187ca09c4e7647459ef Mon Sep 17 00:00:00 2001 From: David Hurka Date: Sun, 6 Dec 2020 18:47:07 +0000 Subject: [PATCH] Port to new KActionMenu popup mode API Use KActionMenu and KToolBarPopupAction::setPopupMode() methods instead of setDelayed() and setStickyMenu(). Are available since KF 5.77 and KF 5.78 respectively, which is already required by Dolphin. --- src/dolphinmainwindow.cpp | 12 +++++------- src/dolphinrecenttabsmenu.cpp | 2 +- src/views/dolphinremoteencoding.cpp | 2 +- src/views/dolphinviewactionhandler.cpp | 4 ++-- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 737856b23..d8c27526b 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -1371,7 +1371,7 @@ void DolphinMainWindow::setupActions() QMenu* menu = m_newFileMenu->menu(); menu->setTitle(i18nc("@title:menu Create new folder, file, link, etc.", "Create New")); menu->setIcon(QIcon::fromTheme(QStringLiteral("list-add"))); - m_newFileMenu->setDelayed(false); + m_newFileMenu->setPopupMode(QToolButton::InstantPopup); connect(menu, &QMenu::aboutToShow, this, &DolphinMainWindow::updateNewMenu); @@ -1574,8 +1574,7 @@ void DolphinMainWindow::setupActions() m_backAction->setObjectName(backAction->objectName()); m_backAction->setShortcuts(backAction->shortcuts()); } - m_backAction->setDelayed(true); - m_backAction->setStickyMenu(false); + m_backAction->setPopupMode(QToolButton::DelayedPopup); connect(m_backAction, &QAction::triggered, this, &DolphinMainWindow::goBack); connect(m_backAction->menu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowBackPopupMenu); connect(m_backAction->menu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoBack); @@ -1618,8 +1617,7 @@ void DolphinMainWindow::setupActions() m_forwardAction->setObjectName(forwardAction->objectName()); m_forwardAction->setShortcuts(forwardAction->shortcuts()); } - m_forwardAction->setDelayed(true); - m_forwardAction->setStickyMenu(false); + m_forwardAction->setPopupMode(QToolButton::DelayedPopup); connect(m_forwardAction, &QAction::triggered, this, &DolphinMainWindow::goForward); connect(m_forwardAction->menu(), &QMenu::aboutToShow, this, &DolphinMainWindow::slotAboutToShowForwardPopupMenu); connect(m_forwardAction->menu(), &QMenu::triggered, this, &DolphinMainWindow::slotGoForward); @@ -1677,7 +1675,7 @@ void DolphinMainWindow::setupActions() KActionMenu *bookmarkMenu = new KActionMenu(i18nc("@title:menu", "&Bookmarks"), this); bookmarkMenu->setIcon(QIcon::fromTheme(QStringLiteral("bookmarks"))); // Make the toolbar button version work properly on click - bookmarkMenu->setDelayed(false); + bookmarkMenu->setPopupMode(QToolButton::InstantPopup); m_bookmarkHandler = new DolphinBookmarkHandler(this, actionCollection(), bookmarkMenu->menu(), this); actionCollection()->addAction(QStringLiteral("bookmarks"), bookmarkMenu); @@ -1979,7 +1977,7 @@ void DolphinMainWindow::setupDockWidgets() KActionMenu* panelsMenu = new KActionMenu(i18nc("@action:inmenu View", "Show Panels"), this); actionCollection()->addAction(QStringLiteral("panels"), panelsMenu); panelsMenu->setIcon(QIcon::fromTheme(QStringLiteral("view-sidetree"))); - panelsMenu->setDelayed(false); + panelsMenu->setPopupMode(QToolButton::InstantPopup); const KActionCollection* ac = actionCollection(); panelsMenu->addAction(ac->action(QStringLiteral("show_places_panel"))); #ifdef HAVE_BALOO diff --git a/src/dolphinrecenttabsmenu.cpp b/src/dolphinrecenttabsmenu.cpp index dede2f643..38eb4f657 100644 --- a/src/dolphinrecenttabsmenu.cpp +++ b/src/dolphinrecenttabsmenu.cpp @@ -15,7 +15,7 @@ DolphinRecentTabsMenu::DolphinRecentTabsMenu(QObject* parent) : KActionMenu(QIcon::fromTheme(QStringLiteral("edit-undo")), i18n("Recently Closed Tabs"), parent) { - setDelayed(false); + setPopupMode(QToolButton::InstantPopup); setEnabled(false); m_clearListAction = new QAction(i18n("Empty Recently Closed Tabs"), this); diff --git a/src/views/dolphinremoteencoding.cpp b/src/views/dolphinremoteencoding.cpp index fee3db1c1..41b3b6890 100644 --- a/src/views/dolphinremoteencoding.cpp +++ b/src/views/dolphinremoteencoding.cpp @@ -41,7 +41,7 @@ DolphinRemoteEncoding::DolphinRemoteEncoding(QObject* parent, DolphinViewActionH this, &DolphinRemoteEncoding::slotAboutToShow); m_menu->setEnabled(false); - m_menu->setDelayed(false); + m_menu->setPopupMode(QToolButton::InstantPopup); } DolphinRemoteEncoding::~DolphinRemoteEncoding() diff --git a/src/views/dolphinviewactionhandler.cpp b/src/views/dolphinviewactionhandler.cpp index 36b8dcc50..c9bab5f82 100644 --- a/src/views/dolphinviewactionhandler.cpp +++ b/src/views/dolphinviewactionhandler.cpp @@ -259,7 +259,7 @@ void DolphinViewActionHandler::createActions() KActionMenu* sortByActionMenu = m_actionCollection->add(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) { @@ -294,7 +294,7 @@ void DolphinViewActionHandler::createActions() KActionMenu* visibleRolesMenu = m_actionCollection->add(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) { -- 2.47.3