rebase konsole-in-contextmenu.patch (#2026789)

epel9
Rex Dieter 3 years ago
parent 9ecd08d62a
commit a81bd1f444

@ -1,78 +0,0 @@
diff --git a/containmentactions/contextmenu/menu.cpp b/containmentactions/contextmenu/menu.cpp
index 3271140..28409ff 100644
--- a/containmentactions/contextmenu/menu.cpp
+++ b/containmentactions/contextmenu/menu.cpp
@@ -28,6 +28,7 @@
#include <KAuthorized>
#include <KGlobalAccel>
#include <KLocalizedString>
+#include <KToolInvocation>
#include <QDebug>
#include <QIcon>
@@ -41,6 +42,7 @@
ContextMenu::ContextMenu(QObject *parent, const QVariantList &args)
: Plasma::ContainmentActions(parent, args)
, m_runCommandAction(nullptr)
+ , m_runKonsoleAction(nullptr)
, m_lockScreenAction(nullptr)
, m_logoutAction(nullptr)
, m_separator1(nullptr)
@@ -71,7 +73,7 @@ void ContextMenu::restore(const KConfigGroup &config)
} else {
actions.insert(QStringLiteral("configure shortcuts"), false);
m_actionOrder << QStringLiteral("configure") << QStringLiteral("run associated application") << QStringLiteral("configure shortcuts")
- << QStringLiteral("_sep1") << QStringLiteral("_context") << QStringLiteral("_run_command") << QStringLiteral("add widgets")
+ << QStringLiteral("_sep1") << QStringLiteral("_context") << QStringLiteral("_run_konsole") << QStringLiteral("_run_command") << QStringLiteral("add widgets")
<< QStringLiteral("_add panel") << QStringLiteral("manage activities") << QStringLiteral("remove") << QStringLiteral("edit mode")
<< QStringLiteral("_sep2") << QStringLiteral("_lock_screen") << QStringLiteral("_logout") << QStringLiteral("_sep3")
<< QStringLiteral("_wallpaper");
@@ -95,6 +97,10 @@ void ContextMenu::restore(const KConfigGroup &config)
m_runCommandAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("krunner.desktop"), QStringLiteral("_launch")).value(0));
connect(m_runCommandAction, &QAction::triggered, this, &ContextMenu::runCommand);
+ m_runKonsoleAction = new QAction(i18n("Konsole"), this);
+ m_runKonsoleAction->setIcon(QIcon::fromTheme("utilities-terminal"));
+ connect(m_runKonsoleAction, &QAction::triggered, this, &ContextMenu::runKonsole);
+
m_lockScreenAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Lock Screen"), this);
m_lockScreenAction->setIcon(QIcon::fromTheme(QStringLiteral("system-lock-screen")));
m_lockScreenAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("ksmserver"), QStringLiteral("Lock Session")).value(0));
@@ -173,6 +179,8 @@ QAction *ContextMenu::action(const QString &name)
if (KAuthorized::authorizeAction(QStringLiteral("run_command")) && KAuthorized::authorize(QStringLiteral("run_command"))) {
return m_runCommandAction;
}
+ } else if (name == QLatin1String("_run_konsole")) {
+ return m_runKonsoleAction;
} else if (name == QLatin1String("_lock_screen")) {
if (KAuthorized::authorizeAction(QStringLiteral("lock_screen"))) {
return m_lockScreenAction;
@@ -196,6 +204,11 @@ QAction *ContextMenu::action(const QString &name)
return nullptr;
}
+void ContextMenu::runKonsole()
+{
+ KToolInvocation::invokeTerminal(QString(), QDir::homePath());
+}
+
void ContextMenu::runCommand()
{
if (!KAuthorized::authorizeAction(QStringLiteral("run_command"))) {
diff --git a/containmentactions/contextmenu/menu.h b/containmentactions/contextmenu/menu.h
index 3cc3d32..6c5aa21 100644
--- a/containmentactions/contextmenu/menu.h
+++ b/containmentactions/contextmenu/menu.h
@@ -43,10 +43,12 @@ public:
public Q_SLOTS:
void runCommand();
+ void runKonsole();
void startLogout();
private:
QAction *m_runCommandAction;
+ QAction *m_runKonsoleAction;
QAction *m_lockScreenAction;
QAction *m_logoutAction;
QAction *m_separator1;

@ -0,0 +1,79 @@
diff -up plasma-workspace-5.23.90/containmentactions/contextmenu/CMakeLists.txt.konsole-in-contextmenu plasma-workspace-5.23.90/containmentactions/contextmenu/CMakeLists.txt
diff -up plasma-workspace-5.23.90/containmentactions/contextmenu/menu.cpp.konsole-in-contextmenu plasma-workspace-5.23.90/containmentactions/contextmenu/menu.cpp
--- plasma-workspace-5.23.90/containmentactions/contextmenu/menu.cpp.konsole-in-contextmenu 2022-01-13 07:19:17.000000000 -0600
+++ plasma-workspace-5.23.90/containmentactions/contextmenu/menu.cpp 2022-01-19 16:09:26.778355795 -0600
@@ -16,6 +16,7 @@
#include <KGlobalAccel>
#include <KIO/CommandLauncherJob>
#include <KLocalizedString>
+#include <KTerminalLauncherJob>
#include <QDebug>
#include <QIcon>
@@ -29,6 +30,7 @@
ContextMenu::ContextMenu(QObject *parent, const QVariantList &args)
: Plasma::ContainmentActions(parent, args)
, m_runCommandAction(nullptr)
+ , m_runKonsoleAction(nullptr)
, m_lockScreenAction(nullptr)
, m_logoutAction(nullptr)
, m_configureDisplaysAction(nullptr)
@@ -68,6 +70,7 @@ void ContextMenu::restore(const KConfigG
<< QStringLiteral("configure shortcuts")
<< QStringLiteral("_sep1")
<< QStringLiteral("_context")
+ << QStringLiteral("_run_konsole")
<< QStringLiteral("_run_command")
<< QStringLiteral("add widgets")
<< QStringLiteral("_add panel")
@@ -102,6 +105,10 @@ void ContextMenu::restore(const KConfigG
m_runCommandAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("krunner.desktop"), QStringLiteral("_launch")).value(0));
connect(m_runCommandAction, &QAction::triggered, this, &ContextMenu::runCommand);
+ m_runKonsoleAction = new QAction(i18n("Konsole"), this);
+ m_runKonsoleAction->setIcon(QIcon::fromTheme("utilities-terminal"));
+ connect(m_runKonsoleAction, &QAction::triggered, this, &ContextMenu::runKonsole);
+
m_lockScreenAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Lock Screen"), this);
m_lockScreenAction->setIcon(QIcon::fromTheme(QStringLiteral("system-lock-screen")));
m_lockScreenAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("ksmserver"), QStringLiteral("Lock Session")).value(0));
@@ -184,6 +191,8 @@ QAction *ContextMenu::action(const QStri
if (KAuthorized::authorizeAction(QStringLiteral("run_command")) && KAuthorized::authorize(QStringLiteral("run_command"))) {
return m_runCommandAction;
}
+ } else if (name == QLatin1String("_run_konsole")) {
+ return m_runKonsoleAction;
} else if (name == QLatin1String("_lock_screen")) {
if (KAuthorized::authorizeAction(QStringLiteral("lock_screen"))) {
return m_lockScreenAction;
@@ -211,6 +220,13 @@ QAction *ContextMenu::action(const QStri
return nullptr;
}
+void ContextMenu::runKonsole()
+{
+ auto job = new KTerminalLauncherJob(QString());
+ job->setWorkingDirectory(QDir::homePath());
+ job->start();
+}
+
void ContextMenu::runCommand()
{
if (!KAuthorized::authorizeAction(QStringLiteral("run_command"))) {
diff -up plasma-workspace-5.23.90/containmentactions/contextmenu/menu.h.konsole-in-contextmenu plasma-workspace-5.23.90/containmentactions/contextmenu/menu.h
--- plasma-workspace-5.23.90/containmentactions/contextmenu/menu.h.konsole-in-contextmenu 2022-01-19 16:07:20.060556636 -0600
+++ plasma-workspace-5.23.90/containmentactions/contextmenu/menu.h 2022-01-19 16:08:43.055454606 -0600
@@ -29,11 +29,13 @@ public:
public Q_SLOTS:
void runCommand();
+ void runKonsole();
void startLogout();
void configureDisplays();
private:
QAction *m_runCommandAction;
+ QAction *m_runKonsoleAction;
QAction *m_lockScreenAction;
QAction *m_logoutAction;
QAction *m_configureDisplaysAction;

@ -21,7 +21,7 @@
Name: plasma-workspace
Summary: Plasma workspace, applications and applets
Version: 5.23.90
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2+
URL: https://invent.kde.org/plasma/%{name}
@ -56,7 +56,7 @@ Source40: ssh-agent.conf
Source41: spice-vdagent.conf
## downstream Patches
#Patch100: plasma-workspace-5.21.90-konsole-in-contextmenu.patch
Patch100: plasma-workspace-konsole-in-contextmenu.patch
Patch101: plasma-workspace-5.3.0-set-fedora-default-look-and-feel.patch
# default to folderview (instead of desktop) containment, see also
# https://mail.kde.org/pipermail/distributions/2016-July/000133.html
@ -137,6 +137,8 @@ BuildRequires: kf5-kguiaddons-devel >= %{kf5_version_min}
BuildRequires: kf5-kidletime-devel >= %{kf5_version_min}
BuildRequires: kf5-kinit-devel >= %{kf5_version_min}
BuildRequires: kf5-kitemmodels-devel >= %{kf5_version_min}
# konsole patch
BuildRequires: kf5-kio-devel >= %{kf5_version_min}
BuildRequires: kf5-kjsembed-devel >= %{kf5_version_min}
BuildRequires: kf5-knewstuff-devel >= %{kf5_version_min}
BuildRequires: kf5-knotifications-devel >= %{kf5_version_min}
@ -441,10 +443,9 @@ BuildArch: noarch
%setup -q -a 20
## upstream patches
# FIXME/TODO: commented out in need of work: does not applyl cleanly and
# potentially causes problems:
# Since it appears plasma-workspace no longer uses kinit, the KToolInvocation::invokeTerminal call may not be 100% reliable
#%patch100 -p1 -b .konsole-in-contextmenu
## downstream patches
%patch100 -p1 -b .konsole-in-contextmenu
# FIXME/TODO: it is unclear whether this is needed or even a good idea anymore -- rex
%if 0%{?default_lookandfeel:1}
%patch101 -p1 -b .set-fedora-default-look-and-feel
@ -752,6 +753,9 @@ desktop-file-validate %{buildroot}%{_kf5_datadir}/applications/org.kde.{klipper,
%changelog
* Wed Jan 19 2022 Rex Dieter <rdieter@fedoraproject.org> - 5.23.90-2
- rebase konsole-in-contextmenu.patch (#2026789)
* Thu Jan 13 2022 Marc Deop <marcdeop@fedoraproject.org> - 5.23.90-1
- 5.23.90

Loading…
Cancel
Save