summaryrefslogtreecommitdiff
path: root/kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch')
-rw-r--r--kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch99
1 files changed, 99 insertions, 0 deletions
diff --git a/kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch b/kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch
new file mode 100644
index 000000000000..bf41c2d40980
--- /dev/null
+++ b/kde-apps/umbrello/files/umbrello-20.08.3-no-qtwebkit.patch
@@ -0,0 +1,99 @@
+From eb753a7eb0f49c6ac5b349f81387ca4b4c64342b Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 12 Oct 2020 11:46:24 +0200
+Subject: [PATCH] Make QtWebKit usage in WelcomePage optional, with
+ QTextBrowser fallback
+
+Thanks-to: Ralf Habacker <ralf.habacker@freenet.de> for QTextBrowser fallback code.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 7 ++++++-
+ umbrello/CMakeLists.txt | 4 +++-
+ umbrello/umlappprivate.h | 13 +++++++++++++
+ 3 files changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 398415f09..7144f0990 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -95,9 +95,14 @@ find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS
+ Test
+ Widgets
+ Xml
+- WebKitWidgets
+ )
+
++find_package(Qt5WebKitWidgets ${QT_MIN_VERSION})
++if(Qt5WebKitWidgets_FOUND)
++ add_definitions(-DWEBKIT_WELCOMEPAGE)
++ set(WEBKIT_WELCOMEPAGE 1)
++endif()
++
+ # search packages used by KDE
+ find_package(KF5 REQUIRED COMPONENTS
+ Archive
+diff --git a/umbrello/CMakeLists.txt b/umbrello/CMakeLists.txt
+index 264b25fde..f3286ae46 100644
+--- a/umbrello/CMakeLists.txt
++++ b/umbrello/CMakeLists.txt
+@@ -549,7 +551,6 @@ else()
+ Qt5::Xml
+ Qt5::PrintSupport
+ Qt5::Svg
+- Qt5::WebKitWidgets
+ KF5::Archive
+ KF5::Completion
+ KF5::CoreAddons
+@@ -565,6 +566,9 @@ else()
+ ${LIBXML2_LIBRARIES}
+ codeimport
+ )
++ if(WEBKIT_WELCOMEPAGE)
++ target_link_libraries(libumbrello Qt5::WebKitWidgets)
++ endif()
+ ecm_add_app_icon(umbrello_SRCS
+ ICONS
+ ${CMAKE_CURRENT_SOURCE_DIR}/pics/global/16-apps-umbrello.png
+diff --git a/umbrello/umlappprivate.h b/umbrello/umlappprivate.h
+index a85de1f22..a7212cc8d 100644
+--- a/umbrello/umlappprivate.h
++++ b/umbrello/umlappprivate.h
+@@ -42,7 +42,11 @@
+ #include <QFileInfo>
+ #include <QListWidget>
+ #include <QObject>
++#ifdef WEBKIT_WELCOMEPAGE
+ #include <QWebView>
++#else
++#include <QTextBrowser>
++#endif
+
+ class QWidget;
+
+@@ -160,6 +164,7 @@ public slots:
+ // qDebug() << html;
+ welcomeWindow = new QDockWidget(i18n("Welcome"), parent);
+ welcomeWindow->setObjectName(QLatin1String("WelcomeDock"));
++#ifdef WEBKIT_WELCOMEPAGE
+ QWebView *view = new QWebView;
+ view->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
+ view->setContextMenuPolicy(Qt::NoContextMenu);
+@@ -167,6 +172,14 @@ public slots:
+ view->setHtml(html);
+ view->show();
+ welcomeWindow->setWidget(view);
++#else
++ QTextBrowser *tb = new QTextBrowser(dynamic_cast<QWidget*>(this));
++ tb->setOpenExternalLinks(true);
++ tb->setOpenLinks(false);
++ tb->setHtml(html);
++ connect(tb, SIGNAL(anchorClicked(const QUrl)), this, SLOT(slotWelcomeWindowLinkClicked(const QUrl)));
++ welcomeWindow->setWidget(tb);
++#endif
+ parent->addDockWidget(Qt::RightDockWidgetArea, welcomeWindow);
+
+ viewWelcomeWindow = parent->actionCollection()->add<KToggleAction>(QLatin1String("view_show_welcome"));
+--
+2.29.2
+