Review Request 125140: [kdeconnect-kde] initial support for desktop-to-XXX notifications

Holger Kaelberer holger.k at elberer.de
Fri Nov 27 20:15:40 UTC 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/125140/
-----------------------------------------------------------

(Updated Nov. 27, 2015, 8:15 p.m.)


Review request for kdeconnect.


Changes
-------

This also adds a kcm ui to to allow to configure how to sync desktop notifications:

Some Global options affect all notifications:

- Persistent only? --> Sync only notifications with timeout == 0?
- Include body? --> Add body string to summary when syncing?
- Minimum urgency

Per application options affect notifications sent by a specific application:

- Sync it at all?
- If yes, allow to define a "blacklist" pattern (QRegualarExpression) to define which notifications should *not* be synced.

Some notes/unclear issues (feedback welcome):
----------------------------------------------

- In daemon context, what is the recommended KDE/Qt-way to initialize stuff in a plugin that should best be initialized statically like the following:

qRegisterMetaTypeStreamOperators<NotifyingApplication>("NotifyingApplication");

Should be best something like a __attribute__((constructor)). Currently it's done in the NotificationListener contructor, i.e. not only once, which does probably no harm.

- To keep things simple I used the per-device dbus signal configChanged() to allow for reloading the list of known applications in notifications-plugin vs. kcm-module when changed in the resp. other one. This produces some superfluous reloads, but should be fine, as these events don't occur too often.

- Added some 'docu' to kcm in the tooltip texts. Should it be put elsewhere?


Repository: kdeconnect-kde


Description
-------

Eavesdrop on the Notify call of the org.freedesktop.Notifications dbus-interface, proxy all caught notifications to our peer device and track them in the internal notifications-list.

Also fix "cancel" requests from peer devices, by cutting of kdeconnect-android's id-prefix.


Diffs (updated)
-----

  core/kdeconnectpluginconfig.h 09bf68e 
  core/kdeconnectpluginconfig.cpp 980235c 
  plugins/notifications/CMakeLists.txt 41c5b78 
  plugins/notifications/kdeconnect_notifications_config.desktop PRE-CREATION 
  plugins/notifications/notifications_config.h PRE-CREATION 
  plugins/notifications/notifications_config.cpp PRE-CREATION 
  plugins/notifications/notifications_config.ui PRE-CREATION 
  plugins/notifications/notificationsdbusinterface.h 21d5a6a 
  plugins/notifications/notificationsdbusinterface.cpp 3c504c6 
  plugins/notifications/notificationslistener.h PRE-CREATION 
  plugins/notifications/notificationslistener.cpp PRE-CREATION 
  plugins/notifications/notificationsplugin.h 7cc67c5 
  plugins/notifications/notificationsplugin.cpp badb5d3 
  plugins/notifications/notifyingapplication.h PRE-CREATION 
  plugins/notifications/notifyingapplication.cpp PRE-CREATION 
  plugins/notifications/notifyingapplicationmodel.h PRE-CREATION 
  plugins/notifications/notifyingapplicationmodel.cpp PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/125140/diff/


Testing
-------

I tested with my (patched) tablet, works fine.


Thanks,

Holger Kaelberer

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdeconnect/attachments/20151127/698691e7/attachment.html>


More information about the KDEConnect mailing list