Commit graph

51 commits

Author SHA1 Message Date
Aleix Pol
d7f09103a2 notifications: Fix actions on kf6
We'd be adding them over and over when reusing them.
2023-12-13 22:59:34 +00:00
Nicolas Fella
0343c9401d Port to new KNotifications action API 2023-11-04 13:40:22 +01:00
Alexander Lohnau
ed1e24d231 kdeconnect_add_plugin: Autogenerate logging category
This is far less code and allows for an easier enforcing of standards, for
example the name of the log identifiers which were adjusted in a few cases.

Also clean up unused includes when noticed.
2023-08-07 19:47:41 +02:00
Alexander Lohnau
2e67f95017 Add explicit moc includes to cpp files
The rationale is explained in https://planet.kde.org/friedrich-kossebau-2023-06-28-include-also-moc-files-of-headers/

In case of KDEConnect, it impressively speeds up compilation. Before it
took 390 seconds on a clean build and with this change it took 330 seconds.
This is due to the mocs_compilation having to include the header files
and thus all their headers. Due to the lots of small plugins we have,
this means that the same headers must be compiled plenty of times.
When we include the moc files directly in the C++ file, they are already
available.
2023-07-30 07:27:45 +00:00
Alexander Lohnau
ac3d439a2a Clean up unneeded version checks
With the min. version bumped, those can be safely removed
2023-07-22 16:17:24 +02:00
Alexander Lohnau
1ee75463e0 Get rid of QOverload/static_cast for overloaded signals
By exclusing deprecated API in the KF5 build, the deprecated signal no
longer cause an ambiguity
2023-07-22 16:17:24 +02:00
Alexander Lohnau
0b99c3a637 Remove unneeded destructors from plugins
We already have a destructor from the baseclass and don't need to clean
up any resources in the affected plugins
2023-07-22 16:01:21 +02:00
Albert Vaca Cintora
9c87393b28 clang-format pass 2023-07-16 16:20:34 +02:00
Bharadwaj Raju
1f5fd06924 [plasmoid] Add inline reply for notifications instead of opening a dialog
Instead of opening the reply dialog when clicking Reply in the plasmoid, it opens an inline reply UI.
2022-09-26 19:51:28 +00:00
Nicolas Fella
a918ffc0cb Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00:00
Nicolas Fella
8d521540a8 Mark notifications as resident
This means that they are not deleted automatically on timeout and thus can be interacted with from Plasma's history.

The KNotification is parented to the Notification so it gets deleted when the notification is dismissed from the phone or the Plasmoid.
2021-03-19 08:05:29 +00:00
Nicolas Fella
2fef3b925d Make use of KNotification's quick reply feature
It can make use of Plasma's native quick reply. If that is not available then it get's turned into a regular action that we hook up with
2021-03-17 14:29:08 +01:00
Bharadwaj Raju
26a8ca7fe9 Don't escape notification title text
Notifications don't support markup in title text, so escaping it causes
unintended HTML entities like & to show up instead of the actual
text.
2021-02-02 18:24:16 +05:30
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
Antonio Larrosa
1d36164230 Use ecm_qt_declare_logging_category to declare the logging categories
This automatizes the generation of logging categories so a
kdeconnect-kde.categories is generated and installed to
/usr/share/qlogging-categories5/ so kdebugsettings can use it.

Also, sets the default logging level to Warning. So now the logs
of users won't be filled with debug messages but they can
modify the configuration easily with kdebugsettings.
2020-05-26 18:55:47 +02:00
Nicolas Fella
3e9fd8622a Remove obsolete version checks 2020-05-03 22:59:52 +02:00
Nicolas Fella
b59ef618b2 [notifications] Set actions before sending the notification 2020-04-23 17:34:37 +00:00
Nicolas Fella
b3d78d6d07 [notifications] Drop no icon hack 2020-04-12 23:07:51 +00:00
Yuri Chornoivan
01c4d0411b Fix minor EBN issues 2019-12-22 09:49:55 +02:00
Nicolas Fella
f776ee2ec2 Use QDir::setPath 2019-07-20 13:09:35 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Nicolas Fella
96cd55920e Use notification hints from new Plasma notification system 2019-06-02 14:03:11 +00:00
Nicolas Fella
d6de041324 Coding style 2019-04-14 19:23:29 +02:00
Nicolas Fella
331cedfa2f Don't connect to action invoked signals multiple times 2019-04-14 19:20:25 +02:00
Nicolas Fella
54df89809e Don't show multiple windows when replying to a notification 2019-04-14 17:05:01 +00:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Nicolas Fella
e5e740437f Remove unused return type 2019-03-21 20:53:11 +01:00
Nicolas Fella
51c17402b8 Fix clazy warning 2019-02-28 14:04:15 +01:00
Nicolas Fella
957975898b Add actions to notifications
Summary:
When Android sends a list of possible actions add them to the notification. When the action is triggered send a package containing the id and the action back
CCBUG: 366475

Test Plan: Send dummy notification, see the actions, trigger it, look for received package on Android

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect, broulik, mtijink, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12293
2019-02-08 23:54:04 +01:00
Nicolas Fella
74e7a90cd8 Simplify notification handling
Summary:
Use QPointer for KNotification
Use ready signal for signalling updates

BUG: 400010

Test Plan: Spawned some notifications

Reviewers: #kde_connect, broulik, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D18354
2019-01-24 09:19:14 +01:00
Yuri Chornoivan
5fe74ce041 Fix minor EBN issues and typos 2018-10-07 21:23:20 +03:00
Albert Vaca
da8f3d19d0 Do not start a second transfer if one is in progress
Reviewed by Albert Astals
2018-03-24 21:28:43 +01:00
Aleix Pol
69ef7cfe13 Make sure we don't request multiple times the notification icon
Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka

Differential Revision: https://phabricator.kde.org/D11371
2018-03-16 00:06:47 +01:00
Albert Vaca
f47f517827 Rename NetworkPackage -> NetworkPacket
Summary: KDE Connect, now with correct naming!

Test Plan: It still builds.

Reviewers: #kde_connect, apol, nicolasfella

Reviewed By: #kde_connect, apol, nicolasfella

Subscribers: nicolasfella

Differential Revision: https://phabricator.kde.org/D11036
2018-03-05 20:03:23 +01:00
Aleix Pol
895a9206ff Was getting a double-delete, now it won't crash 2018-01-16 20:31:05 +01:00
Nicolas Fella
7e7aa6df3f Fix information leak via /tmp
Summary: BUG: 383144

Reviewers: #kde_connect, apol, albertvaka

Reviewed By: #kde_connect, apol, albertvaka

Subscribers: thomasp, apol, #kde_connect, albertvaka

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7146
2017-12-29 21:19:03 +01:00
Nicolas Fella
fbf8852d6f Fix Notifications in Plasmoid
Summary:
Fixed Issues mentioned in https://phabricator.kde.org/T6729
This patch also fixes a crash when the filetransfer of the icon fails

Test Plan:
Receive a notification with a previously unknown icon -> icon in Plasmoid is displayed correctly
Receive a notification with an already existing id -> notification in Plasmoid is updated

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: albertvaka, broulik, apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7209
2017-11-06 04:15:50 +01:00
Jean Vincent
72535ecf48 Make member variable names, & placement and * placement more coherent
Summary:
Change all member variables to the form m_fooBar because it is the preferred form in Qt (it was half and half between this and mFooBar, and a minority didn't have anything).
Place all references and pointers on the side of the type since it is the majority.

Basically:
 - mFoo -> m_foo
 - foo -> m_foo (if it is a member variable)
 - Type &ref -> Type& ref
 - Type *ptr -> Type* ptr

Reviewers: #kde_connect, nicolasfella, albertvaka

Reviewed By: #kde_connect, nicolasfella, albertvaka

Subscribers: albertvaka, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7312
2017-09-03 21:45:08 +02:00
Nicolas Fella
1d78a2d288 Fix Notifications in Plasmoid
Summary:
Fixed Issues mentioned in https://phabricator.kde.org/T6729

Test Plan:
Receive a notification with a previously unknown icon -> icon in Plasmoid is displayed correctly
Receive a notification with an already existing id -> notification in Plasmoid is updated

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: broulik, apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7209
2017-08-13 20:18:31 +02:00
Nicolas Fella
732462135f Show no notification icon if there is no
Summary: I think it looks nicer than the kind of angry default icon and is the expected behaviour

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D6089
2017-07-11 23:27:41 +02:00
Julian Wolff
8aaa18848e show icon and reply toolbutton in plasmoid
Summary:
Show an icon for each notification which has an icon.

	Show a toolbutton which can be used to reply to notifications which offer a quick reply.

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka

Maniphest Tasks: T4674, T4658

Differential Revision: https://phabricator.kde.org/D6058
2017-06-01 16:17:45 +02:00
Julian Wolff
4eeb329014 These changes allow replying to any notifications that offer quick reply text fields
Summary: These changes allow replying to any notifications that offer quick reply text fields

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol

Maniphest Tasks: T4674

Differential Revision: https://phabricator.kde.org/D5993
2017-05-31 15:36:43 +02:00
Nicolas Fella
ec2b794ffb Escape HTML Characters in Notifications.
REVIEW: 130114
2017-05-07 20:23:05 +02:00
Nicolas Fella
f0010763e7 Fixed filetransferjob broken after adding icons.
The plasmoid didn't know the transfer ended.

REVIEW: 130116
2017-05-07 20:16:19 +02:00
Nicolas Fella
891f1bd355 Notification icons from Android are now displayed
- FileTransferJob is now nonblocking.
- Files are stored based on the image MD5.
- Some improvements in displaying the notification, e.g. title is only
  displayed when different than the app name.
- Most of the notification display code moved to the Notification class.

REVIEW: 130050
2017-04-13 21:32:03 +02:00
Albert Vaca
60331ccbf1 Clazy says all this QStringLiteral and QLatin1String were missing/wrong 2016-11-26 16:21:29 +01:00
Albert Vaca
6deec3429a Use id instead of a pointer in the dismissRequested signal and slot.
Also changed connection to the Qt5 way.
2015-10-17 15:32:13 -07:00
Albert Vaca
6cc6d287fc Merge branch 'master' into frameworks
Conflicts:
	cli/kdeconnect-cli.cpp
	core/filetransferjob.cpp
	core/filetransferjob.h
	interfaces/notificationsmodel.cpp
	plasmoid/declarativeplugin/kdeconnectdeclarativeplugin.h
	plugins/sftp/sftpplugin.cpp
2015-01-20 22:44:31 -08:00
Albert Vaca
da1cb4c354 Coding style 2015-01-20 22:22:14 -08:00
Àlex Fiestas
73db3eb694 Port Notifications from kDebug to qCDebug 2014-09-22 00:45:06 +02:00