Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kf6-knotifications for openSUSE:Leap:16.0 checked in at 2025-04-23 10:08:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:16.0/kf6-knotifications (Old) and /work/SRC/openSUSE:Leap:16.0/.kf6-knotifications.new.30101 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kf6-knotifications" Wed Apr 23 10:08:45 2025 rev:3 rq:1271469 version:6.13.0 Changes: -------- --- /work/SRC/openSUSE:Leap:16.0/kf6-knotifications/kf6-knotifications.changes 2025-03-19 11:47:53.664690872 +0100 +++ /work/SRC/openSUSE:Leap:16.0/.kf6-knotifications.new.30101/kf6-knotifications.changes 2025-04-23 10:11:48.444141043 +0200 @@ -1,0 +2,82 @@ +Sat Apr 5 12:33:28 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.13.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.13.0 +- Changes since 6.12.0: + * KNotification: Update notification when action label changes + * It compiles fine without qt6.9 deprecated methods + * It compiles fine without kf6.12 deprecated methods + * Update dependency version to 6.13.0 + +------------------------------------------------------------------- +Tue Mar 11 09:29:20 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.12.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.12.0 +- Changes since 6.11.0: + * Update dependency version to 6.12.0 + * Add xml/yaml linting + * Update version to 6.12.0 + +------------------------------------------------------------------- +Sat Feb 8 12:16:52 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.11.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.11.0 +- Changes since 6.10.0: + * Update dependency version to 6.11.0 + * Add xml/yaml linting + * Enable Python bindings on FreeBSD + * CI: Add linux-qt6-next build + * Lower Python requirement to 3.9 + * Remove unused string from Android manifest + * Update version to 6.11.0 + +------------------------------------------------------------------- +Thu Jan 9 17:12:34 UTC 2025 - Christophe Marin <christo...@krop.fr> + +- Update to 6.10.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.10.0 +- Changes since 6.9.0: + * Update dependency version to 6.10.0 + * NotifyByAndroid: Set CONTEXT_NOT_EXPORTED + * Update version to 6.10.0 + +------------------------------------------------------------------- +Sun Dec 8 10:09:22 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 6.9.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.9.0 +- Changes since 6.8.0: + * Update dependency version to 6.9.0 + * Add Python bindings + * It compiles fine without deprecated methods + * ci: add Alpine/musl job + * Disable Canberra check for Haiku also + * Update version to 6.9.0 + +------------------------------------------------------------------- +Mon Nov 4 11:18:13 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 6.8.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/frameworks/6/6.8.0 +- Changes since 6.7.0: + * Update dependency version to 6.8.0 + * typo-- + * Add namespace for Android as required by newer gradle + * Add CI for static builds on Linux + * Update version to 6.8.0 + +------------------------------------------------------------------- Old: ---- knotifications-6.7.0.tar.xz knotifications-6.7.0.tar.xz.sig New: ---- knotifications-6.13.0.tar.xz knotifications-6.13.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kf6-knotifications.spec ++++++ --- /var/tmp/diff_new_pack.cbFW6F/_old 2025-04-23 10:11:48.804156097 +0200 +++ /var/tmp/diff_new_pack.cbFW6F/_new 2025-04-23 10:11:48.804156097 +0200 @@ -1,7 +1,7 @@ # # spec file for package kf6-knotifications # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,13 +19,26 @@ %define qt6_version 6.7.0 %define rname knotifications -# Full KF6 version (e.g. 6.7.0) + +%bcond_without kde_python_bindings +%if %{with kde_python_bindings} +%if 0%{suse_version} > 1500 +%define pythons %{primary_python} +%else +%{?sle15_python_module_pythons} +%endif +%define mypython %pythons +%define __mypython %{expand:%%__%{mypython}} +%define mypython_sitearch %{expand:%%%{mypython}_sitearch} +%endif + +# Full KF6 version (e.g. 6.13.0) %{!?_kf6_version: %global _kf6_version %{version}} # Last major and minor KF6 version (e.g. 6.0) %{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')} %bcond_without released Name: kf6-knotifications -Version: 6.7.0 +Version: 6.13.0 Release: 0 Summary: KDE Desktop notifications License: LGPL-2.1-or-later @@ -47,6 +60,16 @@ BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version} BuildRequires: cmake(Qt6Widgets) >= %{qt6_version} BuildRequires: pkgconfig(libcanberra) +# SECTION bindings +%if %{with kde_python_bindings} +BuildRequires: %{mypython}-build +BuildRequires: %{mypython}-devel >= 3.9 +BuildRequires: %{mypython}-setuptools +BuildRequires: %{mypython}-wheel +BuildRequires: cmake(Shiboken6) +BuildRequires: cmake(PySide6) +%endif +# /SECTION %description KNotification is used to notify the user of an event. It covers feedback and @@ -80,13 +103,26 @@ KNotification is used to notify the user of an event. It covers feedback and persistent events. Development files. +%if %{with kde_python_bindings} +%package -n python3-kf6-knotifications +Summary: Python interface for kf6-knotifications + +%description -n python3-kf6-knotifications +This package provides a python interface for kf6-knotifications. +%endif + %lang_package -n libKF6Notifications6 %prep %autosetup -p1 -n %{rname}-%{version} %build -%cmake_kf6 -DBUILD_QCH:BOOL=TRUE +%cmake_kf6 \ + -DBUILD_QCH:BOOL=TRUE \ +%if %{with kde_python_bindings} + -DPython_EXECUTABLE:STRING=%{__mypython} +%endif +%{nil} %kf6_build @@ -119,3 +155,8 @@ %{_kf6_includedir}/KNotifications/ %{_kf6_libdir}/libKF6Notifications.so +%if %{with kde_python_bindings} +%files -n python3-kf6-knotifications +%{mypython_sitearch}/*.so +%endif + ++++++ knotifications-6.7.0.tar.xz -> knotifications-6.13.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/.gitlab-ci.yml new/knotifications-6.13.0/.gitlab-ci.yml --- old/knotifications-6.7.0/.gitlab-ci.yml 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/.gitlab-ci.yml 2025-04-04 16:02:09.000000000 +0200 @@ -5,6 +5,11 @@ - project: sysadmin/ci-utilities file: - /gitlab-templates/linux-qt6.yml + - /gitlab-templates/linux-qt6-next.yml + - /gitlab-templates/linux-qt6-static.yml + - /gitlab-templates/alpine-qt6.yml - /gitlab-templates/android-qt6.yml - /gitlab-templates/freebsd-qt6.yml - /gitlab-templates/windows-qt6.yml + - /gitlab-templates/xml-lint.yml + - /gitlab-templates/yaml-lint.yml diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/.kde-ci.yml new/knotifications-6.13.0/.kde-ci.yml --- old/knotifications-6.7.0/.kde-ci.yml 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/.kde-ci.yml 2025-04-04 16:02:09.000000000 +0200 @@ -1,9 +1,9 @@ Dependencies: -- 'on': ['@all'] - 'require': + - 'on': ['@all'] + 'require': 'frameworks/extra-cmake-modules': '@same' - 'frameworks/kconfig' : '@same' + 'frameworks/kconfig': '@same' Options: - test-before-installing: True - require-passing-tests-on: [ 'Linux', 'FreeBSD', 'Windows' ] + test-before-installing: True + require-passing-tests-on: ['Linux', 'FreeBSD', 'Windows'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/CMakeLists.txt new/knotifications-6.13.0/CMakeLists.txt --- old/knotifications-6.7.0/CMakeLists.txt 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/CMakeLists.txt 2025-04-04 16:02:09.000000000 +0200 @@ -1,12 +1,12 @@ cmake_minimum_required(VERSION 3.16) -set(KF_VERSION "6.7.0") # handled by release scripts -set(KF_DEP_VERSION "6.7.0") # handled by release scripts +set(KF_VERSION "6.13.0") # handled by release scripts +set(KF_DEP_VERSION "6.13.0") # handled by release scripts project(KNotifications VERSION ${KF_VERSION}) # ECM setup include(FeatureSummary) -find_package(ECM 6.7.0 NO_MODULE) +find_package(ECM 6.13.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://commits.kde.org/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -26,6 +26,7 @@ include(ECMGenerateExportHeader) include(ECMDeprecationSettings) include(ECMQmlModule) +include(CMakeDependentOption) set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") @@ -41,7 +42,7 @@ SOVERSION 6) # Dependencies -set(REQUIRED_QT_VERSION 6.5.0) +set(REQUIRED_QT_VERSION 6.6.0) set(CMAKE_AUTORCC TRUE) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) @@ -77,7 +78,7 @@ find_package(KF6Config ${KF_DEP_VERSION} REQUIRED) -if (NOT APPLE AND NOT ANDROID AND NOT WIN32 OR (WIN32 AND NOT WITH_SNORETOAST)) +if (NOT APPLE AND NOT ANDROID AND NOT WIN32 AND NOT HAIKU OR (WIN32 AND NOT WITH_SNORETOAST)) find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED DBus) find_package(Canberra REQUIRED) set_package_properties(Canberra PROPERTIES @@ -87,13 +88,22 @@ endif() endif() +# For the Python bindings +find_package(Python3 3.9 COMPONENTS Interpreter Development) +find_package(Shiboken6) +find_package(PySide6) + +# Python Bindings +cmake_dependent_option(BUILD_PYTHON_BINDINGS "Generate Python Bindings" ON "TARGET Shiboken6::libshiboken AND TARGET PySide6::pyside6" OFF) +add_feature_info(PYTHON_BINDINGS ${BUILD_PYTHON_BINDINGS} "Python bindings") + remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) ecm_install_po_files_as_qm(poqm) ecm_set_disabled_deprecation_versions( - QT 6.5 - KF 5.240 + QT 6.9 + KF 6.12 ) add_subdirectory(src) @@ -103,6 +113,11 @@ add_subdirectory(examples) endif() +if (BUILD_PYTHON_BINDINGS) + include(ECMGeneratePythonBindings) + add_subdirectory(python) +endif() + # create a Config.cmake and a ConfigVersion.cmake file and install them set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Notifications") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/LICENSES/BSD-2-Clause.txt new/knotifications-6.13.0/LICENSES/BSD-2-Clause.txt --- old/knotifications-6.7.0/LICENSES/BSD-2-Clause.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/LICENSES/BSD-2-Clause.txt 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,9 @@ +Copyright (c) <year> <owner> + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/examples/android/AndroidManifest.xml new/knotifications-6.13.0/examples/android/AndroidManifest.xml --- old/knotifications-6.7.0/examples/android/AndroidManifest.xml 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/examples/android/AndroidManifest.xml 2025-04-04 16:02:09.000000000 +0200 @@ -40,7 +40,6 @@ <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/> <!-- Messages maps --> <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/> - <meta-data android:value="@string/unsupported_android_version" android:name="android.app.unsupported_android_version"/> <!-- Background running --> <meta-data android:name="android.app.background_running" android:value="false"/> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/metainfo.yaml new/knotifications-6.13.0/metainfo.yaml --- old/knotifications-6.7.0/metainfo.yaml 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/metainfo.yaml 2025-04-04 16:02:09.000000000 +0200 @@ -11,7 +11,7 @@ deprecated: false release: true libraries: - - cmake: "KF6::Notifications" + - cmake: "KF6::Notifications" cmakename: KF6Notifications public_lib: true diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/poqm/fi/knotifications6_qt.po new/knotifications-6.13.0/poqm/fi/knotifications6_qt.po --- old/knotifications-6.7.0/poqm/fi/knotifications6_qt.po 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/poqm/fi/knotifications6_qt.po 2025-04-04 16:02:09.000000000 +0200 @@ -34,8 +34,6 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 20.04.2\n" -"X-POT-Import-Date: 2013-01-13 20:43:21+0000\n" "X-Qt-Contexts: true\n" #~ msgctxt "KNotificationJobUiDelegate|" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/poqm/sa/knotifications6_qt.po new/knotifications-6.13.0/poqm/sa/knotifications6_qt.po --- old/knotifications-6.7.0/poqm/sa/knotifications6_qt.po 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/poqm/sa/knotifications6_qt.po 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,12 @@ +msgid "" +msgstr "" +"Project-Id-Version: knotifications6_qt\n" +"PO-Revision-Date: 2024-12-13 19:10+0530\n" +"Last-Translator: Kali <EMAIL@ADDRESS>\n" +"Language-Team: Sanskrit <kde-i18n-...@kde.org>\n" +"Language: sa\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n>1);\n" +"X-Qt-Contexts: true\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/python/CMakeLists.txt new/knotifications-6.13.0/python/CMakeLists.txt --- old/knotifications-6.7.0/python/CMakeLists.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/python/CMakeLists.txt 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2024 Manuel Alcaraz Zambrano <manuelalcaraz...@gmail.com> +# SPDX-License-Identifier: BSD-2-Clause + +set(bindings_library "KNotifications") + +set(wrapped_header ${CMAKE_CURRENT_SOURCE_DIR}/bindings.h) +set(typesystem_file ${CMAKE_CURRENT_SOURCE_DIR}/bindings.xml) + +set(generated_sources + ${CMAKE_CURRENT_BINARY_DIR}/KNotifications/knotifications_module_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/KNotifications/knotification_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/KNotifications/knotificationaction_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/KNotifications/knotificationreplyaction_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/KNotifications/knotifyconfig_wrapper.cpp) + +set(dependencies Qt6::Core Qt6::Gui KF6::Notifications) + +ecm_generate_python_bindings( + PACKAGE_NAME ${bindings_library} + VERSION ${KF_VERSION} + WRAPPED_HEADER ${wrapped_header} + TYPESYSTEM ${typesystem_file} + GENERATED_SOURCES ${generated_sources} + DEPENDENCIES ${dependencies} + QT_VERSION ${REQUIRED_QT_VERSION} + HOMEPAGE_URL "https://invent.kde.org/frameworks/knotifications" + ISSUES_URL "https://bugs.kde.org/describecomponents.cgi?product=frameworks-knotifications" + AUTHOR "The KDE Community" + README ../README.md +) + +target_link_libraries(${bindings_library} PRIVATE KF6Notifications) + +execute_process(COMMAND ${Python_EXECUTABLE} -Esc "import sysconfig; print(sysconfig.get_path('platlib', vars={'platbase': '${CMAKE_INSTALL_PREFIX}', 'base': '${CMAKE_INSTALL_PREFIX}'}))" OUTPUT_VARIABLE sysconfig_output) +string(STRIP ${sysconfig_output} PYTHON_INSTALL_DIR) + +install(TARGETS ${bindings_library} LIBRARY DESTINATION "${PYTHON_INSTALL_DIR}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/python/bindings.h new/knotifications-6.13.0/python/bindings.h --- old/knotifications-6.7.0/python/bindings.h 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/python/bindings.h 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2024 Manuel Alcaraz Zambrano <manuelalcaraz...@gmail.com> +// SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL + +#pragma once + +#include <KNotification> +#include <KNotificationReplyAction> +#include <KNotifyConfig> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/python/bindings.xml new/knotifications-6.13.0/python/bindings.xml --- old/knotifications-6.7.0/python/bindings.xml 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/python/bindings.xml 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,21 @@ +<?xml version="1.0"?> +<typesystem package="KNotifications"> +<!-- +SPDX-FileCopyrightText: 2024 Manuel Alcaraz Zambrano <manuelalcaraz...@gmail.com> +SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL +--> + <load-typesystem name="typesystem_gui.xml" generate="no"/> + + <object-type name="KNotification"> + <enum-type name="NotificationFlag" flags="NotificationFlags" /> + <enum-type name="StandardEvent" /> + <enum-type name="Urgency" /> + </object-type> + <object-type name="KNotificationAction" /> + <namespace-type name="KNotificationPermission" /> + <object-type name="KNotificationReplyAction"> + <enum-type name="FallbackBehavior" /> + </object-type> + <object-type name="KNotifyConfig" /> + +</typesystem> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/python/examples/notification.py new/knotifications-6.13.0/python/examples/notification.py --- old/knotifications-6.7.0/python/examples/notification.py 1970-01-01 01:00:00.000000000 +0100 +++ new/knotifications-6.13.0/python/examples/notification.py 2025-04-04 16:02:09.000000000 +0200 @@ -0,0 +1,37 @@ +# SPDX-FileCopyrightText: 2024 Nicolas Fella <nicolas.fe...@gmx.de> +# SPDX-License-Identifier: BSD-2-Clause + +import sys + +from PySide6 import QtCore +from PySide6 import QtWidgets + +from KNotifications import KNotification + +class KNotifcationsDemo(QtWidgets.QWidget): + def __init__(self): + super().__init__() + + self.layout = QtWidgets.QVBoxLayout(self) + + self.button = QtWidgets.QPushButton() + self.button.setText("Push me") + self.button.clicked.connect(self.magic) + + self.layout.addWidget(self.button) + + @QtCore.Slot() + def magic(self): + noti = KNotification("notification") + noti.setComponentName("plasma_workspace") + noti.setTitle("Hi") + noti.setText("Hello World") + noti.sendEvent() + +if __name__ == "__main__": + app = QtWidgets.QApplication([]) + + widget = KNotifcationsDemo() + widget.show() + + sys.exit(app.exec()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/src/android/build.gradle new/knotifications-6.13.0/src/android/build.gradle --- old/knotifications-6.7.0/src/android/build.gradle 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/src/android/build.gradle 2025-04-04 16:02:09.000000000 +0200 @@ -34,5 +34,6 @@ defaultConfig { minSdkVersion @ANDROID_API_LEVEL@ targetSdkVersion @ANDROID_SDK_COMPILE_API@ + namespace "org.kde.knotifications" } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/src/android/org/kde/knotifications/NotifyByAndroid.java new/knotifications-6.13.0/src/android/org/kde/knotifications/NotifyByAndroid.java --- old/knotifications-6.7.0/src/android/org/kde/knotifications/NotifyByAndroid.java 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/src/android/org/kde/knotifications/NotifyByAndroid.java 2025-04-04 16:02:09.000000000 +0200 @@ -69,7 +69,12 @@ filter.addAction(m_ctx.getPackageName() + NOTIFICATION_DELETED); filter.addAction(m_ctx.getPackageName() + NOTIFICATION_OPENED); filter.addAction(m_ctx.getPackageName() + NOTIFICATION_REPLIED); - m_ctx.registerReceiver(this, filter); + + if (Build.VERSION.SDK_INT >= 33) { + m_ctx.registerReceiver(this, filter, Context.RECEIVER_NOT_EXPORTED); + } else { + m_ctx.registerReceiver(this, filter); + } } public void notify(KNotification notification) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/src/knotification.cpp new/knotifications-6.13.0/src/knotification.cpp --- old/knotifications-6.7.0/src/knotification.cpp 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/src/knotification.cpp 2025-04-04 16:02:09.000000000 +0200 @@ -210,6 +210,12 @@ d->needUpdate = true; KNotificationAction *action = new KNotificationAction(label); + connect(action, &KNotificationAction::labelChanged, this, [this] { + d->needUpdate = true; + if (d->id >= 0) { + d->updateTimer.start(); + } + }); action->setId(QString::number(d->actionIdCounter)); d->actionIdCounter++; @@ -276,6 +282,12 @@ d->needUpdate = true; d->ownsActions = true; d->defaultAction = new KNotificationAction(label); + connect(d->defaultAction, &KNotificationAction::labelChanged, this, [this] { + d->needUpdate = true; + if (d->id >= 0) { + d->updateTimer.start(); + } + }); d->defaultAction->setId(QStringLiteral("default")); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/knotifications-6.7.0/src/notifybyaudio.cpp new/knotifications-6.13.0/src/notifybyaudio.cpp --- old/knotifications-6.7.0/src/notifybyaudio.cpp 2024-10-04 17:08:41.000000000 +0200 +++ new/knotifications-6.13.0/src/notifybyaudio.cpp 2025-04-04 16:02:09.000000000 +0200 @@ -212,7 +212,7 @@ } // Consider the notification finished. ca_context_cancel schedules a cancel - // but we need to stop using the noficiation immediately or we could access + // but we need to stop using the notification immediately or we could access // a notification past its lifetime (close() may, or indeed must, // schedule deletion of the notification). // https://bugs.kde.org/show_bug.cgi?id=398695