Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package xdg-desktop-portal-kde for
openSUSE:Factory checked in at 2023-01-06 17:04:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdg-desktop-portal-kde (Old)
and /work/SRC/openSUSE:Factory/.xdg-desktop-portal-kde.new.1563 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xdg-desktop-portal-kde"
Fri Jan 6 17:04:22 2023 rev:110 rq:1056056 version:5.26.5
Changes:
--------
---
/work/SRC/openSUSE:Factory/xdg-desktop-portal-kde/xdg-desktop-portal-kde.changes
2022-11-30 15:00:12.457456159 +0100
+++
/work/SRC/openSUSE:Factory/.xdg-desktop-portal-kde.new.1563/xdg-desktop-portal-kde.changes
2023-01-06 17:04:40.415884141 +0100
@@ -1,0 +2,11 @@
+Wed Jan 4 14:06:24 UTC 2023 - Fabian Vogt <[email protected]>
+
+- Update to 5.26.5
+ * New bugfix release
+ * For more details please see:
+ * https://kde.org/announcements/plasma/5/5.26.5
+- Changes since 5.26.4:
+ * notifications: Properly communicate the triggered action (kde#462278)
+ * notification: Trigger org.freedesktop.Application.Activate* as spec'd
+
+-------------------------------------------------------------------
Old:
----
xdg-desktop-portal-kde-5.26.4.tar.xz
xdg-desktop-portal-kde-5.26.4.tar.xz.sig
New:
----
xdg-desktop-portal-kde-5.26.5.tar.xz
xdg-desktop-portal-kde-5.26.5.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xdg-desktop-portal-kde.spec ++++++
--- /var/tmp/diff_new_pack.qEoXH4/_old 2023-01-06 17:04:41.923892610 +0100
+++ /var/tmp/diff_new_pack.qEoXH4/_new 2023-01-06 17:04:41.927892633 +0100
@@ -1,7 +1,7 @@
#
# spec file for package xdg-desktop-portal-kde
#
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
%define kf5_version 5.98.0
Name: xdg-desktop-portal-kde
-Version: 5.26.4
+Version: 5.26.5
Release: 0
Summary: QT/KF5 backend for xdg-desktop-portal
License: LGPL-2.1-or-later
++++++ xdg-desktop-portal-kde-5.26.4.tar.xz ->
xdg-desktop-portal-kde-5.26.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xdg-desktop-portal-kde-5.26.4/CMakeLists.txt
new/xdg-desktop-portal-kde-5.26.5/CMakeLists.txt
--- old/xdg-desktop-portal-kde-5.26.4/CMakeLists.txt 2022-11-29
12:53:01.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/CMakeLists.txt 2023-01-03
19:58:44.000000000 +0100
@@ -2,7 +2,7 @@
set(CMAKE_C_STANDARD 99)
-set(PROJECT_VERSION "5.26.4")
+set(PROJECT_VERSION "5.26.5")
set(PROJECT_VERSION_MAJOR 5)
project(xdg-desktop-portal-kde VERSION ${PROJECT_VERSION})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/data/org.freedesktop.Application.xml
new/xdg-desktop-portal-kde-5.26.5/data/org.freedesktop.Application.xml
--- old/xdg-desktop-portal-kde-5.26.4/data/org.freedesktop.Application.xml
1970-01-01 01:00:00.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/data/org.freedesktop.Application.xml
2023-01-03 19:58:44.000000000 +0100
@@ -0,0 +1,17 @@
+<interface name='org.freedesktop.Application'>
+ <method name='Activate'>
+ <arg type='a{sv}' name='platform_data' direction='in'/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In0"
value="QVariantMap"/>
+ </method>
+ <method name='Open'>
+ <arg type='as' name='uris' direction='in'/>
+ <arg type='a{sv}' name='platform_data' direction='in'/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In1"
value="QVariantMap"/>
+ </method>
+ <method name='ActivateAction'>
+ <arg type='s' name='action_name' direction='in'/>
+ <arg type='av' name='parameter' direction='in'/>
+ <arg type='a{sv}' name='platform_data' direction='in'/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.In2"
value="QVariantMap"/>
+ </method>
+</interface>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/po/ca@valencia/xdg-desktop-portal-kde.po
new/xdg-desktop-portal-kde-5.26.5/po/ca@valencia/xdg-desktop-portal-kde.po
--- old/xdg-desktop-portal-kde-5.26.4/po/ca@valencia/xdg-desktop-portal-kde.po
2022-11-29 12:53:04.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/po/ca@valencia/xdg-desktop-portal-kde.po
2023-01-03 19:58:47.000000000 +0100
@@ -46,7 +46,7 @@
#: src/appchooserdialog.cpp:34
#, kde-format
msgid "Select an application to open '%1'"
-msgstr "Seleccioneu una aplicació per obrir «%1»"
+msgstr "Seleccioneu una aplicació per a obrir «%1»"
#: src/background.cpp:83
#, kde-format
@@ -309,22 +309,22 @@
#: src/waylandintegration.cpp:271
#, kde-format
msgid "Recording window \"%1\"..."
-msgstr "S'està enregistrant la finestra «%1»..."
+msgstr "S'està gravant la finestra «%1»..."
#: src/waylandintegration.cpp:281
#, kde-format
msgid "Recording screen \"%1\"..."
-msgstr "S'està enregistrant la pantalla «%1»..."
+msgstr "S'està gravant la pantalla «%1»..."
#: src/waylandintegration.cpp:298
#, kde-format
msgid "Recording workspace..."
-msgstr "S'està enregistrant l'espai de treball..."
+msgstr "S'està gravant l'espai de treball..."
#: src/waylandintegration.cpp:310
#, kde-format
msgid "Recording virtual output '%1'..."
-msgstr "S'està enregistrant l'eixida virtual «%1»..."
+msgstr "S'està gravant l'eixida virtual «%1»..."
#: src/waylandintegration.cpp:329
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/po/fr/xdg-desktop-portal-kde.po
new/xdg-desktop-portal-kde-5.26.5/po/fr/xdg-desktop-portal-kde.po
--- old/xdg-desktop-portal-kde-5.26.4/po/fr/xdg-desktop-portal-kde.po
2022-11-29 12:53:08.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/po/fr/xdg-desktop-portal-kde.po
2023-01-03 19:58:51.000000000 +0100
@@ -14,7 +14,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Lokalize 22.11.80\n"
+"X-Generator: Lokalize 22.11.90\n"
"X-Environment: kde\n"
"X-Accelerator-Marker: &\n"
"X-Text-Markup: kde4\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/po/ia/xdg-desktop-portal-kde.po
new/xdg-desktop-portal-kde-5.26.5/po/ia/xdg-desktop-portal-kde.po
--- old/xdg-desktop-portal-kde-5.26.4/po/ia/xdg-desktop-portal-kde.po
2022-11-29 12:53:11.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/po/ia/xdg-desktop-portal-kde.po
2023-01-03 19:58:54.000000000 +0100
@@ -7,7 +7,7 @@
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-09-29 02:17+0000\n"
-"PO-Revision-Date: 2022-03-21 22:32+0100\n"
+"PO-Revision-Date: 2022-12-18 22:20+0100\n"
"Last-Translator: giovanni <[email protected]>\n"
"Language-Team: Interlingua <[email protected]>\n"
"Language: ia\n"
@@ -15,7 +15,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Lokalize 21.12.3\n"
+"X-Generator: Lokalize 22.12.0\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
@@ -41,7 +41,7 @@
#: src/appchooserdialog.cpp:34
#, kde-format
msgid "Select an application to open '%1'"
-msgstr ""
+msgstr "Selige un application pro aperir '%1'"
#: src/background.cpp:83
#, kde-format
@@ -87,18 +87,16 @@
msgstr "Permitte"
#: src/dynamiclauncher.cpp:76
-#, fuzzy, kde-format
-#| msgid "Select application"
+#, kde-format
msgctxt "@title"
msgid "Add Web Applicationâ¦"
-msgstr "Selige application"
+msgstr "Adde application Web"
#: src/dynamiclauncher.cpp:81
-#, fuzzy, kde-format
-#| msgid "Select application"
+#, kde-format
msgctxt "@title"
msgid "Add Applicationâ¦"
-msgstr "Selige application"
+msgstr "Adde Application..."
#: src/filechooser.cpp:369
#, kde-format
@@ -128,7 +126,7 @@
#: src/outputsmodel.cpp:22
#, kde-format
msgid "New Virtual Output"
-msgstr ""
+msgstr "Nove Exito Virtual"
#: src/outputsmodel.cpp:28 src/screencastwidget.cpp:24
#, kde-format
@@ -311,10 +309,9 @@
msgstr "Registrante spatio de labor..."
#: src/waylandintegration.cpp:310
-#, fuzzy, kde-format
-#| msgid "Recording window \"%1\"..."
+#, kde-format
msgid "Recording virtual output '%1'..."
-msgstr "Registrante fenestra \"%1\"..."
+msgstr "Registrante exito virtual \"%1\"..."
#: src/waylandintegration.cpp:329
#, kde-format
@@ -325,7 +322,7 @@
#, kde-format
msgctxt "@action:inmenu stops screen/window recording"
msgid "Stop Recording"
-msgstr ""
+msgstr "Stoppa Registrar"
#: src/waylandintegration.cpp:494
#, kde-format
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/po/it/xdg-desktop-portal-kde.po
new/xdg-desktop-portal-kde-5.26.5/po/it/xdg-desktop-portal-kde.po
--- old/xdg-desktop-portal-kde-5.26.4/po/it/xdg-desktop-portal-kde.po
2022-11-29 12:53:11.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/po/it/xdg-desktop-portal-kde.po
2023-01-03 19:58:54.000000000 +0100
@@ -16,7 +16,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Lokalize 22.08.2\n"
+"X-Generator: Lokalize 23.03.70\n"
#, kde-format
msgctxt "NAME OF TRANSLATORS"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/xdg-desktop-portal-kde-5.26.4/po/zh_CN/xdg-desktop-portal-kde.po
new/xdg-desktop-portal-kde-5.26.5/po/zh_CN/xdg-desktop-portal-kde.po
--- old/xdg-desktop-portal-kde-5.26.4/po/zh_CN/xdg-desktop-portal-kde.po
2022-11-29 12:53:24.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/po/zh_CN/xdg-desktop-portal-kde.po
2023-01-03 19:59:05.000000000 +0100
@@ -3,7 +3,7 @@
"Project-Id-Version: kdeorg\n"
"Report-Msgid-Bugs-To: https://bugs.kde.org\n"
"POT-Creation-Date: 2022-09-29 02:17+0000\n"
-"PO-Revision-Date: 2022-11-19 14:51\n"
+"PO-Revision-Date: 2023-01-02 07:16\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xdg-desktop-portal-kde-5.26.4/src/CMakeLists.txt
new/xdg-desktop-portal-kde-5.26.5/src/CMakeLists.txt
--- old/xdg-desktop-portal-kde-5.26.4/src/CMakeLists.txt 2022-11-29
12:53:01.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/src/CMakeLists.txt 2023-01-03
19:58:44.000000000 +0100
@@ -187,6 +187,8 @@
set_source_files_properties(../data/org.kde.KIOFuse.VFS.xml PROPERTIES
NO_NAMESPACE TRUE)
qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS
../data/org.kde.KIOFuse.VFS.xml fuse_interface)
+qt_add_dbus_interface(xdg_desktop_portal_kde_SRCS
../data/org.freedesktop.Application.xml fdo_application_interface)
+
target_sources(xdg-desktop-portal-kde PRIVATE ${xdg_desktop_portal_kde_SRCS})
target_link_libraries(xdg-desktop-portal-kde
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/xdg-desktop-portal-kde-5.26.4/src/notification.cpp
new/xdg-desktop-portal-kde-5.26.5/src/notification.cpp
--- old/xdg-desktop-portal-kde-5.26.4/src/notification.cpp 2022-11-29
12:53:01.000000000 +0100
+++ new/xdg-desktop-portal-kde-5.26.5/src/notification.cpp 2023-01-03
19:58:44.000000000 +0100
@@ -12,9 +12,13 @@
#include <QDBusMessage>
#include <QDBusMetaType>
+#include "fdo_application_interface.h"
#include "notification_debug.h"
#include "portalicon.h"
+using Action = QPair<QString, QVariant>;
+Q_DECLARE_METATYPE(QList<Action>);
+
NotificationPortal::NotificationPortal(QObject *parent)
: QDBusAbstractAdaptor(parent)
{
@@ -75,6 +79,8 @@
notify->setDefaultAction(notification.value(QStringLiteral("default-action")).toString());
}
+ QList<Action> actionValues = {
+ {notification.value(QStringLiteral("default-action")).toString(),
notification.value(QStringLiteral("default-action-target"))}};
if (notification.contains(QStringLiteral("buttons"))) {
QList<QVariantMap> buttons;
QDBusArgument dbusArgument =
notification.value(QStringLiteral("buttons")).value<QDBusArgument>();
@@ -83,17 +89,20 @@
}
QStringList actions;
+
for (const QVariantMap &button : qAsConst(buttons)) {
actions << button.value(QStringLiteral("label")).toString();
+
+
actionValues.append({button.value(QStringLiteral("action")).toString(),
button.value(QStringLiteral("target"))});
}
if (!actions.isEmpty()) {
notify->setActions(actions);
}
}
-
notify->setHint(QStringLiteral("desktop-entry"), app_id);
+ notify->setProperty("actionValues",
QVariant::fromValue<QList<Action>>(actionValues));
notify->setProperty("app_id", app_id);
notify->setProperty("id", id);
connect(notify, static_cast<void
(KNotification::*)(uint)>(&KNotification::activated), this,
&NotificationPortal::notificationActivated);
@@ -103,6 +112,14 @@
m_notifications.insert(QStringLiteral("%1:%2").arg(app_id, id), notify);
}
+static QString appPathFromId(const QString &app_id)
+{
+ QString ret = QLatin1Char('/') + app_id;
+ ret.replace('.', '/');
+ ret.replace('-', '_');
+ return ret;
+}
+
void NotificationPortal::notificationActivated(uint action)
{
KNotification *notify = qobject_cast<KNotification *>(sender());
@@ -113,17 +130,43 @@
const QString appId = notify->property("app_id").toString();
const QString id = notify->property("id").toString();
+ const auto actionValues =
notify->property("actionValues").value<QList<Action>>();
+ QVariantMap platformData;
+ if (!notify->xdgActivationToken().isEmpty()) {
+ platformData = {
+ {QStringLiteral("activation-token"), notify->xdgActivationToken()},
+
+ // apparently gtk uses "desktop-startup-id"
+ {QStringLiteral("desktop-startup-id"),
notify->xdgActivationToken()},
+ };
+ }
qCDebug(XdgDesktopPortalKdeNotification) << "Notification activated:";
qCDebug(XdgDesktopPortalKdeNotification) << " app_id: " << appId;
qCDebug(XdgDesktopPortalKdeNotification) << " id: " << id;
- qCDebug(XdgDesktopPortalKdeNotification) << " action: " << action;
+ qCDebug(XdgDesktopPortalKdeNotification) << " action: " << action <<
actionValues;
+
+ const auto ourAction = actionValues.value(action);
+
+ QVariantList params;
+ if (ourAction.second.isValid()) {
+ params += ourAction.second;
+ }
- QDBusMessage message =
QDBusMessage::createSignal(QStringLiteral("/org/freedesktop/portal/desktop"),
-
QStringLiteral("org.freedesktop.impl.portal.Notification"),
-
QStringLiteral("ActionInvoked"));
- message << appId << id << QString::number(action) << QVariantList();
- QDBusConnection::sessionBus().send(message);
+ OrgFreedesktopApplicationInterface iface("org.freedesktop.Application",
appPathFromId(appId), QDBusConnection::sessionBus());
+ if (id.startsWith("app.") && iface.isValid()) {
+ iface.ActivateAction(id.mid(4), params, platformData);
+ } else {
+ if (iface.isValid()) {
+ iface.Activate(platformData);
+ }
+
+ QDBusMessage message =
QDBusMessage::createSignal(QStringLiteral("/org/freedesktop/portal/desktop"),
+
QStringLiteral("org.freedesktop.impl.portal.Notification"),
+
QStringLiteral("ActionInvoked"));
+ message << appId << id << ourAction.first << params;
+ QDBusConnection::sessionBus().send(message);
+ }
}
void NotificationPortal::RemoveNotification(const QString &app_id, const
QString &id)