diff options
Diffstat (limited to 'kde-apps/konsole/files')
-rw-r--r-- | kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch b/kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch new file mode 100644 index 000000000000..d70a50ea0551 --- /dev/null +++ b/kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch @@ -0,0 +1,117 @@ +From e56c31a961b182663decd44bc57729576446315b Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Mon, 13 Apr 2020 11:30:47 +0200 +Subject: [PATCH] [BookmarkMenu] Adapt the code to KBookmarks 5.69 changes + +Starting from KBookmarks 5.69 the ctor that took a KActionCollection +parameter has been deprecated, and we need to manually add the various +bookmark actions to the actionCollection so that they show up in the +shortcusts editor. + +Move the code that overrides the add bookmark shortcut, Ctrl+B, to the +BookmarkMenu class, so that all the relevant code is in one place. + +BUG: 419981 +(cherry picked from commit 6db7f8d2593ccb0238b2b547ed6eaf7da6a26c4c) +(cherry picked from commit dcf8cf3f2255293da170648f633873aa7c4afcf1) +--- + src/BookmarkMenu.cpp | 34 +++++++++++++++++++++++++++++----- + src/BookmarkMenu.h | 2 +- + src/MainWindow.cpp | 10 ---------- + 3 files changed, 30 insertions(+), 16 deletions(-) + +diff --git a/src/BookmarkMenu.cpp b/src/BookmarkMenu.cpp +index 77344ad1..5b83ece9 100644 +--- a/src/BookmarkMenu.cpp ++++ b/src/BookmarkMenu.cpp +@@ -21,24 +21,48 @@ + + // Own + #include "BookmarkMenu.h" ++#include "Shortcut_p.h" + + // KDE + #include <KActionCollection> ++#include <kbookmarks_version.h> ++#include <KBookmarkManager> ++#include <KBookmark> + + // Qt + #include <QAction> +-#include <KBookmarkManager> +-#include <KBookmark> ++#include <QMenu> + + #include <algorithm> // std::any_of + +-BookmarkMenu::BookmarkMenu (KBookmarkManager *mgr, KBookmarkOwner *owner, QMenu *parentMenu, KActionCollection *collec) : +- KBookmarkMenu (mgr, owner, parentMenu, collec) ++BookmarkMenu::BookmarkMenu (KBookmarkManager *mgr, KBookmarkOwner *owner, QMenu *parentMenu, KActionCollection *collection) : ++#if KBOOKMARKS_VERSION < QT_VERSION_CHECK(5, 69, 0) ++ KBookmarkMenu (mgr, owner, parentMenu, collection) ++#else ++ KBookmarkMenu (mgr, owner, parentMenu) ++#endif + { ++ QAction *bookmarkAction; ++#if KBOOKMARKS_VERSION < QT_VERSION_CHECK(5, 69, 0) ++ bookmarkAction = collection->action(QStringLiteral("add_bookmark")); ++#else ++ collection->addActions(parentMenu->actions()); ++ ++ bookmarkAction = addBookmarkAction(); ++#endif ++ ++ Q_ASSERT(bookmarkAction); ++ + // We need to hijack the action - note this only hijacks top-level action +- QAction *bookmarkAction = collec->action(QStringLiteral("add_bookmark")); + disconnect(bookmarkAction, nullptr, this, nullptr); + connect(bookmarkAction, &QAction::triggered, this, &BookmarkMenu::maybeAddBookmark); ++ ++ // replace Ctrl+B shortcut for bookmarks only if user hasn't already ++ // changed the shortcut; however, if the user changed it to Ctrl+B ++ // this will still get changed to Ctrl+Shift+B ++ if (bookmarkAction->shortcut() == QKeySequence(Konsole::ACCEL + Qt::Key_B)) { ++ collection->setDefaultShortcut(bookmarkAction, Konsole::ACCEL + Qt::SHIFT + Qt::Key_B); ++ } + } + + void BookmarkMenu::maybeAddBookmark() +diff --git a/src/BookmarkMenu.h b/src/BookmarkMenu.h +index a42eab23..fde893c0 100644 +--- a/src/BookmarkMenu.h ++++ b/src/BookmarkMenu.h +@@ -39,7 +39,7 @@ class KONSOLEPRIVATE_EXPORT BookmarkMenu : public KBookmarkMenu + Q_OBJECT + + public: +- BookmarkMenu (KBookmarkManager *mgr, KBookmarkOwner *owner, QMenu *parentMenu, KActionCollection *collec); ++ BookmarkMenu (KBookmarkManager *mgr, KBookmarkOwner *owner, QMenu *parentMenu, KActionCollection *collection); + + private Q_SLOTS: + void maybeAddBookmark(); +diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp +index 461b9e54..90bbf5ed 100644 +--- a/src/MainWindow.cpp ++++ b/src/MainWindow.cpp +@@ -190,16 +190,6 @@ void MainWindow::correctStandardShortcuts() + if (helpAction != nullptr) { + actionCollection()->setDefaultShortcut(helpAction, QKeySequence()); + } +- +- // replace Ctrl+B shortcut for bookmarks only if user hasn't already +- // changed the shortcut; however, if the user changed it to Ctrl+B +- // this will still get changed to Ctrl+Shift+B +- QAction *bookmarkAction = actionCollection()->action(QStringLiteral("add_bookmark")); +- if ((bookmarkAction != nullptr) +- && bookmarkAction->shortcut() == QKeySequence(Konsole::ACCEL + Qt::Key_B)) { +- actionCollection()->setDefaultShortcut(bookmarkAction, +- Konsole::ACCEL + Qt::SHIFT + Qt::Key_B); +- } + } + + ViewManager *MainWindow::viewManager() const +-- +2.26.1 + |