Commit graph

1093 commits

Author SHA1 Message Date
Nicolas Fella
6a018fa2a6 Try to fix windows build 2020-09-10 00:24:36 +02:00
Nicolas Fella
400c800deb [app] Add plugin settings page
Include a page that allows (de)selecting and configuring plugins

This is one of the last missing pieces for feature parity with the KCM.
2020-09-08 20:33:20 +02:00
Aniket Kumar
706fc314fb Adding support to send attachments to the remote device. 2020-08-31 15:35:25 +05:30
Nicolas Fella
ed91dfb1ec [plugins/lockdevice] Port to use logind interface
KScreenLocker does not allow unlocking the screen via the screensaver interface by design (https://bugs.kde.org/show_bug.cgi?id=425616).

However it allows to do it via the logind interface, so let's use that here.

While at it also refactor the code and properly track and send the state, so the other device can show an appropriate label.
2020-08-28 11:58:22 +00:00
Nicolas Fella
f90d6a019f Rework the battery plugin
Instead of having the DBus stuff in a separate class expose the plugin class itself like we do for the other plugins.

Replace the method-based API with properties.

Change the path to <device>/battery for consistency with other plugins
2020-08-27 15:04:40 +00:00
Aniket Kumar
e368dd4ab5 Implementing support to request and receive original attachment file from the remote device. 2020-08-23 17:43:22 +05:30
Philip Cohn-Cort
cfc29fafa6 Improve battery reporting reliability 2020-08-22 15:28:35 +00:00
Nicolas Fella
2a75eca869 Reload remote commands model when commands change
Most of that was already in place, just one signal wasn't wired correctly.
2020-08-22 00:50:05 +02:00
Piyush Aggarwal
1204da7944 add missing header to fix build with MSVC 14.27 2020-08-18 13:36:32 +05:30
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
l10n daemon script
250eebd0a5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-08-13 06:05:06 +02:00
Nicolas Fella
dda590186e Port away from KMimeTypeTrader
It is about to be deprecated

See https://phabricator.kde.org/T12177
2020-08-12 01:34:18 +02:00
Aniket Kumar
0b3d6bee85 Implementing Attachment class and adding support to display the thumbnails of attachments in QML. 2020-08-10 00:46:30 +05:30
l10n daemon script
90a3ded076 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-08-09 05:37:05 +02:00
Pino Toscano
d7a0616094 Merge remote-tracking branch 'origin/release/20.08' into master 2020-08-08 11:18:16 +02:00
Felix Yan
237975da35
Correct typos in sftp plugin 2020-08-06 19:51:31 +08:00
Nicolas Fella
c0b35debe1 Remove dead code
We don't use sendreplydialog here any more
2020-07-30 00:43:08 +02:00
Nicolas Fella
8f41be36dc Remove unneeded destructor/copy constructor/copy assignment operator
We don't have a custom destructor and the copy ctor/assignment operator don't do anything special, so the default one will do the right thing.

This is in accordance with the rule of zero (https://cpppatterns.com/patterns/rule-of-zero.html)
2020-07-29 17:30:29 +02:00
Nicolas Fella
1bd59787e2 [sms] Change address type in DBus API from variant to variantlist
While mostly theoretical it makes for a more expressive API since it communicates that it is a list instead of a single value. It also allows to get rid of some conversion code.

This is also preparation work for potentially using the custom type capabilities that QtDBus offers.
2020-07-29 15:18:19 +00:00
Nicolas Fella
e38cdb111b Add missing references to loop variable 2020-07-29 00:07:40 +02:00
Himanshu Rajput
3ca55ad794 Update plugins/runcommand/runcommand_config.cpp 2020-07-24 11:55:18 +00:00
l10n daemon script
10de7b3763 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-23 09:50:37 +02:00
l10n daemon script
f212df93b6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-22 10:44:43 +02:00
l10n daemon script
ef73ce6f62 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-22 06:06:44 +02:00
l10n daemon script
c74fbacc3e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-15 09:16:59 +02:00
l10n daemon script
d81a137682 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-15 05:44:49 +02:00
l10n daemon script
3f1978810c SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-14 09:16:34 +02:00
l10n daemon script
66ebeb57f7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-13 09:04:59 +02:00
l10n daemon script
58d35ec881 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-13 05:32:17 +02:00
Aniket Kumar
af8a5bc49b Enabled seding of multi-target messages in SMS app. 2020-07-08 14:23:13 +05:30
l10n daemon script
0c32010a28 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-06 05:30:08 +02:00
Nicolas Fella
48688b3ef4 Merge branch 'release/20.04' 2020-07-05 15:52:44 +02:00
Nicolas Fella
bc5863f68f Add explanatory comment 2020-07-05 15:52:17 +02:00
Nicolas Fella
c8a87db367 Merge branch 'release/20.04' 2020-07-05 15:49:58 +02:00
Fabian Vogt
b699372d38 Prefer qdbus-qt5 if found
On some distros, this is how qdbus is called to allow for coinstallability
with Qt 4 and Qt 6+.
2020-07-05 13:45:28 +00:00
l10n daemon script
aef817e786 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-02 05:57:52 +02:00
l10n daemon script
588c01eb0f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-27 05:41:57 +02:00
l10n daemon script
e44e4a4c19 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-20 05:10:40 +02:00
l10n daemon script
373557cd26 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-18 08:27:38 +02:00
l10n daemon script
653a708727 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-18 05:39:20 +02:00
l10n daemon script
5fe8d7ea90 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-17 16:50:11 +02:00
l10n daemon script
e873eddcde SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-17 14:06:59 +02:00
l10n daemon script
0e33224079 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-11 05:34:59 +02:00
l10n daemon script
f7c27e6faf SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-08 05:12:17 +02:00
l10n daemon script
046a572542 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-07 08:58:38 +02:00
l10n daemon script
6f39937e75 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-07 05:04:18 +02:00
l10n daemon script
e338309ef5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-06 05:03:00 +02:00
l10n daemon script
8eee929e22 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-05 05:03:19 +02:00
l10n daemon script
f31dc37481 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-04 05:10:21 +02:00
l10n daemon script
99f0428c31 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-03 09:16:30 +02:00
l10n daemon script
2e5a62cc66 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-03 05:21:06 +02:00
l10n daemon script
84072ff32d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-02 05:19:27 +02:00
l10n daemon script
7806fe73cf SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-01 05:51:26 +02:00
Jun Bo Bi
4c011458c2 Add real support for mpriscontrol on Windows 2020-05-31 15:50:56 -04:00
l10n daemon script
f98953380f SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-31 20:22:34 +02:00
l10n daemon script
bc08ff79e6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-31 14:20:49 +02: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
Aditya Mehra
8bf49850f1 use tv icon for bigscreen plugin 2020-05-23 22:10:24 +00:00
Aditya Mehra
cf2967b9af Add Bigscreen plugin with support for Bigscreen STT packet type 2020-05-23 22:10:24 +00:00
Nicolas Fella
e084ae451a Add icon to notifyrc back
This was removed to drop the notificationsplugin's "No icon" hack, but de facto all notifications have icons.

This makes sure that the KDE Connect entry in the notifications KCM has an icon
2020-05-22 22:36:12 +02:00
Tony Sesek
83a152f41f [pausemusic] Add option to not unpause music once call has finished. 2020-05-20 21:44:33 +00:00
Max Rumpf
fbadf09fb5 mpriscontrol plugin should ignore playerctld
playerctld (https://github.com/altdesktop/playerctl/issues/161) is a proxy daemon for the currently active player by playerctl, which facilitates managing mpris players, forwarding requests to the currently active/last active player, and sorting out troubles with selecting the correct player manually.
Unfortunately, it also creates an annoying issue with kdeconnect: when playing media on the phone, kdeconnect publishes the state to the computer through the mprisremote plugin - then, playerctld picks it up as active player, and registers its own mpris media player. As a result, the mpriscontrol plugin sees this as a running media player, and in turn, publishes the state back to the phone, essentially creating another media session on the phone, resulting in two notifications. As playerctld is _always_ only a proxy to another media player (or kdeconnect), it can safely be ignored, just like kdeconnect itself already is. This commit adds an if check doing exactly that.
2020-05-20 21:12:33 +00:00
Aniket Kumar
d0367f11fb Removing earlier hack to pass an address as a string instead of ConversationAdress type. 2020-05-18 08:11:26 +05:30
Nicolas Fella
1f97935e9e Remove obsolete entries in notifyrc 2020-05-15 17:26:42 +02:00
Nicolas Fella
872d5c6464 Merge branch 'release/20.04' 2020-05-14 18:16:05 +02:00
Nicolas Fella
4df8dfc882 Fix findthisdevice sound URL 2020-05-14 13:26:18 +00:00
Weixuan XIAO
15cbe32259 Disable presenter because of missing of qml 2020-05-09 11:57:48 +02:00
Nicolas Fella
3e9fd8622a Remove obsolete version checks 2020-05-03 22:59:52 +02:00
Abdel-Rahman Abdel-Rahman
d73bcdb00e Unmute audio when volume changes
BUG: 408705
2020-04-29 03:55:42 +00:00
Nicolas Fella
b59ef618b2 [notifications] Set actions before sending the notification 2020-04-23 17:34:37 +00:00
Philip Cohn-Cort
c315170be5 Finally, we have support for sending out Battery information.
## Summary

The core idea is as follows:

1. When a Link loads the BatteryPlugin, we query Solid for a list of batteries.
    1. If the list is empty, we print a warning message and return quickly
    2. Otherwise, we connect *two signals* to every object in that list
2. We send out a single new NetworkPacket as soon as we've processed that list
3. When either of those two signals emits, we send another new NetworkPacket

### Multi-battery Support

BUG: 357193

To handle devices with multiple batteries (requested in that bug), we average
together the battery percentages. This also includes a new field in the packet for
'number of batteries' called `batteryQuantity`. For backwards compatibility, we can
assume it has a default value of one.

This should ensure we support
- devices with no batteries at all (like many desktop machines)
- devices with hot-pluggable batteries (like those laptops with detachable screens)

### Concerns

Note that the implementation isn't perfect.
We'll need some new localizable text to make it clear that we now support sending
battery status information.

Then there's a rather significant question: maybe we should have two battery plugins
on each client, like we do for the `findmyphone`/`findthisdevice` plugins?

## Test Plan

We need to ensure that other clients (including those using the Android codebase)
will respond correctly. The main things to look at are
1. are these new packets sent when the plugin is enabled, and not sent when it's disabled?
2. is the charge percentage accurate?
3. is the charge state (charging, discharging, or full) accurate?
and
4. do we see the correct number of warnings for low-battery?
2020-04-13 05:54:11 +00:00
Nicolas Fella
b3d78d6d07 [notifications] Drop no icon hack 2020-04-12 23:07:51 +00:00
l10n daemon script
da0089c741 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-09 11:01:28 +02:00
l10n daemon script
5ef95c7c25 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-09 06:26:57 +02:00
l10n daemon script
baf52b49ac SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-08 11:04:09 +02:00
l10n daemon script
43ea8052fe SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-08 06:32:15 +02:00
Abdel-Rahman Abdel-Rahman
d3062cafd4 Receive SMS subscription ID and reply using it
This interprets the "sub_id" field to use it later for replying in
order to reply to SMS messages from the same SIM.
2020-04-07 20:01:18 +00:00
l10n daemon script
1634126eb5 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-07 10:16:35 +02:00
l10n daemon script
0e04769a43 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-07 06:11:40 +02:00
l10n daemon script
f6d85cfd7e SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-06 10:20:19 +02:00
l10n daemon script
b83a028435 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-04-06 06:09:41 +02:00
Kai Uwe Broulik
e48e34d776 Merge branch 'release/20.04' 2020-03-31 15:19:26 +02:00
Kai Uwe Broulik
310b0517ed Check for null notification
When starting a phone call on the phone, we enter "talking" state without having created a notification first leading to a crash.
2020-03-31 15:18:29 +02:00
Arjun Thekoot Harisankar
77e08ec70a Update README.txt in Plugins to include the current method to build a skeleton for a Plugin 2020-03-27 21:02:16 +05:30
Nicolas Fella
468bc4151d Merge branch 'release/20.04' 2020-03-23 17:23:57 +01:00
Aniket Kumar
f211d7e401 Add feature to start new conversation with existing contacts
## Summary

Start a conversation with contacts having no previous conversation with.

It is currently only possible to use the messaging app to send a message to a conversation which already exists.

This patch implements this feature by integrating all contacts having no prior conversation with the recent conversations in the recent conversation list and at the bottom in a sorted manner, something like this,

The contacts are stored in the recent conversation list model as a conversation but with INVALID conversation ID and INVALID conversation DATE.

## Testing

Testing just needs kdeconnect daemon to be recompiled and executed.
2020-03-21 22:57:28 +00:00
Nicolas Fella
2725de9170 Improve call notification handling
Simplify the code, close the notification when talking.
2020-03-21 22:18:34 +01:00
Nicolas Fella
2e15294caf Merge branch 'release/20.04' 2020-03-21 21:27:28 +01:00
Nicolas Fella
9f1101c9c1 Use kdeconnect-settings for command configuration
Instead of relying on kde-cli-tools being installed.
2020-03-21 21:26:51 +01:00
l10n daemon script
08df418cc9 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-21 09:48:57 +01:00
l10n daemon script
782f2ffe72 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-21 05:50:32 +01:00
Albert Vaca Cintora
9feb4e5510 Merge branch 'strace/kdeconnect-kde-seamless_playback' 2020-03-21 00:24:49 +01:00
l10n daemon script
87d58643a2 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-17 10:05:04 +01:00
l10n daemon script
201be5d898 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-16 10:21:09 +01:00
Matthijs Tijink
04d2f51b24 Adds an MPRIS server for controlling other device's MPRIS services
By creating a DBus connection per player, we are able to support
multiple remote players.

The album art is not yet supported.
2020-03-15 23:46:56 +01:00
Matthijs Tijink
f7b7cdbfd5 Adds an MPRIS server for controlling other device's MPRIS services
By creating a DBus connection per player, we are able to support
multiple remote players.

The album art is not yet supported.
2020-03-15 22:38:03 +00:00
Abdel-Rahman Abdel-Rahman
0240c43bb5 Make incoming call notification persistent
Accomplishes task T11851
2020-03-15 23:34:52 +02:00
l10n daemon script
81a2be7670 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-11 06:07:22 +01:00
l10n daemon script
0c8df41d89 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-04 06:04:04 +01:00
l10n daemon script
7eee223dfc SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-03-02 05:46:53 +01:00