[gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kwidgetsaddons/, kde-frameworks/kwidgetsaddons/files/
commit: 0f5e823650417f6d4598d24407c6b6de8983906c Author: Andreas Sturmlechner gentoo org> AuthorDate: Tue Nov 23 11:22:02 2021 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Tue Nov 23 14:59:10 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f5e8236 kde-frameworks/kwidgetsaddons: Fix conflicts w/ actions w/ Alt+X shortcuts KDE-bug: https://bugs.kde.org/show_bug.cgi?id=444990 Upstream commit 294fe8ddc2f10d0a783bf9b80769c31ecc5922b1 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Andreas Sturmlechner gentoo.org> 88.0-kacceleratormanager-alt-x-shortcuts.patch | 149 + .../kwidgetsaddons/kwidgetsaddons-5.88.0-r1.ebuild | 38 ++ 2 files changed, 187 insertions(+) diff --git a/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.88.0-kacceleratormanager-alt-x-shortcuts.patch b/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.88.0-kacceleratormanager-alt-x-shortcuts.patch new file mode 100644 index ..6e7ca9e47298 --- /dev/null +++ b/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.88.0-kacceleratormanager-alt-x-shortcuts.patch @@ -0,0 +1,149 @@ +From 294fe8ddc2f10d0a783bf9b80769c31ecc5922b1 Mon Sep 17 00:00:00 2001 +From: Albert Astals Cid +Date: Fri, 5 Nov 2021 23:23:59 +0100 +Subject: [PATCH] KAcceleratorManager: Take into account actions with Alt+X + shortcuts + +We need to mark those X labels as used, otherwise the accelerator +manager may decide to use X for an accelerator and when pressing Alt+X +we will have a conflict + +BUGS: 444990 +--- + autotests/kacceleratormanagertest.cpp | 21 +++ + src/kacceleratormanager.cpp | 30 --- + src/kacceleratormanager_p.h | 4 ++-- + 3 files changed, 46 insertions(+), 9 deletions(-) + +diff --git a/autotests/kacceleratormanagertest.cpp b/autotests/kacceleratormanagertest.cpp +index 3fc07928..2bdc4f74 100644 +--- a/autotests/kacceleratormanagertest.cpp b/autotests/kacceleratormanagertest.cpp +@@ -8,6 +8,7 @@ + #include + + #include ++#include + #include + + #define QSL QStringLiteral +@@ -75,6 +76,26 @@ private Q_SLOTS: + QCOMPARE(texts, expectedTexts); + } + ++void testExistingActionsShortcutsAreTakenIntoAccount() ++{ ++std::unique_ptr w(new QWidget()); ++ ++QPushButton *pb = new QPushButton(QSL("Open"), w.get()); ++ ++KAcceleratorManager::manage(w.get()); ++QCOMPARE(pb->text(), QSL("&Open")); ++ ++delete pb; ++pb = new QPushButton(QSL("Open"), w.get()); ++ ++QAction *a = new QAction(); ++a->setShortcut(QSL("Alt+O")); ++w->addAction(a); ++ ++KAcceleratorManager::manage(w.get()); ++QCOMPARE(pb->text(), QSL("O&pen")); ++} ++ + void testActionIconTexts_data() + { + QTest::addColumn("initialTexts"); +diff --git a/src/kacceleratormanager.cpp b/src/kacceleratormanager.cpp +index 66d596d3..2f7b1879 100644 +--- a/src/kacceleratormanager.cpp b/src/kacceleratormanager.cpp +@@ -94,9 +94,8 @@ void KAcceleratorManagerPrivate::manage(QWidget *widget) + + Item *root = new Item; + +-manageWidget(widget, root); +- + QString used; ++manageWidget(widget, root, used); + calculateAccelerators(root, used); + delete root; + } +@@ -175,7 +174,7 @@ void KAcceleratorManagerPrivate::calculateAccelerators(Item *item, QString &used + } + } + +-void KAcceleratorManagerPrivate::traverseChildren(QWidget *widget, Item *item) ++void KAcceleratorManagerPrivate::traverseChildren(QWidget *widget, Item *item, QString &used) + { + const QList childList = widget->findChildren(); + for (QWidget *w : childList) { +@@ -192,12 +191,29 @@ void KAcceleratorManagerPrivate::traverseChildren(QWidget *widget, Item *item) + continue; + } + +-manageWidget(w, item); ++manageWidget(w, item, used); + } + } + +-void KAcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item) ++void KAcceleratorManagerPrivate::manageWidget(QWidget *w, Item *item, QString &used) + { ++// If the widget has any action whose shortcuts contain keystrokes in the ++// form of Alt+X we need to mark X as used, otherwise we may assign it as accelerator ++// and there will be a conflict when trying to use it ++const QList widgetActions = w->actions(); ++for (QAction *action : widgetActions) { ++const QList actionShortcuts = action->shortcuts(); ++for (const QKeySequence &sequence : actionShortcuts) { ++const QString sequenceAsText = sequence.toString(QKeySequence::PortableText); ++const QStringList splitSequence = sequenceAsText.split(QStringLiteral(", ")); ++for (const QString &shortcut : splitSequence) { ++if (shortcut.length() == 5 && shortcut.startsWith(QStringLiteral("Alt+"))) { ++used.append(shortcut.right(1)); ++
[gentoo-commits] repo/gentoo:master commit in: kde-frameworks/kwidgetsaddons/, kde-frameworks/kwidgetsaddons/files/
commit: c3581c4fe51dcd2ceadc1977a135fa78050b9213 Author: Andreas Sturmlechner gentoo org> AuthorDate: Wed Jan 30 16:56:46 2019 + Commit: Andreas Sturmlechner gentoo org> CommitDate: Wed Jan 30 16:56:46 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3581c4f kde-frameworks/kwidgetsaddons: No light font styles for headings Fixes a readability regression in 5.53.0. KDE-Bug: https://bugs.kde.org/show_bug.cgi?id=402730 Package-Manager: Portage-2.3.59, Repoman-2.3.12 Signed-off-by: Andreas Sturmlechner gentoo.org> ...addons-5.54.0-no-light-fontstyle-headings.patch | 88 ++ .../kwidgetsaddons/kwidgetsaddons-5.54.0-r1.ebuild | 28 +++ 2 files changed, 116 insertions(+) diff --git a/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.54.0-no-light-fontstyle-headings.patch b/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.54.0-no-light-fontstyle-headings.patch new file mode 100644 index 000..38c89728b52 --- /dev/null +++ b/kde-frameworks/kwidgetsaddons/files/kwidgetsaddons-5.54.0-no-light-fontstyle-headings.patch @@ -0,0 +1,88 @@ +From dc901a1f0b5f6621bfa1c23e33dcfdf6246e7cb1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Kre=C5=A1imir=20=C4=8Cohar?= +Date: Thu, 10 Jan 2019 09:19:33 -0700 +Subject: [KWidgetsAddons] Do not use light font styles for headings (3/3) + +Summary: +This patch brings back regular font styles for headings to KTitleWidget for the sake of consistency with QML and Kirigami, where they were also reintroduced in favor of better legibility. + +CCBUG: 402730 + +FIXED-IN: 5.54 + +Test Plan: +Before: +{F6520054} +After: +{F6520058} + +Reviewers: ngraham, #frameworks, #vdg, #plasma + +Reviewed By: ngraham, #vdg + +Subscribers: cfeck, filipf, kde-frameworks-devel + +Tags: #frameworks + +Differential Revision: https://phabricator.kde.org/D17907 +--- + src/ktitlewidget.cpp | 29 - + 1 file changed, 29 deletions(-) + +diff --git a/src/ktitlewidget.cpp b/src/ktitlewidget.cpp +index 7a34bc2..d8b0517 100644 +--- a/src/ktitlewidget.cpp b/src/ktitlewidget.cpp +@@ -213,16 +213,6 @@ void KTitleWidget::changeEvent(QEvent *e) + if (e->type() == QEvent::PaletteChange || e->type() == QEvent::FontChange +|| e->type() == QEvent::ApplicationFontChange) { + d->textLabel->setStyleSheet(d->textStyleSheet()); +-//Qt stylesheet doesn't support lighter font-weight +-QFont font(d->textLabel->font()); +-if (d->level <= 4) { +-font.setWeight(QFont::Light); +-font.setStyleName(QStringLiteral("Light")); +-} else { +-font.setWeight(QFont::Normal); +-font.setStyleName(QStringLiteral("Regular")); +-} +-d->textLabel->setFont(font); + d->commentLabel->setStyleSheet(d->commentStyleSheet()); + } + } +@@ -233,16 +223,6 @@ void KTitleWidget::setText(const QString &text, Qt::Alignment alignment) + + if (!Qt::mightBeRichText(text)) { + d->textLabel->setStyleSheet(d->textStyleSheet()); +-//Qt stylesheet doesn't support lighter font-weight +-QFont font(d->textLabel->font()); +-if (d->level <= 4) { +-font.setWeight(QFont::Light); +-font.setStyleName(QStringLiteral("Light")); +-} else { +-font.setWeight(QFont::Normal); +-font.setStyleName(QStringLiteral("Regular")); +-} +-d->textLabel->setFont(font); + } + + d->textLabel->setText(text); +@@ -259,15 +239,6 @@ void KTitleWidget::setLevel(int level) + d->level = level; + + d->textLabel->setStyleSheet(d->textStyleSheet()); +-//Qt stylesheet doesn't support lighter font-weight +-QFont font(d->textLabel->font()); +-if (d->level <= 4) { +-font.setWeight(QFont::Light); +-font.setStyleName(QStringLiteral("Light")); +-} else { +-font.setWeight(QFont::Normal); +-font.setStyleName(QStringLiteral("Regular")); +-} + } + + int KTitleWidget::level() +-- +cgit v1.1 + diff --git a/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.54.0-r1.ebuild b/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.54.0-r1.ebuild new file mode 100644 index 000..274e1794131 --- /dev/null +++ b/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.54.0-r1.ebuild @@ -0,0 +1,28 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +VIRTUALX_REQUIRED="test" +inherit kde5 + +DESCRIPTION="An assortment of high-level widgets for common tasks" +LICENSE="LGPL-2.1+" +KEYWORDS="~amd64 ~arm ~arm64 ~x86" +IUSE="nls" + +RDEPEND=" + $(add_qt_dep qtgui) + $(add_qt_dep qtwidgets) +" +DEPEND="${RDEPEND} + nls? ( $(add_qt_dep linguist-tools) ) +" + +PATCHES=( "${FILESDIR}/${P}-no-light-fontstyle-headings.patch" ) + +src_test() { + # bug 650216, 653186 + local myctestargs=( -E "(kdatecomboboxte