Commit graph

2478 commits

Author SHA1 Message Date
Nicolas Fella
e14b3dde32 Fix icon display on PM 2019-02-08 16:40:47 +00:00
Nicolas Fella
1f23fa27b2 Don't use QString::null 2019-02-03 02:00:36 +01:00
Nicolas Fella
2f6f4d9d65 Add license header 2019-02-03 01:50:36 +01:00
Nicolas Fella
8548ebd032 Clean up includes 2019-02-03 01:44:22 +01:00
Nicolas Fella
0b92f73976 Use QLatin1Char 2019-02-03 01:30:18 +01:00
Nicolas Fella
8f31862098 Add email to copyright 2019-02-03 01:20:02 +01:00
Nicolas Fella
72610654fc Fix crash in mprisremote when data for an unknown player arrives 2019-02-01 22:31:26 +00:00
Aleix Pol
d650faaa4f Fix warning 2019-01-31 16:38:21 +01:00
Aleix Pol
4b261508ff wayland: support removing the fake input interface
If it can be removed, we better react to it.
2019-01-31 16:38:21 +01:00
l10n daemon script
41e13c2e84 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"
2019-01-31 05:44:46 +01:00
l10n daemon script
3065f4054e GIT_SILENT made messages (after extraction) 2019-01-31 02:57:59 +01:00
Erik Duisters
805795af07 Do not send an update packet until we have actually begun processing sub-jobs 2019-01-27 16:44:05 +01:00
Erik Duisters
975dd6e907 Rebased onto master 2019-01-27 11:35:43 +01:00
Erik Duisters
0f2a60065a Add packet type "kdeconnect.share.request.update" to allow android to update the share notification 2019-01-27 11:33:02 +01:00
Erik Duisters
205eb8f497 Do not overload kuiserver 2019-01-26 17:44:16 +00:00
Erik Duisters
d1734286ad Merge branch 'improve_multi_file_sharing' of invent.kde.org:eduisters/kdeconnect-kde into improve_multi_file_sharing 2019-01-26 18:18:35 +01:00
Erik Duisters
87e241d2c1 Add packet type "kdeconnect.share.request.update" to allow android to update the share notification 2019-01-26 18:17:37 +01:00
Erik Duisters
a9958eca74 Add packet type "kdeconnect.share.request.update" to allow android to update the share notification 2019-01-26 17:43:09 +01:00
Heiko Becker
fab782d91c Use KAboutData to set information about the daemon
Summary:
I noticed this when the daemon crashed and drkonqi refused to submit
a bug report, complaining about a missing bug reporting address.
Additionally, using KAboutData also saves initialising some
properties of QCoreApplication manually.

Test Plan:
sent SIGSEGV to kdeconnect, could've reported the crash
with drkonqi; checked with GammaRay that the properties of
QCoreApplication are initialised.

Reviewers: #kde_connect

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D18542
2019-01-25 23:00:31 +01:00
l10n daemon script
864c83ffd0 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"
2019-01-25 05:33:10 +01:00
Simon Redman
3b92b0de1d Add dependency on kirigami to SMS app
Summary:
Resolves Bug 401255

Bonus: Disable some very noisy debugging from the SMS app

Test Plan:
 - Build KDE Connect with or without Kirigami
   - Verify successful build with no complaints about Kirigami
 - Build KDE Connect's Messenger:
   - Without Kirigami: Verify that CMake warns that Kirigami is not found
   - With Kirigami: Verify that app launches successfully

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17572
2019-01-24 10:39:54 -07:00
Nicolas Fella
aaca67e6e4 Merge branch 'handle_sftp_error_message' into 'master'
Handle errorMessage in kdeconnect.sftp packet

See merge request kde/kdeconnect-kde!1
2019-01-24 09:08:46 +00:00
Nicolas Fella
cb28039ac6 Merge branch 'gitlab-ci' into 'master'
ci: Add Gitlab CI configuration

See merge request kde/kdeconnect-kde!4
2019-01-24 08:52:00 +00: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
Bhushan Shah
9a9ee3c7c1 ci: Add Gitlab CI configuration
Based on https://invent.kde.org/sysadmin/ci-tooling/wikis/Gitlab-CI
2019-01-24 11:36:29 +05:30
Nicolas Fella
a880e91d4e Merge branch 'master' into 'master'
Add basic Merge Request templates

See merge request kde/kdeconnect-kde!2
2019-01-23 17:50:11 +00:00
Simon Redman
72898be7e1 Add basic Merge Request templates 2019-01-23 17:50:11 +00:00
Simon Redman
a14b39d541 [SMS App] Make sms app not crash when conversation is selected with no devices connected
Summary: This patch fixes T10184 and stops the SMS app from crashing when a conversation is selected but no devices are connected. It also allows the SMS app to access the cached messages in the ConversationsDbusInterface so the app is still slightly useful even when the device is disconnected.

Test Plan:
- Open sms app
- Open a few conversations
- Disconnect phone (Force close app?)
- Re-open a conversation which was previously opened
  - Verify that the messages appear. It is possible to scroll up to view any older cached messages too!
- Open a conversation which was not opened previously
  - Verify that a single messages is shown (since this was the only one in cache, from populating the list of all conversations)
  - Verify that attempting to scroll this conversation does nothing, but also does not crash the app

Note: Opening the app with no phone connected will cause it to lose its handle on the deviceId, so it can't spawn a new Dbus interface, so it will remain blank and empty. Solving that is a project for another day.

Reviewers: #kde_connect

Reviewed By: #kde_connect

Subscribers: apol, nicolasfella, kdeconnect

Tags: #kde_connect

Maniphest Tasks: T10184

Differential Revision: https://phabricator.kde.org/D17634
2019-01-22 18:55:27 -07:00
Erik Duisters
273c9bb6e4 Handle errorMessage in kdeconnect.sftp packet 2019-01-22 18:42:00 +01:00
Simon Redman
74ba660cad Cache and delete old ConversationsDbusInterfaces to avoid memory leak
Summary:
After using the ConversationsDbusInterface for a little while, there can be significant (MBs) memory usage of cached messages. The QDBusAbstractAdaptor does not like to be manually deleted, but it looks like it is safe to do so after constructing a new one

This contradicts the comment in the BatteryPlugin and the BatteryDbusInterface, which says deletelater() is not safe. Has Qt been updated since then?

Test Plan:
- Run daemon
- Hopefully experience no crashes after many phone reconnects

Reviewers: #kde_connect, apol, albertvaka

Reviewed By: #kde_connect, apol, albertvaka

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16553
2019-01-21 12:01:26 -07:00
Matthijs Tijink
e77c1c87ac Add description of bluetooth multiplexing protocol
Summary:
As mentioned on telegram, there are some fundamental issues with bluetooth. The only approach I could get working was multiplexing: manually sending multiple streams of data over a single connection.

This is the description of that multiplexing protocol. I have an implementation of this protocol, but I'd first like some feedback to see if this is what we're going to use before finishing up those patches.

See the document itself for more details. I make the protocol forward-compatible, although I don't expect we will need ever that.

Test Plan: None, this is just a description.

Reviewers: #kde_connect, andyholmes, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17987
2019-01-19 14:03:37 +01:00
Nicolas Fella
1b20ecec32 Allow newer TLS versions
Summary:
Instead of mandating TLS V1.0 use 1.0 or later.
BUG: 400338

Test Plan: Phone connects

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: thomasp, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D18217
2019-01-18 08:59:45 +01:00
Erik Duisters
4834b63537 Just set UDSEntry::UDS_NAME to the actual directory name instead of the hardcoded string "folder" and don't set UDSEntry::UDS_DISPLAY_NAME at all
Summary: There is no reason to set UDSEntry::UDS_NAME to "folder" and then override it with UDSEntry::UDS_DISPLAY_NAME

Test Plan:
Apply patch, click android device in dolphin's Devices list
Verify phones sdcards are listed as befor

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D18223
2019-01-16 14:56:24 +01:00
l10n daemon script
708262e195 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"
2019-01-14 05:31:55 +01:00
l10n daemon script
0b1fbde12d 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"
2019-01-09 05:31:18 +01:00
Erik Duisters
9f5cdf1a21 Do not close m_socket in socketError()
Summary:
When android closes the payload socket (cancel share) calling m_socket.close() results
in a recursive call to onError eventually leading to a segmentation violation

Test Plan:
Install D16491, share a large file from desktop to android and cancel the share on Android through
 the notification. kdeconnectd crashes almost 100% of the time. (It doesn't crash when it detects
 a disconnect in sendNextPacket)

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17628
2019-01-06 12:43:10 +01:00
l10n daemon script
71c5a1b248 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"
2019-01-06 05:29:27 +01:00
Simon Redman
bafbc344b9 Implement Drag n Drop file transfer on the plasmoid
Summary:
A DropArea has been added to the ListItem representing a device in the
plasmoid based on what is done in the Quickshare plasmoid. This enables
Drag n Drop of files onto a section of the plasmoid to transfer files.

The DropArea has the size of the ListItem which is a rectangle
including the title of the device down to the button to share text.
Additionally, there is a tooltip area covering the DropArea to indicate
that it is possible to drop a file to send it to the device. Multiple files
can be sent at once.

Ref T8288

Test Plan: Drag and Drop one or many files onto the widget, the files should be transferred to the connected device.

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Maniphest Tasks: T8288

Differential Revision: https://phabricator.kde.org/D17611
2019-01-02 10:26:40 -07:00
Matthijs Tijink
97551d09ff Add handling for the identity packet to be split across two messages.
Summary: If the identity packet is split across two packets, then save it until we get a notification that more data is available for reading over the bluetooth link.

Test Plan: Connect a phone and laptop over Bluetooth, and verify that both the phone and laptop are able to see each other, and that either side can start and successfully go through the pairing process.

Reviewers: #kde_connect, mtijink

Reviewed By: #kde_connect, mtijink

Subscribers: mtijink, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17789
2018-12-31 13:25:59 +01:00
Nicolas Fella
bafef14c52 Add .vscode to gitignore 2018-12-29 19:04:28 +01:00
Nicolas Fella
23703423fb Coding style 2018-12-25 01:52:16 +01:00
Nicolas Fella
a45921685b Extract code to methods 2018-12-25 01:42:42 +01:00
Nicolas Fella
6262c09de8 [cli] Show all reachable devices
Summary:
Devices that were reachable but not paired were not shown. This makes it impossible to initiate paring

BUG: 402088

Test Plan:
Have a unpaired device reachable. Without the patch kdeconnect-cli -l does not show it. With the patch it is shown

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17788
2018-12-25 01:38:17 +01:00
Nicolas Fella
b73472735f Remove comment 2018-12-25 01:04:22 +01:00
Nicolas Fella
8f16c3fd9a Remove unneeded methods
Remove unneeded declaration
2018-12-25 00:58:03 +01:00
Nicolas Fella
b4e61678a4 Remove unneeded variable 2018-12-25 00:35:32 +01:00
l10n daemon script
e36bf748cc 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"
2018-12-23 05:14:11 +01:00
Jun Bo Bi
f4c7e12ea6 [mpriscontrol] add primitive windows support
Summary: Added primitive support for the mpriscontrol plugin on Windows by simulating VK_MEDIA key presses. I took a look into `ISystemMediaTransportControls`, but there doesn't seem to query it since it's per app. Leaving simulating key presses our only option for now. Completes T10000

Reviewers: kdeconnect, #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka

Tags: #kde_connect, #windows

Maniphest Tasks: T10000

Differential Revision: https://phabricator.kde.org/D17702
2018-12-21 19:24:06 +01:00
Billy Laws
27f47ce8d4 Add a progress slider to mpris remote in app
Summary:
The progress slider can be mooved to seek through the song and
will display song length and current position on sides.

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17417
2018-12-18 02:50:54 +01:00
Simon Redman
5b213e6144 [SMS App] Improve filter
Summary:
- Allow filter box to handle keystrokes passed to the ListView
 - This is a little cheesy, but fixes T8341

- Pin filter box to always be visible

- Clear filter on Esc

Test Plan:
- Try typing a contact you would like to search for
 - Before: Every time you type a new letter, the filter box would lose focus and you would have to click it to give it focus again
 - Now: You can type smoothly

- Try scrolling the list
 - Before: The filter box disappeared off the top of the screen
 - Now: The filter box is always visible

- Try pressing escape
 - Before: Nothing
 - Now: Filter clears

- Bonus: When using the arrow keys to navigate, before the filter was manually handling those and the view would not loop. Now, the view loops if you try to select an item past the beginning or end (Easiest to see with highlighting from D17612)

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect

Tags: #kde_connect

Maniphest Tasks: T8341

Differential Revision: https://phabricator.kde.org/D17614
2018-12-17 09:25:56 -07:00