From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id C9F94158015 for ; Thu, 21 Dec 2023 10:15:58 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 05F2A2BC013; Thu, 21 Dec 2023 10:15:58 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DBE8D2BC013 for ; Thu, 21 Dec 2023 10:15:57 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B93643408DD for ; Thu, 21 Dec 2023 10:15:56 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 17BF9123C for ; Thu, 21 Dec 2023 10:15:55 +0000 (UTC) From: "Andreas Sturmlechner" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Andreas Sturmlechner" Message-ID: <1703153738.8313cbf7011acb581fd5a9d9f9bb542345f4b874.asturm@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: kde-misc/krusader/files/, kde-misc/krusader/ X-VCS-Repository: repo/gentoo X-VCS-Files: kde-misc/krusader/files/krusader-2.8.0-icon-dimming-w-hidpi.patch kde-misc/krusader/files/krusader-2.8.0-icon-render-w-app-scaling.patch kde-misc/krusader/files/krusader-2.8.0-segfault.patch kde-misc/krusader/krusader-2.8.0-r1.ebuild X-VCS-Directories: kde-misc/krusader/ kde-misc/krusader/files/ X-VCS-Committer: asturm X-VCS-Committer-Name: Andreas Sturmlechner X-VCS-Revision: 8313cbf7011acb581fd5a9d9f9bb542345f4b874 X-VCS-Branch: master Date: Thu, 21 Dec 2023 10:15:55 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: c1467fb8-fd24-4757-8aaf-01ac4c6905cc X-Archives-Hash: d5ed418804e1bb90f5a697bc5197c9c3 commit: 8313cbf7011acb581fd5a9d9f9bb542345f4b874 Author: Andreas Sturmlechner gentoo org> AuthorDate: Thu Dec 21 09:47:01 2023 +0000 Commit: Andreas Sturmlechner gentoo org> CommitDate: Thu Dec 21 10:15:38 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8313cbf7 kde-misc/krusader: Backport various upstream fixes Signed-off-by: Andreas Sturmlechner gentoo.org> .../krusader-2.8.0-icon-dimming-w-hidpi.patch | 26 +++++++ .../krusader-2.8.0-icon-render-w-app-scaling.patch | 50 +++++++++++++ .../krusader/files/krusader-2.8.0-segfault.patch | 63 ++++++++++++++++ kde-misc/krusader/krusader-2.8.0-r1.ebuild | 83 ++++++++++++++++++++++ 4 files changed, 222 insertions(+) diff --git a/kde-misc/krusader/files/krusader-2.8.0-icon-dimming-w-hidpi.patch b/kde-misc/krusader/files/krusader-2.8.0-icon-dimming-w-hidpi.patch new file mode 100644 index 000000000000..e0bf516bbdfb --- /dev/null +++ b/kde-misc/krusader/files/krusader-2.8.0-icon-dimming-w-hidpi.patch @@ -0,0 +1,26 @@ +From 7ea9f1f0dbdd07cd5c5baae56bb672a7be519932 Mon Sep 17 00:00:00 2001 +From: Wladimir Palant +Date: Wed, 8 Mar 2023 17:07:15 +0100 +Subject: [PATCH] Fixed dimming of file icons in HiDPI environments + +Discussion: https://invent.kde.org/utilities/krusader/-/merge_requests/119 +--- + app/Panel/PanelView/krview.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/Panel/PanelView/krview.cpp b/app/Panel/PanelView/krview.cpp +index a974b1ad2..a5b1b3872 100644 +--- a/app/Panel/PanelView/krview.cpp ++++ b/app/Panel/PanelView/krview.cpp +@@ -297,7 +297,7 @@ QPixmap KrView::processIcon(const QPixmap &icon, bool dim, const QColor & dimCol + p.fillRect(0, 0, icon.width(), icon.height(), dimColor); + p.setCompositionMode(QPainter::CompositionMode_SourceOver); + p.setOpacity((qreal)dimFactor / (qreal)100); +- p.drawPixmap(0, 0, icon.width(), icon.height(), pixmap); ++ p.drawPixmap(0, 0, pixmap); + + return QPixmap::fromImage(dimmed, Qt::ColorOnly | Qt::ThresholdDither | + Qt::ThresholdAlphaDither | Qt::NoOpaqueDetection ); +-- +GitLab + diff --git a/kde-misc/krusader/files/krusader-2.8.0-icon-render-w-app-scaling.patch b/kde-misc/krusader/files/krusader-2.8.0-icon-render-w-app-scaling.patch new file mode 100644 index 000000000000..b56bc567a2ce --- /dev/null +++ b/kde-misc/krusader/files/krusader-2.8.0-icon-render-w-app-scaling.patch @@ -0,0 +1,50 @@ +From 2bd5cd0db362db944bdea639bf0be33f6f439268 Mon Sep 17 00:00:00 2001 +From: Evgeny Brazgin +Date: Sun, 5 Mar 2023 22:48:27 -0800 +Subject: [PATCH 1/2] Add workaround for icon size in HiDPI environment + +--- + app/Panel/PanelView/listmodel.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/app/Panel/PanelView/listmodel.cpp b/app/Panel/PanelView/listmodel.cpp +index d6ad6c5f8..7731e8951 100644 +--- a/app/Panel/PanelView/listmodel.cpp ++++ b/app/Panel/PanelView/listmodel.cpp +@@ -177,7 +177,7 @@ QVariant ListModel::data(const QModelIndex& index, int role) const + if (properties()->displayIcons) { + if (_justForSizeHint) + return QPixmap(_view->fileIconSize(), _view->fileIconSize()); +- return _view->getIcon(fileitem); ++ return QIcon(_view->getIcon(fileitem)); + } + break; + } +-- +GitLab + + +From f447f96f14fdb4f86ccc1286692accbec535ecb0 Mon Sep 17 00:00:00 2001 +From: Evgeny Brazgin +Date: Sun, 12 Mar 2023 21:35:27 -0700 +Subject: [PATCH 2/2] Don't set QStyle::State_None for brief view + +--- + app/Panel/PanelView/krinterbriefview.cpp | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/app/Panel/PanelView/krinterbriefview.cpp b/app/Panel/PanelView/krinterbriefview.cpp +index 69496f890..4042c163c 100644 +--- a/app/Panel/PanelView/krinterbriefview.cpp ++++ b/app/Panel/PanelView/krinterbriefview.cpp +@@ -401,7 +401,6 @@ void KrInterBriefView::paintEvent(QPaintEvent *e) + intersectionSet(area, intersectVector); + + foreach(const QModelIndex &mndx, intersectVector) { +- option.state = QStyle::State_None; + option.rect = visualRect(mndx); + painter.save(); + +-- +GitLab + diff --git a/kde-misc/krusader/files/krusader-2.8.0-segfault.patch b/kde-misc/krusader/files/krusader-2.8.0-segfault.patch new file mode 100644 index 000000000000..ac53d8772270 --- /dev/null +++ b/kde-misc/krusader/files/krusader-2.8.0-segfault.patch @@ -0,0 +1,63 @@ +From 2938db287f95a772792420f887dec2d88413409b Mon Sep 17 00:00:00 2001 +From: Pavel Karelin +Date: Fri, 25 Nov 2022 22:02:00 +0300 +Subject: [PATCH] Fixed segmentation fault when using CTRL+Left/Right on a + panel with invalid path + +FIXED: [ 462086 ] Segmentation fault when using CTRL+Left/Right on a panel with invalid path +BUG: 462086 + +Discussion: https://invent.kde.org/utilities/krusader/-/merge_requests/117 +--- + app/Panel/listpanel.cpp | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/app/Panel/listpanel.cpp b/app/Panel/listpanel.cpp +index dde22a257..be785a49f 100644 +--- a/app/Panel/listpanel.cpp ++++ b/app/Panel/listpanel.cpp +@@ -913,26 +913,26 @@ void ListPanel::keyPressEvent(QKeyEvent *e) + // user pressed CTRL+Right/Left - refresh other panel to the selected path if it's a + // directory otherwise as this one + if ((isLeft() && e->key() == Qt::Key_Right) || (!isLeft() && e->key() == Qt::Key_Left)) { +- QUrl newPath; +- KrViewItem *it = view->getCurrentKrViewItem(); +- +- if (it->name() == "..") { +- newPath = KIO::upUrl(virtualPath()); +- } else { +- FileItem *v = func->getFileItem(it); +- // If it's a directory different from ".." +- if (v && v->isDir() && v->getName() != "..") { +- newPath = v->getUrl(); ++ if (KrViewItem *it = view->getCurrentKrViewItem()) { ++ QUrl newPath; ++ if (it->name() == "..") { ++ newPath = KIO::upUrl(virtualPath()); + } else { +- // If it's a supported compressed file +- if (v && KrArcHandler::arcSupported(v->getMime())) { +- newPath = func->browsableArchivePath(v->getUrl().fileName()); ++ FileItem *v = func->getFileItem(it); ++ // If it's a directory different from ".." ++ if (v && v->isDir() && v->getName() != "..") { ++ newPath = v->getUrl(); + } else { +- newPath = virtualPath(); ++ // If it's a supported compressed file ++ if (v && KrArcHandler::arcSupported(v->getMime())) { ++ newPath = func->browsableArchivePath(v->getUrl().fileName()); ++ } else { ++ newPath = virtualPath(); ++ } + } + } ++ otherPanel()->func->openUrl(newPath); + } +- otherPanel()->func->openUrl(newPath); + } else { + func->openUrl(otherPanel()->virtualPath()); + } +-- +GitLab + diff --git a/kde-misc/krusader/krusader-2.8.0-r1.ebuild b/kde-misc/krusader/krusader-2.8.0-r1.ebuild new file mode 100644 index 000000000000..23da7d3ff242 --- /dev/null +++ b/kde-misc/krusader/krusader-2.8.0-r1.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +KFMIN=5.106.0 +QTMIN=5.15.9 +inherit ecm kde.org optfeature + +if [[ ${KDE_BUILD_TYPE} = release ]]; then + SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" + KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86" +fi + +DESCRIPTION="Advanced twin-panel (commander-style) file-manager with many extras" +HOMEPAGE="https://krusader.org/" + +LICENSE="GPL-2+" +SLOT="5" +IUSE="" + +COMMON_DEPEND=" + >=dev-qt/qtdbus-${QTMIN}:5 + >=dev-qt/qtgui-${QTMIN}:5 + >=dev-qt/qtprintsupport-${QTMIN}:5 + >=dev-qt/qtwidgets-${QTMIN}:5 + >=dev-qt/qtxml-${QTMIN}:5 + >=kde-frameworks/karchive-${KFMIN}:5 + >=kde-frameworks/kbookmarks-${KFMIN}:5 + >=kde-frameworks/kcodecs-${KFMIN}:5 + >=kde-frameworks/kcompletion-${KFMIN}:5 + >=kde-frameworks/kconfig-${KFMIN}:5 + >=kde-frameworks/kconfigwidgets-${KFMIN}:5 + >=kde-frameworks/kcoreaddons-${KFMIN}:5 + >=kde-frameworks/kguiaddons-${KFMIN}:5 + >=kde-frameworks/ki18n-${KFMIN}:5 + >=kde-frameworks/kiconthemes-${KFMIN}:5 + >=kde-frameworks/kio-${KFMIN}:5 + >=kde-frameworks/kitemviews-${KFMIN}:5 + >=kde-frameworks/kjobwidgets-${KFMIN}:5 + >=kde-frameworks/knotifications-${KFMIN}:5 + >=kde-frameworks/kparts-${KFMIN}:5 + >=kde-frameworks/kservice-${KFMIN}:5 + >=kde-frameworks/ktextwidgets-${KFMIN}:5 + >=kde-frameworks/kwallet-${KFMIN}:5 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 + >=kde-frameworks/kwindowsystem-${KFMIN}:5 + >=kde-frameworks/kxmlgui-${KFMIN}:5 + >=kde-frameworks/solid-${KFMIN}:5 + sys-apps/acl + sys-libs/zlib +" +DEPEND="${COMMON_DEPEND} + >=dev-qt/qtconcurrent-${QTMIN}:5 +" +RDEPEND="${COMMON_DEPEND} + || ( + kde-apps/kio-extras-kf5:5 + kde-apps/kio-extras:5 + ) +" + +PATCHES=( + "${FILESDIR}/${P}-icon-dimming-w-hidpi.patch" + "${FILESDIR}/${P}-icon-render-w-app-scaling.patch" + "${FILESDIR}/${P}-segfault.patch" +) + +src_prepare() { + ecm_src_prepare + use handbook || cmake_comment_add_subdirectory doc/handbook +} + +pkg_postinst() { + if [[ -z "${REPLACING_VERSIONS}" ]]; then + optfeature "Markdown text previews" "kde-misc/markdownpart:${SLOT}" + optfeature "PDF/PS and RAW image thumbnails" "kde-apps/thumbnailers:${SLOT}" + optfeature "video thumbnails" "kde-apps/ffmpegthumbs:${SLOT}" + optfeature "bookmarks support" "kde-apps/keditbookmarks:${SLOT}" + fi + ecm_pkg_postinst +}