summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch')
-rw-r--r--kde-apps/konsole/files/konsole-19.12.3-kf5bookmarks-5.69.patch117
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
+