2020-03-10 22:07:03 +00:00
committed by Git OBS Bridge
parent 77e38c34fc
commit e2ef1dabd7
7 changed files with 28 additions and 201 deletions

View File

@@ -1,184 +0,0 @@
From ba7f78716af618db5556fc17e421397fe67e96af Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Wed, 12 Feb 2020 15:17:43 +0100
Subject: [PATCH] Only link to Qt5WebChannel if Qt5WebEngineWidgets available
Summary:
QWebChannel is only used if WebEngine is also available.
This converts scripting support into an optional feature which is only enabled if both dependencies are available.
Test Plan: Still builds.
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: lbeltrame, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D27347
---
CMakeLists.txt | 16 ++++++++++++++--
config-ksysguard.h.cmake | 4 ++--
processui/CMakeLists.txt | 5 ++---
processui/scripting.cpp | 12 ++++++------
processui/scripting.h | 2 +-
5 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 075d706..d5df87c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,7 @@ include(CheckIncludeFiles)
include(CheckLibraryExists)
include(FeatureSummary)
-find_package(Qt5 ${QT_MIN_VERSION} REQUIRED CONFIG COMPONENTS DBus Network Widgets WebChannel)
+find_package(Qt5 ${QT_MIN_VERSION} REQUIRED CONFIG COMPONENTS DBus Network Widgets)
find_package(Qt5WebEngineWidgets ${QT_MIN_VERSION} CONFIG)
set_package_properties(Qt5WebEngineWidgets PROPERTIES
URL "git://code.qt.org/qt/qtwebenginewidgets.git"
@@ -34,6 +34,13 @@ set_package_properties(Qt5WebEngineWidgets PROPERTIES
TYPE OPTIONAL
PURPOSE "Used by the HTML-based GUI ksysguard library"
)
+find_package(Qt5WebChannel ${QT_MIN_VERSION} CONFIG)
+set_package_properties(Qt5WebChannel PROPERTIES
+ URL "git://code.qt.org/qt/qtwebchannel.git"
+ DESCRIPTION "Qt WebChannel module"
+ TYPE OPTIONAL
+ PURPOSE "Used by the HTML-based GUI ksysguard library"
+ )
find_package(KF5 REQUIRED COMPONENTS CoreAddons Config I18n WindowSystem Completion Auth WidgetsAddons IconThemes ConfigWidgets Service GlobalAccel KIO)
find_package(KF5 OPTIONAL_COMPONENTS Plasma)
@@ -75,9 +82,14 @@ if(X11_FOUND)
endif()
endif()
+set(WEBENGINE_SCRIPTING_ENABLED FALSE)
+if(Qt5WebEngineWidgets_FOUND AND Qt5WebChannel_FOUND)
+ set(WEBENGINE_SCRIPTING_ENABLED TRUE)
+endif()
+add_feature_info("Scripting plugin support" WEBENGINE_SCRIPTING_ENABLED "Support scripting plugins using WebEngine and WebChannel")
+
set(HAVE_X11 ${X11_FOUND})
set(HAVE_XRES ${X11_XRes_FOUND})
-set(HAVE_QTWEBENGINEWIDGETS ${Qt5WebEngineWidgets_FOUND})
configure_file(config-ksysguard.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-ksysguard.h )
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
diff --git a/config-ksysguard.h.cmake b/config-ksysguard.h.cmake
index ad648f1..e040efc 100644
--- a/config-ksysguard.h.cmake
+++ b/config-ksysguard.h.cmake
@@ -10,8 +10,8 @@
/* Define to 1 if you have the X11 xres file */
#cmakedefine HAVE_XRES 1
-/* Define if you have QtWebEngineWidgets */
-#cmakedefine01 HAVE_QTWEBENGINEWIDGETS
+/* Define if you have QtWebEngineWidgets and QtWebChannel */
+#cmakedefine01 WEBENGINE_SCRIPTING_ENABLED
/* Define if you have X11 at all */
#cmakedefine01 HAVE_X11
diff --git a/processui/CMakeLists.txt b/processui/CMakeLists.txt
index 868ad1a..32c1591 100644
--- a/processui/CMakeLists.txt
+++ b/processui/CMakeLists.txt
@@ -37,7 +37,6 @@ target_link_libraries(processui
KF5::ConfigCore
PRIVATE
Qt5::DBus
- Qt5::WebChannel
KF5::I18n
KF5::WindowSystem
KF5::AuthCore
@@ -59,8 +58,8 @@ if(X11_FOUND)
target_link_libraries(processui PRIVATE Qt5::X11Extras KF5::WindowSystem)
endif()
-if(Qt5WebEngineWidgets_FOUND)
- target_link_libraries(processui PRIVATE Qt5::WebEngineWidgets)
+if(WEBENGINE_SCRIPTING_ENABLED)
+ target_link_libraries(processui PRIVATE Qt5::WebEngineWidgets Qt5::WebChannel)
endif()
if(NOT HAVE_CLOCK_GETTIME_C)
diff --git a/processui/scripting.cpp b/processui/scripting.cpp
index feda425..c481a18 100644
--- a/processui/scripting.cpp
+++ b/processui/scripting.cpp
@@ -43,7 +43,7 @@
#include <QMessageBox>
#include <QDialogButtonBox>
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
#include <QWebChannel>
#include <QWebEngineSettings>
#include <QWebEngineView>
@@ -53,7 +53,7 @@
#include <qtwebenginewidgetsversion.h>
#endif
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
class RemoteUrlInterceptor : public QWebEngineUrlRequestInterceptor {
public:
RemoteUrlInterceptor(QObject *parent) : QWebEngineUrlRequestInterceptor(parent) {}
@@ -81,7 +81,7 @@ class ScriptingHtmlDialog : public QDialog {
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
connect(buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(&m_webView);
layout->addWidget(buttonBox);
@@ -95,7 +95,7 @@ class ScriptingHtmlDialog : public QDialog {
#endif
#endif
}
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
QWebEngineView *webView() {
return &m_webView;
}
@@ -134,7 +134,7 @@ void Scripting::runScript(const QString &path, const QString &name) {
mScriptPath = path;
mScriptName = name;
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
QUrl fileName = QUrl::fromLocalFile(path + QStringLiteral("index.html"));
if(!mScriptingHtmlDialog) {
mScriptingHtmlDialog = new ScriptingHtmlDialog(this);
@@ -250,7 +250,7 @@ new QWebChannel(window.qt.webChannelTransport, function(channel) {
i18n("KSysGuard library was compiled without QtWebEngineWidgets, please contact your distribution."));
#endif
}
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
void Scripting::zoomIn() {
QWebEngineView *webView = mScriptingHtmlDialog->webView();
webView->setZoomFactor( webView->zoomFactor() * 1.1 );
diff --git a/processui/scripting.h b/processui/scripting.h
index e9794da..b6ca5e3 100644
--- a/processui/scripting.h
+++ b/processui/scripting.h
@@ -56,7 +56,7 @@ class Scripting : public QWidget {
private Q_SLOTS:
/** Run the script associated with the QAction that called this slot */
void runScriptSlot();
-#if HAVE_QTWEBENGINEWIDGETS
+#if WEBENGINE_SCRIPTING_ENABLED
void setupJavascriptObjects();
void refreshScript();
void zoomIn();
--
2.25.1

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5e6046b5e07282f8bb46711717eee10b8feb9a7296e220124f6f72778cc7aedd
size 610028

View File

@@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEELR1bBYg1d4fenuIl7JTRj38FmX4FAl5VHkUACgkQ7JTRj38F
mX6MfQf9HddO05/N6ZEx4vi7L5QqLWPEUqp+l0Mfva1CKcmbGPpk3oiQHrdru0ih
MZrkiSgNdE2dq11eaK7az4JasD69mkck0wPvMcYqsRPkQBRe8Fyh1YqN2jmJyf7W
anioKk0s2LJ6STFjiRYmFzka/yYo9CRcAnO4pghXs80H9oe+C9vDfQc/Q+AsL2pD
nA1P1L2WEsexwPdl5j66BrNCOxUhJHBnX/mtHM1wc3Mf9KcQFLimoZLCX0E5IaH2
16Bx5RotKRjnDU4xwXP3pwQcDvn4HIRzn6EDnyYTpazOjbqRkpOa996453TKXuFj
OXtCYp79JjB1QZrsEbnXhne1fz22Mg==
=Aq4m
-----END PGP SIGNATURE-----

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d46113b835cfa7561c7ebb1be5ae89200196befe77c9a53981b18141da381f81
size 612472

View File

@@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEELR1bBYg1d4fenuIl7JTRj38FmX4FAl5nkVgACgkQ7JTRj38F
mX7xUgf+JEtF/9+JQ0sgK6P4qL+UyzDUJQ/h3iKecNzCL09b2qJBxtfP3YeynWcT
pJzWNAYieOSrC8C6Zd/I5YEyZohN/kq77nDNH7a0uOquKV0E3u2gJVsBnpqvY5g8
J+MsmumoH5W97U/SdSEU6rbFDrapveWXBtZadixVX0DjB4bHqo6ztUqKyFtwf0Bo
DnRHf+HpnbRkSXVogMiE59QWg1WCI2/IXtQN/K/OcfSljAJ7qut3av6nq6msZmgq
iadEnx3YNx49fmcGkzXFRfSvtRj0rPnjbEX6xk6CzOE97WKwoMrPmZ1zRx/RkLi9
UZJa3e0HYbrKF2G1kzubf6oBFLM4jw==
=CJ8o
-----END PGP SIGNATURE-----

View File

@@ -1,3 +1,16 @@
-------------------------------------------------------------------
Tue Mar 10 14:55:32 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.18.3
* New bugfix release
* For more details please see:
* https://www.kde.org/announcements/plasma-5.18.3.php
- Changes since 5.18.2:
* Only deprecate up to target frameworks
* Only link to Qt5WebChannel if Qt5WebEngineWidgets available
- Drop patches, now upstream:
* 0001-Only-link-to-Qt5WebChannel-if-Qt5WebEngineWidgets-av.patch
-------------------------------------------------------------------
Mon Mar 2 09:28:33 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>

View File

@@ -18,7 +18,7 @@
%bcond_without lang
Name: libksysguard5
Version: 5.18.2
Version: 5.18.3
Release: 0
Summary: Task management and system monitoring library
License: GPL-2.0-or-later
@@ -30,8 +30,6 @@ Source1: https://download.kde.org/stable/plasma/%{version}/libksysguard-%
Source2: plasma.keyring
%endif
Source3: baselibs.conf
# PATCH-FIX-UPSTREAM
Patch1: 0001-Only-link-to-Qt5WebChannel-if-Qt5WebEngineWidgets-av.patch
BuildRequires: extra-cmake-modules >= 1.2.0
BuildRequires: kf5-filesystem
BuildRequires: xz