Bug#1107794: unblock: milou/4:6.3.5-1
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: milou@packages.debian.org, Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>
Control: affects -1 + src:milou
User: release.debian.org@packages.debian.org
Usertags: unblock
Dear Release Team,
please unblock package milou.
[ Reason ]
It contains the following changes:
* New upstream release (6.3.5).
* Relax inter-plasma versioned dependency constraint so we can upload
only 6.3.5 packages that have actual code changes.
* Backport upstream commits:
- Make power/session actions appear first in krunner instead of related
configuration pages. (kde#474981)
- Fix keyboard navigation in krunner when mouse is hovering over the
results. (kde#501350)
[ Tests ]
- Tested several file searches in dolphin and krunner searches.
[ Risks ]
Only backport of upstream commits that apply cleanly. Further fixes can
easily be backported or the changes reverted.
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
Thanks!
unblock milou/4:6.3.5-1
diff -Nru milou-6.3.4/CMakeLists.txt milou-6.3.5/CMakeLists.txt
--- milou-6.3.4/CMakeLists.txt 2025-04-02 05:37:05.000000000 +0200
+++ milou-6.3.5/CMakeLists.txt 2025-05-06 19:58:07.000000000 +0200
@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.16)
project(Milou)
-set(PROJECT_VERSION "6.3.4")
+set(PROJECT_VERSION "6.3.5")
set(PROJECT_VERSION_MAJOR 6)
-set(PROJECT_DEP_VERSION "6.3.4")
+set(PROJECT_DEP_VERSION "6.3.5")
set(QT_MIN_VERSION "6.7.0")
set(KF6_MIN_VERSION "6.10.0")
set(KDE_COMPILERSETTINGS_LEVEL "5.82")
diff -Nru milou-6.3.4/debian/changelog milou-6.3.5/debian/changelog
--- milou-6.3.4/debian/changelog 2025-04-03 01:02:11.000000000 +0200
+++ milou-6.3.5/debian/changelog 2025-05-19 00:58:41.000000000 +0200
@@ -1,3 +1,17 @@
+milou (4:6.3.5-1) unstable; urgency=medium
+
+ [ Aurélien COUDERC ]
+ * New upstream release (6.3.5).
+ * Relax inter-plasma versioned dependency constraint so we can upload
+ only 6.3.5 packages that have actual code changes.
+ * Backport upstream commits:
+ - Make power/session actions appear first in krunner instead of related
+ configuration pages. (kde#474981)
+ - Fix keyboard navigation in krunner when mouse is hovering over the
+ results. (kde#501350)
+
+ -- Aurélien COUDERC <coucouf@debian.org> Mon, 19 May 2025 00:58:41 +0200
+
milou (4:6.3.4-1) unstable; urgency=medium
[ Patrick Franz ]
diff -Nru milou-6.3.4/debian/patches/relax-interplasma-versioned-deps.patch milou-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch
--- milou-6.3.4/debian/patches/relax-interplasma-versioned-deps.patch 1970-01-01 01:00:00.000000000 +0100
+++ milou-6.3.5/debian/patches/relax-interplasma-versioned-deps.patch 2025-05-08 00:30:26.000000000 +0200
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -4,7 +4,7 @@
+ set(PROJECT_VERSION "6.3.5")
+ set(PROJECT_VERSION_MAJOR 6)
+
+-set(PROJECT_DEP_VERSION "6.3.5")
++set(PROJECT_DEP_VERSION "6.3.4")
+ set(QT_MIN_VERSION "6.7.0")
+ set(KF6_MIN_VERSION "6.10.0")
+ set(KDE_COMPILERSETTINGS_LEVEL "5.82")
diff -Nru milou-6.3.4/debian/patches/series milou-6.3.5/debian/patches/series
--- milou-6.3.4/debian/patches/series 1970-01-01 01:00:00.000000000 +0100
+++ milou-6.3.5/debian/patches/series 2025-05-08 01:47:22.000000000 +0200
@@ -0,0 +1,3 @@
+relax-interplasma-versioned-deps.patch
+upstream_cd65653b_Add-power-session-actions-to-favorite-runners-list.patch
+upstream_ed525755_lib-simplify-mouse-hover-handling.patch
diff -Nru milou-6.3.4/debian/patches/upstream_cd65653b_Add-power-session-actions-to-favorite-runners-list.patch milou-6.3.5/debian/patches/upstream_cd65653b_Add-power-session-actions-to-favorite-runners-list.patch
--- milou-6.3.4/debian/patches/upstream_cd65653b_Add-power-session-actions-to-favorite-runners-list.patch 1970-01-01 01:00:00.000000000 +0100
+++ milou-6.3.5/debian/patches/upstream_cd65653b_Add-power-session-actions-to-favorite-runners-list.patch 2025-05-08 01:42:07.000000000 +0200
@@ -0,0 +1,30 @@
+From cd65653bed19bc79b008e6496bbafe2a0a41378c Mon Sep 17 00:00:00 2001
+From: Nate Graham <nate@kde.org>
+Date: Thu, 6 Mar 2025 18:06:38 -0700
+Subject: [PATCH] Add power/session actions to favorite runners list
+
+Companion to
+https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/2870
+
+CCBUG: 474981
+---
+ lib/resultsmodel.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/resultsmodel.cpp b/lib/resultsmodel.cpp
+index 95d4f34e..da48a3b8 100644
+--- a/lib/resultsmodel.cpp
++++ b/lib/resultsmodel.cpp
+@@ -17,7 +17,8 @@ ResultsModel::ResultsModel(QObject *parent)
+ m_configWatcher = KConfigWatcher::create(config);
+ const auto assignFavoriteIds = [this, config]() {
+ const KConfigGroup grp = config->group(u"General"_s).parent().group(u"Plugins"_s).group(u"Favorites"_s);
+- m_configFavoriteIds = grp.readEntry("plugins", QStringList{u"krunner_services"_s, u"krunner_systemsettings"_s});
++ m_configFavoriteIds =
++ grp.readEntry("plugins", QStringList{u"krunner_sessions"_s, u"krunner_powerdevil"_s, u"krunner_services"_s, u"krunner_systemsettings"_s});
+ if (!m_favoritesExplicitlySet) {
+ KRunner::ResultsModel::setFavoriteIds(m_configFavoriteIds);
+ }
+--
+GitLab
+
diff -Nru milou-6.3.4/debian/patches/upstream_ed525755_lib-simplify-mouse-hover-handling.patch milou-6.3.5/debian/patches/upstream_ed525755_lib-simplify-mouse-hover-handling.patch
--- milou-6.3.4/debian/patches/upstream_ed525755_lib-simplify-mouse-hover-handling.patch 1970-01-01 01:00:00.000000000 +0100
+++ milou-6.3.5/debian/patches/upstream_ed525755_lib-simplify-mouse-hover-handling.patch 2025-05-08 01:47:22.000000000 +0200
@@ -0,0 +1,131 @@
+From ed5257558eeb994071be14a9c799d4a34e11e169 Mon Sep 17 00:00:00 2001
+From: Christoph Wolk <cwo.kde@posteo.net>
+Date: Wed, 12 Mar 2025 19:28:47 +0100
+Subject: [PATCH] lib: simplify mouse hover handling
+
+ResultsView/ResultDelegate do some complicated mouse interaction
+handling: the delegate listens to a HoverHandler's pointChanged signal.
+which updates in a lot of circumstances, and then filters based on
+keeping track whether the mouse moved to not activate with keyboard-only
+use. This doesn't work well if there is mixed keyboard/mouse use, where
+arrow key navigation becomes useless almost as soon as the mouse is
+involved. And it isn't really necessary in the first place, as the real
+problem is connecting to such a busy signal.
+
+Instead, we drop the whole state-tracking jazz and even the
+HoverHandler, and just listen to the delegate's own hovered property.
+hovered only updates after the mouse moves, so we get essentially
+the same thing for free but without the edge case bugs.
+
+BUG: 501350
+FIXED-IN: 6.4.0
+---
+ lib/mousehelper.cpp | 7 +------
+ lib/mousehelper.h | 2 --
+ lib/qml/ResultDelegate.qml | 19 ++++++-------------
+ lib/qml/ResultsView.qml | 9 ---------
+ 4 files changed, 7 insertions(+), 30 deletions(-)
+
+diff --git a/lib/mousehelper.cpp b/lib/mousehelper.cpp
+index 33f49cf5..27e9b33b 100644
+--- a/lib/mousehelper.cpp
++++ b/lib/mousehelper.cpp
+@@ -22,11 +22,6 @@ MouseHelper::~MouseHelper()
+ {
+ }
+
+-QPointF MouseHelper::globalMousePosition() const
+-{
+- return QCursor::pos();
+-}
+-
+ QVariantMap MouseHelper::generateMimeDataMap(QMimeData *data) const
+ {
+ QVariantMap dataMap;
+@@ -63,4 +58,4 @@ QVariantMap MouseHelper::generateMimeDataMap(QMimeData *data) const
+ }
+
+ return dataMap;
+-}
+\ No newline at end of file
++}
+diff --git a/lib/mousehelper.h b/lib/mousehelper.h
+index 717e54eb..983ebedd 100644
+--- a/lib/mousehelper.h
++++ b/lib/mousehelper.h
+@@ -24,8 +24,6 @@ public:
+ explicit MouseHelper(QObject *parent = nullptr);
+ ~MouseHelper() override;
+
+- Q_INVOKABLE QPointF globalMousePosition() const;
+-
+ /*
+ * Converts QMimeData to QVariantMap
+ * @internal will be removed after https://codereview.qt-project.org/c/qt/qtdeclarative/+/491548
+diff --git a/lib/qml/ResultDelegate.qml b/lib/qml/ResultDelegate.qml
+index f5d8532f..86f45b57 100644
+--- a/lib/qml/ResultDelegate.qml
++++ b/lib/qml/ResultDelegate.qml
+@@ -81,6 +81,12 @@ PlasmaComponents3.ItemDelegate {
+ resultDelegate.ListView.view.runCurrentIndex()
+ }
+
++ onHoveredChanged: {
++ if (hovered) {
++ resultDelegate.ListView.view.currentIndex = index
++ }
++ }
++
+ DragHandler {
+ id: dragHandler
+ parent: labelWrapper
+@@ -115,19 +121,6 @@ PlasmaComponents3.ItemDelegate {
+ }
+ }
+
+- HoverHandler {
+- enabled: !resultDelegate.isCurrent
+- onPointChanged: {
+- // In case we display the history we have a QML ListView which does not have the moved property
+- if (!resultDelegate.ListView.view.hasOwnProperty("moved") || resultDelegate.ListView.view.moved) {
+- resultDelegate.ListView.view.currentIndex = index
+- } else if (resultDelegate.ListView.view.mouseMovedGlobally()) {
+- resultDelegate.ListView.view.moved = true
+- resultDelegate.ListView.view.currentIndex = index
+- }
+- }
+- }
+-
+ // QTBUG-63395: DragHandler blocks ItemDelegate's clicked signal
+ TapHandler {
+ id: tapHandler
+diff --git a/lib/qml/ResultsView.qml b/lib/qml/ResultsView.qml
+index 85886dee..f933d6de 100644
+--- a/lib/qml/ResultsView.qml
++++ b/lib/qml/ResultsView.qml
+@@ -46,13 +46,6 @@ ListView {
+ // be run when the model is populated
+ property bool runAutomatically
+
+- // This is used to disable mouse selection if the user interacts only with keyboard
+- property bool moved: false
+- property point savedMousePosition: Milou.MouseHelper.globalMousePosition()
+- function mouseMovedGlobally() {
+- return savedMousePosition != Milou.MouseHelper.globalMousePosition();
+- }
+-
+ model: Milou.ResultsModel {
+ id: resultModel
+ limit: 15
+@@ -91,8 +84,6 @@ ListView {
+
+ function resetView() {
+ listView.currentIndex = 0;
+- listView.moved = false;
+- listView.savedMousePosition = Milou.MouseHelper.globalMousePosition();
+ }
+ }
+
+--
+GitLab
+
Reply to: