Package: release.debian.org
Severity: normal
X-Debbugs-Cc: mi...@packages.debian.org, Debian Qt/KDE Maintainers 
<debian-qt-...@lists.debian.org>
Control: affects -1 + src:milou
User: release.debian....@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 <couc...@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 <n...@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....@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 via email to