diff options
author | 2023-12-21 10:47:01 +0100 | |
---|---|---|
committer | 2023-12-21 11:15:38 +0100 | |
commit | 8313cbf7011acb581fd5a9d9f9bb542345f4b874 (patch) | |
tree | 874909aedeef29a7f99a1307b729c68feb7b26ff /kde-misc | |
parent | net-ftp/filezilla: Stabilize 3.66.4 ppc64, #920449 (diff) | |
download | gentoo-8313cbf7011acb581fd5a9d9f9bb542345f4b874.tar.gz gentoo-8313cbf7011acb581fd5a9d9f9bb542345f4b874.tar.bz2 gentoo-8313cbf7011acb581fd5a9d9f9bb542345f4b874.zip |
kde-misc/krusader: Backport various upstream fixes
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'kde-misc')
4 files changed, 222 insertions, 0 deletions
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 +} |