public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: www-client/falkon/, www-client/falkon/files/
Date: Fri,  6 Dec 2024 21:33:56 +0000 (UTC)	[thread overview]
Message-ID: <1733520804.eddeea4b483a20a09665ae9b8e7ea1ce7ab03c24.asturm@gentoo> (raw)

commit:     eddeea4b483a20a09665ae9b8e7ea1ce7ab03c24
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  6 21:29:19 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Fri Dec  6 21:33:24 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=eddeea4b

www-client/falkon: Fix printing to printer other than PDF printer

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=497051

Closes: https://bugs.gentoo.org/945887
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 www-client/falkon/falkon-24.08.3-r1.ebuild         |  85 ++++++++++++++++++
 .../falkon/files/falkon-24.08.3-fix-printing.patch | 100 +++++++++++++++++++++
 2 files changed, 185 insertions(+)

diff --git a/www-client/falkon/falkon-24.08.3-r1.ebuild b/www-client/falkon/falkon-24.08.3-r1.ebuild
new file mode 100644
index 000000000000..4da6bc55c8ea
--- /dev/null
+++ b/www-client/falkon/falkon-24.08.3-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="true"
+KFMIN=6.5.0
+QTMIN=6.7.2
+PYTHON_COMPAT=( python3_{10..12} )
+inherit ecm gear.kde.org python-single-r1
+
+DESCRIPTION="Cross-platform web browser using QtWebEngine"
+HOMEPAGE="https://www.falkon.org/ https://apps.kde.org/falkon/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="dbus kde python +X"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+RESTRICT="test" # bug 653046
+
+COMMON_DEPEND="
+	dev-libs/openssl:0=
+	>=dev-qt/qt5compat-${QTMIN}:6
+	>=dev-qt/qtbase-${QTMIN}:6[dbus?,gui,network,sql,sqlite,ssl,widgets]
+	>=dev-qt/qtdeclarative-${QTMIN}:6[widgets]
+	>=dev-qt/qtwebchannel-${QTMIN}:6
+	>=dev-qt/qtwebengine-${QTMIN}:6=[widgets]
+	>=kde-frameworks/karchive-${KFMIN}:6
+	virtual/libintl
+	kde? (
+		>=kde-frameworks/kcoreaddons-${KFMIN}:6
+		>=kde-frameworks/kcrash-${KFMIN}:6
+		>=kde-frameworks/kio-${KFMIN}:6
+		>=kde-frameworks/kjobwidgets-${KFMIN}:6
+		>=kde-frameworks/kwallet-${KFMIN}:6
+		>=kde-frameworks/purpose-${KFMIN}:6
+	)
+	python? (
+		${PYTHON_DEPS}
+		$(python_gen_cond_dep "
+			>=dev-python/pyside6-${QTMIN}[designer,gui,positioning,webengine,widgets,\${PYTHON_USEDEP}] \
+			>=dev-python/shiboken6-${QTMIN}[\${PYTHON_USEDEP}]
+		")
+	)
+	X? (
+		x11-libs/libxcb:=
+		x11-libs/xcb-util
+	)
+"
+DEPEND="${COMMON_DEPEND}
+	>=dev-qt/qtbase-${QTMIN}:6[concurrent]
+"
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+	DEPEND+=" >=kde-frameworks/ki18n-${KFMIN}:6"
+fi
+RDEPEND="${COMMON_DEPEND}
+	>=dev-qt/qtsvg-${QTMIN}:6
+"
+BDEPEND=">=dev-qt/qttools-${QTMIN}:6[linguist]"
+
+PATCHES=( "${FILESDIR}/${P}-fix-printing.patch" ) # bug 945887
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+	ecm_pkg_setup
+}
+
+src_configure() {
+	local mycmakeargs=(
+		-DBUILD_KEYRING=OFF
+		-DDISABLE_DBUS=$(usex !dbus)
+		$(cmake_use_find_package kde KF6Wallet)
+		$(cmake_use_find_package kde KF6KIO)
+		-DBUILD_PYTHON_SUPPORT=$(usex python)
+		-DNO_X11=$(usex !X)
+	)
+	use python && mycmakeargs+=(
+		-DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" # shiboken_helpers.cmake quirk
+		-DPython3_INCLUDE_DIR=$(python_get_includedir)
+		-DPython3_LIBRARY=$(python_get_library_path)
+	)
+	ecm_src_configure
+}

diff --git a/www-client/falkon/files/falkon-24.08.3-fix-printing.patch b/www-client/falkon/files/falkon-24.08.3-fix-printing.patch
new file mode 100644
index 000000000000..8e5aecd366d8
--- /dev/null
+++ b/www-client/falkon/files/falkon-24.08.3-fix-printing.patch
@@ -0,0 +1,100 @@
+From cbf47b0625c9b67b3608e24600273693bd59462a Mon Sep 17 00:00:00 2001
+From: Juraj Oravec <jurajoravec@mailo.com>
+Date: Wed, 4 Dec 2024 21:34:31 +0100
+Subject: [PATCH] Fix printing to printer other than PDF printer
+
+BUG: 497051
+FIXED-IN: 24.12
+
+Chery picked from: eaa807023517e1d62dae41f9b1cdd93806d77d64
+
+Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
+---
+ src/lib/webengine/webview.cpp | 22 ++++++++++++++--------
+ src/lib/webengine/webview.h   |  4 ++++
+ 2 files changed, 18 insertions(+), 8 deletions(-)
+
+diff --git a/src/lib/webengine/webview.cpp b/src/lib/webengine/webview.cpp
+index d2b5d7ee0..4871e8b3f 100644
+--- a/src/lib/webengine/webview.cpp
++++ b/src/lib/webengine/webview.cpp
+@@ -67,6 +67,7 @@ WebView::WebView(QWidget* parent)
+     connect(this, &QWebEngineView::iconChanged, this, &WebView::slotIconChanged);
+     connect(this, &QWebEngineView::urlChanged, this, &WebView::slotUrlChanged);
+     connect(this, &QWebEngineView::titleChanged, this, &WebView::slotTitleChanged);
++    connect(this, &QWebEngineView::printFinished, this, &WebView::slotPrintFinished);
+ 
+     m_currentZoomLevel = zoomLevels().indexOf(100);
+ 
+@@ -386,11 +387,11 @@ void WebView::printPage()
+ {
+     Q_ASSERT(m_page);
+ 
+-    auto *printer = new QPrinter();
+-    printer->setCreator(tr("Falkon %1 (%2)").arg(QString::fromLatin1(Qz::VERSION), QString::fromLatin1(Qz::WWWADDRESS)));
+-    printer->setDocName(QzTools::filterCharsFromFilename(title()));
++    m_printer = new QPrinter();
++    m_printer->setCreator(tr("Falkon %1 (%2)").arg(QString::fromLatin1(Qz::VERSION), QString::fromLatin1(Qz::WWWADDRESS)));
++    m_printer->setDocName(QzTools::filterCharsFromFilename(title()));
+ 
+-    auto *dialog = new QPrintDialog(printer, this);
++    auto *dialog = new QPrintDialog(m_printer, this);
+     dialog->setOptions(QAbstractPrintDialog::PrintToFile | QAbstractPrintDialog::PrintShowPageSize);
+ #ifndef Q_OS_WIN
+     dialog->setOption(QAbstractPrintDialog::PrintPageRange);
+@@ -402,14 +403,19 @@ void WebView::printPage()
+             m_page->printToPdf(dialog->printer()->outputFileName(), dialog->printer()->pageLayout());
+             delete dialog;
+         } else {
+-            connect(this, &QWebEngineView::printFinished, this, [&dialog](bool success) {
+-                Q_UNUSED(success);
+-                delete dialog;
+-            });
++            print(m_printer);
++            delete dialog;
+         }
+     }
+ }
+ 
++void WebView::slotPrintFinished(bool success)
++{
++    Q_UNUSED(success);
++    delete m_printer;
++    m_printer = nullptr;
++}
++
+ void WebView::slotLoadStarted()
+ {
+     m_progress = 0;
+diff --git a/src/lib/webengine/webview.h b/src/lib/webengine/webview.h
+index 37138cd6d..61e7281f8 100644
+--- a/src/lib/webengine/webview.h
++++ b/src/lib/webengine/webview.h
+@@ -25,6 +25,7 @@
+ #include "loadrequest.h"
+ #include "wheelhelper.h"
+ 
++class QPrinter;
+ class WebPage;
+ class LoadRequest;
+ class WebHitTestResult;
+@@ -118,6 +119,7 @@ protected Q_SLOTS:
+     void slotIconChanged();
+     void slotUrlChanged(const QUrl &url);
+     void slotTitleChanged(const QString &title);
++    void slotPrintFinished(bool success);
+ 
+     // Context menu slots
+     void openUrlInNewWindow();
+@@ -193,6 +195,8 @@ private:
+     WheelHelper m_wheelHelper;
+ 
+     static bool s_forceContextMenuOnMouseRelease;
++
++    QPrinter* m_printer;
+ };
+ 
+ #endif // WEBVIEW_H
+-- 
+GitLab
+


             reply	other threads:[~2024-12-06 21:34 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-06 21:33 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-02  7:17 [gentoo-commits] repo/gentoo:master commit in: www-client/falkon/, www-client/falkon/files/ Andreas Sturmlechner
2022-07-17 11:56 Andreas Sturmlechner
2019-12-09  9:40 Andreas Sturmlechner
2019-05-13  0:18 Andreas Sturmlechner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1733520804.eddeea4b483a20a09665ae9b8e7ea1ce7ab03c24.asturm@gentoo \
    --to=asturm@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox