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: kde-misc/krusader/files/, kde-misc/krusader/
Date: Thu, 21 Dec 2023 10:15:55 +0000 (UTC)	[thread overview]
Message-ID: <1703153738.8313cbf7011acb581fd5a9d9f9bb542345f4b874.asturm@gentoo> (raw)

commit:     8313cbf7011acb581fd5a9d9f9bb542345f4b874
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 21 09:47:01 2023 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> 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 <asturm <AT> 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 <fqcgithub@palant.de>
+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 <xapienz@phystech.edu>
+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 <xapienz@phystech.edu>
+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 <hkarel@yandex.ru>
+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
+}


             reply	other threads:[~2023-12-21 10:15 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-21 10:15 Andreas Sturmlechner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-04-22 17:07 [gentoo-commits] repo/gentoo:master commit in: kde-misc/krusader/files/, kde-misc/krusader/ Andreas Sturmlechner
2017-01-23  8:04 Johannes Huber

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=1703153738.8313cbf7011acb581fd5a9d9f9bb542345f4b874.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