kde-frameworks/plasma: Fix distance calc between dialog/parent applet
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=464201 KDE-bug: https://bugs.kde.org/show_bug.cgi?id=464513 Bug: https://bugs.gentoo.org/891927 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
parent
9e268e67b7
commit
ef23a0fa6a
|
@ -0,0 +1,44 @@
|
|||
From 1e0042c750756d0963d11d125978f47ea830d495 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Niccol=C3=B2=20Venerandi?= <niccolo@venerandi.com>
|
||||
Date: Tue, 31 Jan 2023 20:25:06 +0000
|
||||
Subject: [PATCH] Dialog: Fix calculation of distance between dialog and parent
|
||||
applet
|
||||
|
||||
`ParentRect` is not using the same coordinate system as `dialogPos` and `avail`,
|
||||
which could result in incorrect placement of dialogs when you have e.g. multiple
|
||||
monitors or a non-maximized panel. This replaces `ParentRect` with `dialogPos` so
|
||||
the coordinate systems remain in sync.
|
||||
|
||||
BUG:464201
|
||||
BUG:464513
|
||||
FIXED-IN: 5.103
|
||||
|
||||
|
||||
(cherry picked from commit eda6caabcffff484544af8949d0ca0a3ea3ce333)
|
||||
---
|
||||
src/plasmaquick/dialog.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/plasmaquick/dialog.cpp b/src/plasmaquick/dialog.cpp
|
||||
index 786d7ebe2..bdbdd028b 100644
|
||||
--- a/src/plasmaquick/dialog.cpp
|
||||
+++ b/src/plasmaquick/dialog.cpp
|
||||
@@ -1249,13 +1249,13 @@ QPoint Dialog::popupPosition(QQuickItem *item, const QSize &size)
|
||||
switch (d->location) {
|
||||
case Plasma::Types::TopEdge:
|
||||
case Plasma::Types::BottomEdge:
|
||||
- if (qAbs(parentRect.center().x() - avail.center().x() ) < size.width() / 2 - parentRect.width() / 3) {
|
||||
+ if (qAbs(dialogPos.x() + size.width() / 2 - avail.center().x() ) < size.width() / 2 - parentRect.width() / 3) {
|
||||
dialogPos.setX(avail.center().x() - size.width() / 2);
|
||||
}
|
||||
break;
|
||||
case Plasma::Types::LeftEdge:
|
||||
case Plasma::Types::RightEdge:
|
||||
- if (qAbs(parentRect.center().y() - avail.center().y() ) < size.height() / 2 - parentRect.height() / 3) {
|
||||
+ if (qAbs(dialogPos.y() + size.height() / 2 - avail.center().y() ) < size.height() / 2 - parentRect.height() / 3) {
|
||||
dialogPos.setY(avail.center().y() - size.height() / 2);
|
||||
}
|
||||
break;
|
||||
--
|
||||
GitLab
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
# Copyright 1999-2023 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
KDE_ORG_NAME="${PN}-framework"
|
||||
PVCUT=$(ver_cut 1-2)
|
||||
QTMIN=5.15.5
|
||||
VIRTUALX_REQUIRED="test"
|
||||
inherit ecm frameworks.kde.org
|
||||
|
||||
DESCRIPTION="Plasma framework"
|
||||
|
||||
LICENSE="LGPL-2+"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
|
||||
IUSE="gles2-only man wayland"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
# kde-frameworks/kwindowsystem[X]: Unconditional use of KX11Extras
|
||||
RDEPEND="
|
||||
>=dev-qt/qtdbus-${QTMIN}:5
|
||||
>=dev-qt/qtdeclarative-${QTMIN}:5
|
||||
>=dev-qt/qtgui-${QTMIN}:5[gles2-only=,X]
|
||||
>=dev-qt/qtquickcontrols-${QTMIN}:5
|
||||
>=dev-qt/qtsql-${QTMIN}:5
|
||||
>=dev-qt/qtsvg-${QTMIN}:5
|
||||
>=dev-qt/qtwidgets-${QTMIN}:5
|
||||
>=dev-qt/qtx11extras-${QTMIN}:5
|
||||
=kde-frameworks/kactivities-${PVCUT}*:5
|
||||
=kde-frameworks/karchive-${PVCUT}*:5
|
||||
=kde-frameworks/kconfig-${PVCUT}*:5[qml]
|
||||
=kde-frameworks/kconfigwidgets-${PVCUT}*:5
|
||||
=kde-frameworks/kcoreaddons-${PVCUT}*:5
|
||||
=kde-frameworks/kdeclarative-${PVCUT}*:5
|
||||
=kde-frameworks/kglobalaccel-${PVCUT}*:5
|
||||
=kde-frameworks/kguiaddons-${PVCUT}*:5
|
||||
=kde-frameworks/ki18n-${PVCUT}*:5
|
||||
=kde-frameworks/kiconthemes-${PVCUT}*:5
|
||||
=kde-frameworks/kio-${PVCUT}*:5
|
||||
=kde-frameworks/kirigami-${PVCUT}*:5
|
||||
=kde-frameworks/knotifications-${PVCUT}*:5
|
||||
=kde-frameworks/kpackage-${PVCUT}*:5
|
||||
=kde-frameworks/kservice-${PVCUT}*:5
|
||||
=kde-frameworks/kwidgetsaddons-${PVCUT}*:5
|
||||
=kde-frameworks/kwindowsystem-${PVCUT}*:5[X]
|
||||
=kde-frameworks/kxmlgui-${PVCUT}*:5
|
||||
x11-libs/libX11
|
||||
x11-libs/libxcb
|
||||
!gles2-only? ( media-libs/libglvnd[X] )
|
||||
wayland? (
|
||||
=kde-frameworks/kwayland-${PVCUT}*:5
|
||||
media-libs/libglvnd
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
x11-base/xorg-proto
|
||||
"
|
||||
BDEPEND="man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-fix-flicker-on-fade-animation.patch" # KDE-bug 463061, 463685
|
||||
"${FILESDIR}/${P}-fix-calc-of-distance-betw-dialog-and-parent-applet.patch" # KDE-bug 464201, 464513
|
||||
)
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
$(cmake_use_find_package !gles2-only OpenGL)
|
||||
$(cmake_use_find_package man KF5DocTools)
|
||||
$(cmake_use_find_package wayland EGL)
|
||||
$(cmake_use_find_package wayland KF5Wayland)
|
||||
)
|
||||
|
||||
ecm_src_configure
|
||||
}
|
Loading…
Reference in New Issue