Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pulseaudio-qt for openSUSE:Factory 
checked in at 2026-03-04 21:02:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pulseaudio-qt (Old)
 and      /work/SRC/openSUSE:Factory/.pulseaudio-qt.new.561 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pulseaudio-qt"

Wed Mar  4 21:02:51 2026 rev:10 rq:1335918 version:1.8.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pulseaudio-qt/pulseaudio-qt.changes      
2025-02-25 16:40:00.503911374 +0100
+++ /work/SRC/openSUSE:Factory/.pulseaudio-qt.new.561/pulseaudio-qt.changes     
2026-03-04 21:03:24.223935825 +0100
@@ -1,0 +2,10 @@
+Mon Mar  2 21:08:58 UTC 2026 - Christophe Marin <[email protected]>
+
+- Update to 1.8.1
+  * Guard against active_port or active_profile2 being null
+  * card,device: make sure to always have a "valid" index on port
+    and profile
+  * server: Expose the audio server and wireplumber versions
+  *  Remove all qml import version numbers
+
+-------------------------------------------------------------------

Old:
----
  pulseaudio-qt-1.7.0.tar.xz
  pulseaudio-qt-1.7.0.tar.xz.sig

New:
----
  pulseaudio-qt-1.8.1.tar.xz
  pulseaudio-qt-1.8.1.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pulseaudio-qt.spec ++++++
--- /var/tmp/diff_new_pack.QAqTJU/_old  2026-03-04 21:03:24.899963767 +0100
+++ /var/tmp/diff_new_pack.QAqTJU/_new  2026-03-04 21:03:24.903963933 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package pulseaudio-qt
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
 %define pkg_suffix 6
 %define qt6 1
 %define kf6_version 6.0.0
-%define qt6_version 6.6.0
+%define qt6_version 6.7.0
 %define library_name libKF6PulseAudioQt5
 %else
 ExclusiveArch: do_not_build
@@ -30,7 +30,7 @@
 %define rname pulseaudio-qt
 %bcond_without released
 Name:           pulseaudio-qt%{?pkg_suffix}
-Version:        1.7.0
+Version:        1.8.1
 Release:        0
 Summary:        Qt bindings for PulseAudio
 License:        LGPL-2.1-or-later

++++++ pulseaudio-qt-1.7.0.tar.xz -> pulseaudio-qt-1.8.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/.gitlab-ci.yml 
new/pulseaudio-qt-1.8.1/.gitlab-ci.yml
--- old/pulseaudio-qt-1.7.0/.gitlab-ci.yml      2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/.gitlab-ci.yml      2026-03-02 21:19:57.000000000 
+0100
@@ -6,3 +6,4 @@
     file:
       - /gitlab-templates/linux-qt6.yml
       - /gitlab-templates/freebsd-qt6.yml
+      - /gitlab-templates/linux-qt6-next.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/.kde-ci.yml 
new/pulseaudio-qt-1.8.1/.kde-ci.yml
--- old/pulseaudio-qt-1.7.0/.kde-ci.yml 2025-01-09 18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/.kde-ci.yml 2026-03-02 21:19:57.000000000 +0100
@@ -2,9 +2,10 @@
 # SPDX-License-Identifier: CC0-1.0
 
 Dependencies:
-- 'on': ['Linux/Qt6', 'FreeBSD/Qt6']
+- 'on': ['Linux', 'FreeBSD']
   'require':
     'frameworks/extra-cmake-modules': '@latest-kf6'
 
 Options:
   require-passing-tests-on: [ 'Linux', 'FreeBSD' ]
+  enable-lsan: True
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/CMakeLists.txt 
new/pulseaudio-qt-1.8.1/CMakeLists.txt
--- old/pulseaudio-qt-1.7.0/CMakeLists.txt      2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/CMakeLists.txt      2026-03-02 21:19:57.000000000 
+0100
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(PROJECT_VERSION 1.7.0)
+set(PROJECT_VERSION 1.8.1)
 
 project(PulseAudioQt VERSION ${PROJECT_VERSION})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/src/card.cpp 
new/pulseaudio-qt-1.8.1/src/card.cpp
--- old/pulseaudio-qt-1.7.0/src/card.cpp        2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/src/card.cpp        2026-03-02 21:19:57.000000000 
+0100
@@ -74,9 +74,21 @@
         }
     }
 
-    for (Profile *profile : std::as_const(m_profiles)) {
-        if (QString::fromUtf8(info->active_profile2->name) == profile->name()) 
{
-            m_activeProfileIndex = m_profiles.indexOf(profile);
+    // Make sure it's -1 in the unlikely event that we don't have an active 
profile
+    // https://bugs.kde.org/show_bug.cgi?id=496067
+    m_activeProfileIndex = -1;
+
+    if (info->active_profile2) {
+        for (Profile *profile : std::as_const(m_profiles)) {
+            if (QString::fromUtf8(info->active_profile2->name) == 
profile->name()) {
+                m_activeProfileIndex = m_profiles.indexOf(profile);
+            }
+        }
+        if (m_activeProfileIndex == static_cast<quint32>(-1)) {
+            qCWarning(PULSEAUDIOQT) << "Failed to find active profile" << 
QString::fromUtf8(info->active_profile2->name);
+            for (const auto &profile : std::as_const(m_profiles)) {
+                qCWarning(PULSEAUDIOQT) << "Available profile:" << 
profile->name();
+            }
         }
     }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/src/device_p.h 
new/pulseaudio-qt-1.8.1/src/device_p.h
--- old/pulseaudio-qt-1.7.0/src/device_p.h      2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/src/device_p.h      2026-03-02 21:19:57.000000000 
+0100
@@ -110,9 +110,21 @@
         }
 
         // Set active port
-        for (Port *port : std::as_const(m_ports)) {
-            if (QString::fromUtf8(info->active_port->name) == port->name()) {
-                m_activePortIndex = m_ports.indexOf(port);
+        // Make sure it's -1 in the unlikely event that we don't have an 
active port
+        // https://bugs.kde.org/show_bug.cgi?id=496067
+        m_activePortIndex = -1;
+
+        if (info->active_port) {
+            for (Port *port : std::as_const(m_ports)) {
+                if (QString::fromUtf8(info->active_port->name) == 
port->name()) {
+                    m_activePortIndex = m_ports.indexOf(port);
+                }
+            }
+            if (m_activePortIndex == static_cast<quint32>(-1)) {
+                qCWarning(PULSEAUDIOQT) << "Failed to find active port" << 
QString::fromUtf8(info->active_port->name);
+                for (const auto &port : std::as_const(m_ports)) {
+                    qCWarning(PULSEAUDIOQT) << "Available port:" << 
port->name();
+                }
             }
         }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/src/server.cpp 
new/pulseaudio-qt-1.8.1/src/server.cpp
--- old/pulseaudio-qt-1.7.0/src/server.cpp      2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/src/server.cpp      2026-03-02 21:19:57.000000000 
+0100
@@ -111,6 +111,15 @@
         Q_EMIT q->isPipeWireChanged();
     }
 
+    // Do not use the pulseaudio server version for pipewire
+    if (!isPw) {
+        const QString pulseVersion = QString::fromUtf8(info->server_version);
+        if (pulseVersion != m_version) {
+            m_version = pulseVersion;
+            Q_EMIT q->versionChanged();
+        }
+    }
+
     q->updateDefaultDevices();
 
     Q_EMIT q->updated();
@@ -157,6 +166,11 @@
     return d->m_isPipeWire;
 }
 
+QString Server::version() const
+{
+    return d->m_version;
+}
+
 void ServerPrivate::findWirePlumber()
 {
     if (!m_isPipeWire) {
@@ -164,21 +178,41 @@
     }
 
     const auto clients = Context::instance()->clients();
+
+    // Get the actual PipeWire version by reading the `core.version` property
+    // from one of the clients in the list that exposes it
+    for (const auto &client : clients) {
+        if (client->properties().contains(QStringLiteral("core.version"))) {
+            const QString pwVersion = 
client->properties().value(QStringLiteral("core.version")).toString();
+            if (pwVersion != m_version) {
+                m_version = pwVersion;
+                Q_EMIT q->versionChanged();
+                break;
+            }
+        }
+    }
+
     for (const auto &client : clients) {
         if (client->properties().value(QStringLiteral("wireplumber.daemon")) 
== QLatin1String("true")) {
-            m_hasWirePlumber = true;
+            m_wirePlumberVersion = 
client->properties().value(QStringLiteral("application.version")).toString();
             Q_EMIT q->hasWirePlumberChanged();
             return;
         }
     }
 
-    // Found no plumber, mark false
-    m_hasWirePlumber = false;
+    // Found no plumber, mark as not availabe
+    m_wirePlumberVersion = std::nullopt;
     Q_EMIT q->hasWirePlumberChanged();
 }
 
 bool Server::hasWirePlumber() const
 {
-    return d->m_hasWirePlumber;
+    return d->m_wirePlumberVersion.has_value();
 }
+
+QString Server::wirePlumberVersion() const
+{
+    return d->m_wirePlumberVersion.value_or(QString());
+}
+
 } // PulseAudioQt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/src/server.h 
new/pulseaudio-qt-1.8.1/src/server.h
--- old/pulseaudio-qt-1.7.0/src/server.h        2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/src/server.h        2026-03-02 21:19:57.000000000 
+0100
@@ -28,6 +28,11 @@
     Q_PROPERTY(bool isPipeWire READ isPipeWire NOTIFY isPipeWireChanged)
     /// Whether the connected PipeWire is driven by WirePlumber
     Q_PROPERTY(bool hasWirePlumber READ hasWirePlumber NOTIFY 
hasWirePlumberChanged)
+    /// The version string of the audio server
+    Q_PROPERTY(QString version READ version NOTIFY versionChanged)
+    /// The version string of the running WirePlumber daemon
+    Q_PROPERTY(QString wirePlumberVersion READ wirePlumberVersion NOTIFY 
hasWirePlumberChanged)
+
 public:
     ~Server() override;
 
@@ -49,12 +54,31 @@
      */
     [[nodiscard]] bool hasWirePlumber() const;
 
+    /**
+     * The version string of the audio server
+     * For PipeWire, it returns the actual PipeWire version,
+     * not the one reported the by the pipwire-pulse interface
+     *
+     * @since 1.8
+     */
+    [[nodiscard]] QString version() const;
+
+    /**
+     * The version string of the WirePlumber daemon
+     * Returns an empty string if WirePlumber is not running
+     *
+     * @since 1.8
+     */
+
+    [[nodiscard]] QString wirePlumberVersion() const;
+
 Q_SIGNALS:
     void defaultSinkChanged(PulseAudioQt::Sink *sink);
     void defaultSourceChanged(PulseAudioQt::Source *source);
     void isPipeWireChanged();
     void updated();
     void hasWirePlumberChanged();
+    void versionChanged();
 
 private:
     explicit Server(Context *context);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/src/server_p.h 
new/pulseaudio-qt-1.8.1/src/server_p.h
--- old/pulseaudio-qt-1.7.0/src/server_p.h      2025-01-09 18:08:04.000000000 
+0100
+++ new/pulseaudio-qt-1.8.1/src/server_p.h      2026-03-02 21:19:57.000000000 
+0100
@@ -23,8 +23,9 @@
     QString m_defaultSourceName;
     Sink *m_defaultSink;
     Source *m_defaultSource;
+    QString m_version;
     bool m_isPipeWire = true;
-    bool m_hasWirePlumber = true;
+    std::optional<QString> m_wirePlumberVersion;
     QTimer m_wirePlumberFindTimer;
 
     void update(const pa_server_info *info);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-qt-1.7.0/tests/painspector/CardDelegate.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/CardDelegate.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/CardDelegate.qml  2025-01-09 
18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/CardDelegate.qml  2026-03-02 
21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.FormLayout {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-qt-1.7.0/tests/painspector/DeviceDelegate.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/DeviceDelegate.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/DeviceDelegate.qml        
2025-01-09 18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/DeviceDelegate.qml        
2026-03-02 21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.FormLayout {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/tests/painspector/Header.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/Header.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/Header.qml        2025-01-09 
18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/Header.qml        2026-03-02 
21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.15 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.FormLayout {
     property string text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-qt-1.7.0/tests/painspector/ModuleDelegate.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/ModuleDelegate.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/ModuleDelegate.qml        
2025-01-09 18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/ModuleDelegate.qml        
2026-03-02 21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.FormLayout {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/tests/painspector/PAPage.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/PAPage.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/PAPage.qml        2025-01-09 
18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/PAPage.qml        2026-03-02 
21:19:57.000000000 +0100
@@ -3,13 +3,13 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.pulseaudioqt.tests 0.1 as PulseAudioQt
+import org.kde.pulseaudioqt.tests as PulseAudioQt
 
-import org.kde.kirigami 2.15 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.ScrollablePage {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/tests/painspector/PortsItem.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/PortsItem.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/PortsItem.qml     2025-01-09 
18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/PortsItem.qml     2026-03-02 
21:19:57.000000000 +0100
@@ -3,13 +3,13 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
-import org.kde.pulseaudioqt.painspector 1.0
+import org.kde.pulseaudioqt.painspector
 
 Column {
     Kirigami.FormData.label: "Ports:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-qt-1.7.0/tests/painspector/PropertiesItem.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/PropertiesItem.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/PropertiesItem.qml        
2025-01-09 18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/PropertiesItem.qml        
2026-03-02 21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Column {
     Kirigami.FormData.label: "Properties:"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pulseaudio-qt-1.7.0/tests/painspector/StreamDelegate.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/StreamDelegate.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/StreamDelegate.qml        
2025-01-09 18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/StreamDelegate.qml        
2026-03-02 21:19:57.000000000 +0100
@@ -3,11 +3,11 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.kirigami 2.10 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.FormLayout {
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pulseaudio-qt-1.7.0/tests/painspector/main.qml 
new/pulseaudio-qt-1.8.1/tests/painspector/main.qml
--- old/pulseaudio-qt-1.7.0/tests/painspector/main.qml  2025-01-09 
18:08:04.000000000 +0100
+++ new/pulseaudio-qt-1.8.1/tests/painspector/main.qml  2026-03-02 
21:19:57.000000000 +0100
@@ -3,13 +3,13 @@
 
     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
 */
-import QtQuick 2.7
-import QtQuick.Layouts 1.3
-import QtQuick.Controls 2.2
+import QtQuick
+import QtQuick.Layouts
+import QtQuick.Controls
 
-import org.kde.pulseaudioqt.tests 0.1 as PulseAudioQt
+import org.kde.pulseaudioqt.tests as PulseAudioQt
 
-import org.kde.kirigami 2.20 as Kirigami
+import org.kde.kirigami as Kirigami
 
 Kirigami.ApplicationWindow {
     id: root

Reply via email to