Commit graph

238 commits

Author SHA1 Message Date
Friedrich W. H. Kossebau
fcffc10591 New plugin: Find this device
Summary:
Allows other devices to make this device discoverable via a
kdeconnect.findmyphone.request command, if running.

Currently supports playing a sound.

Counterpart to FindMyPhone plugin

Test Plan:
Connect with other device running KDE Connect (with Plasmoid).
Select a working play sound in the Find My Device plugin settings.
On other device trigger Find My Phone button for this device in KDE Connect
Plasmoid and notice this device playing the configured sound.

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect, sredman, mtijink, apol, nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11773
2018-05-15 15:44:20 +02:00
Nicolas Fella
68d0c5d143 Do not require Frameworks 5.45
Summary: Ifdef for old KF5 as discussed in D11684.

Test Plan: Can still use feature when above 5.45

Reviewers: apol

Reviewed By: apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12810
2018-05-10 19:48:40 +02:00
Aleix Pol
dd031d3deb Show the KCM with the run commands open when a setup packet is received
Summary: Depends on D11683.

Test Plan: Tested the `kcmshell kdeconnect --args mydeviceid:kdeconnect_runcommand` works

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11684
2018-04-19 03:03:42 +02:00
Heiko Becker
4a4e8216aa Use OPTIONAL_COMPONENTS to search for KF5Wayland and DocTools
Summary:
Otherwise cmakes complains when invoked with
-DCMAKE_DISABLE_FIND_PACKAGE_KF5Wayland=TRUE: "CMake Error at
/usr/share/cmake/Modules/FeatureSummary.cmake:459 (message):
feature_summary() Error: REQUIRED package(s) are missing, aborting
CMake run."

Reviewers: #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12141
2018-04-12 12:08:03 +02:00
Albert Vaca
4fb7d302de Bump version 2018-04-08 16:16:56 +02:00
Albert Vaca
7c88cde8d9 Bump version 2018-04-08 16:15:46 +02:00
Aleix Pol
c863feef58 Optionally include sms app
Creates a tiny messaging app that uses KPeople to query the contacts and
KDE connect telephony plugins to send plugins.
To be ready, still needs some work on the contacts sync side and some
messages history would be nice.
2018-03-25 20:48:38 +02:00
Albert Vaca
2008490ad9 Adds a nautilus-python extension to share files
Reviewed by Aleix Pol
2018-03-24 17:39:51 +01:00
Friedrich W. H. Kossebau
bb3ab8b631 Clean-up requirements: cmake 3.0, qt 5.7, use min versions, deduplicate KF5
Summary:
* cmake 2.8.12 is really outdated, 3.0 is minimum in plasma & kf5
* cmake_minimum_required should be at begin of toplevel CMakeLists.txt
* bump qt version to 5.7, matching the min Qt version of kf5 5.42
* with ecm being part of kf5 since early versions, share ${KF5_MIN_VERSION}
* use QT_MIN_VERSION & KF5_MIN_VERSION also for separate find_package calls
* deduplicate all KF5 components searched for in unconditionally included
  subdirs

Test Plan: Still configures and builds with all options OFF & ON

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella

Differential Revision: https://phabricator.kde.org/D11418
2018-03-17 23:34:33 +01:00
Ben Cooksley
6ff4dd914e Revert "Append to CMAKE_MODULE_PATH instead of fully overwriting it."
Looks like that doesn't work on Linux, guess CMake ignores CMAKE_PREFIX_PATH completely when CMAKE_MODULE_PATH is set

This reverts commit afd4bce57e.
2018-01-22 22:34:38 +13:00
Ben Cooksley
afd4bce57e Append to CMAKE_MODULE_PATH instead of fully overwriting it.
If we fully overwrite the path, then other directories which may have been provided via CMAKE_PREFIX_PATH don't get searched.
This causes breakages on the Windows CI as CMake, QCA and ECM are all installed in different prefixes. The existing code will capture items 1 and 3 here, meaning QCA won't be found.
This problem doesn't show up on FreeBSD and Linux as CMake and QCA are in the same install prefix
2018-01-22 22:29:11 +13:00
Albert Vaca
8795aaee41 Increased point version to release 2018-01-16 22:53:07 +01:00
Albert Vaca
c46b88cc7a Require the latest version of KF5
It has a fix in KIO by aacid that we need
2018-01-16 20:41:00 +01:00
Albert Vaca
23970a4994 Bump version to release 2017-09-18 20:13:54 +02:00
Aleix Pol
2e27310d7b Make sure we have KIO 5.38.0
It has a fix that is important for file transfer performance
2017-09-18 20:03:36 +02:00
Albert Vaca
8beaf6547f Revert "Previous commit makes us depend on Qt 5.8"
This was not true.

This reverts commit 874bb428fa.
2017-07-24 16:16:30 +02:00
Albert Vaca
874bb428fa Previous commit makes us depend on Qt 5.8 2017-07-22 11:29:25 +02:00
Aleix Pol
077bed106f Introduce a URL handler and offer handling tel:/// urls
Summary: Makes it possible to handle tel urls with any KDE Connect device

Test Plan: Manual testing

Reviewers: #kde_connect, albertvaka, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella

Differential Revision: https://phabricator.kde.org/D6120
2017-06-09 13:42:16 +02:00
Àlex Fiestas
c0a417e9e4
Make Bluetooth optional
This way we can merge this code in master with the hope of it getting
more attention.
2017-05-24 23:54:59 +02:00
Albert Vaca
6792b45fae
Adapt to new API in master 2017-05-24 23:54:58 +02:00
Saikrishna Arcot
d711547ab5
Add initial Bluetooth backend implementation.
KDE Connect runs, and the bluetooth service gets published in the SDP
(service discovery protocol), which other devices use to determine what
services are available.

The getPairedDevices() method in the link provider class uses D-Bus to get
the list of paired devices, since Qt doesn't have a method giving that
information. As a result, that part of the code only works on Linux.

REVIEW: 122174
2017-05-24 23:54:58 +02:00
Albert Vaca
937d919c71 Bumped version number for Windows release 2017-05-24 23:28:33 +02:00
Aleix Pol
139bac55bc Fix desktop file
Have it open kdeconnect-indicator rather than plasmawindowed
2017-05-24 21:57:06 +02:00
Albert Vaca
7e63a90da6 Merge branch '1.x'
# Conflicts:
#	app/org.kde.kdeconnect.app.desktop
#	plugins/kdeconnect.notifyrc
#	plugins/remotecommands/kdeconnect_remotecommands.json
#	plugins/sendnotifications/kdeconnect_sendnotifications_config.desktop
2017-02-05 16:12:25 +01:00
Albert Vaca
0f643d9c57 Revert "Add album art support for mpris plugin"
This was very poorly implemented and can't stay as it is right now:
 - Every second or so the art image was being loaded from disk, scaled,
   base64 encoded and sent over the freakin network!
 - The Android interface didn't take into account small screens, and
   adding the image would cut stuff out of the screen.
 - Didn't manage "edge cases" like playing a song without cover after one
   with cover (previous image was still being shown) or changing players.

This reverts commit e66096d05a.

# Conflicts:
#	plugins/mpriscontrol/mpriscontrolplugin.cpp
2016-12-08 23:49:59 +01:00
Albert Vaca
33b5e556e6 Merge branch '1.x' 2016-11-24 15:12:06 +01:00
Albert Vaca
27cbff82e7 Do not compile the plasmoid nor the runcommand plugin on Windows 2016-11-24 00:21:25 +01:00
Aleix Pol
b67b0e6c2c First approach to a tool that sits on the system tray
Hopefully will better integrate in all platforms
2016-11-23 19:45:35 +01:00
Albert Vaca
a2579373e8 Bumped version number to release 2016-10-18 13:16:43 +02:00
Albert Vaca
96bca486b1 Increased version number to release 2016-09-19 13:32:12 +02:00
Luigi Toscano
10c74fad81 Rename the appdata file (namespace) and install it
- change the name of the appdata file to match the name of the desktop
  file (with the namespace). Maybe the .kcm.desktop is not the
  more appropriate, but we can fix this later.
- actually install the appdata file.
- fix the value of project_group (basically the umbrella community/project).
2016-09-16 16:54:59 +02:00
Albert Vaca
4d9e269b25 Revert "Specify the required Qt version"
This reverts commit 19788e9bb6.
2016-08-28 10:51:32 +02:00
Aleix Pol
19788e9bb6 Specify the required Qt version
BUG: 367871
2016-08-27 13:54:27 +02:00
Albert Vaca
2113dbf98d Bumped version number to release 2016-07-22 12:46:45 +02:00
Aleix Pol
49713d8aca Enforce Qt-specific keywords
Reviewed by Albert Vaca
2016-06-21 20:19:14 +02:00
Albert Vaca
41d5940178 Do not compile kio on windows 2016-06-20 02:17:51 +02:00
Aleix Pol
c521206b16 Move TelepathyQt5 dependency into the plugin
Also drop KF5::Notifications from it
2016-06-18 13:33:58 +02:00
Aleix Pol
e6349524bc Move all Telepathy bits into a Telepathy plugin 2016-06-18 13:23:41 +02:00
Aleix Pol Gonzalez
a465577005 Move the Telepathy infrastructure at the plugin level
At the moment, telepathy integration needs to be compiled within the
daemon. This creates a rather aggressive dependency with Telepathy.

This plugin proposes to move into a plugin, so that if the plugin isn't
present, telepathy becomes out of the picture.

REVIEW: 128149
2016-06-18 11:54:38 +02:00
Pinak Ahuja
e66096d05a Add album art support for mpris plugin
Right now we only support album art if the player provides a local URL,
but some players provide a remote URL (spotify) I'll be adding support
for that in a later patch.

REVIEW: 128199
2016-06-16 10:37:35 +02:00
Aleix Pol
b79dd9b919 Let KDE*CompilerSettings change the policies in the project
As suggested in ECM documentation.
2016-01-28 15:01:29 +01:00
Aleix Pol
8a019ccddf Fix assert 2015-12-17 17:58:33 +01:00
Michael Palimaka
af26fe245a Remove unused dependency.
REVIEW: 126116
2015-11-20 02:49:08 +11:00
Aleix Pol
661fa098d4 Introduce bare documentation for the KDE Connect kcm 2015-10-19 03:25:17 +02:00
Aleix Pol
13e3bee8f4 Merge branch 'stable' 2015-09-15 02:04:29 +02:00
Aleix Pol
bdc721b7d3 Properly install the renamed files 2015-09-15 02:03:31 +02:00
Albert Vaca
2a1b6d1abe Added a feature_summary line to CMakeLists.txt 2015-09-14 04:53:59 -07:00
Albert Vaca
f4a3df0a26 Merge branch '0.9' 2015-09-12 14:29:35 -07:00
Albert Vaca
e04bb69f6a Bumped version number 2015-09-12 13:40:05 -07:00
David Edmundson
d9be8f970c Check for service validity in more places
BUG: 352582
2015-09-11 21:46:25 +02:00
David Edmundson
2824260096 Check for both TpQt and TpQt service
BUG: 352582
2015-09-11 21:19:13 +02:00
David Edmundson
75b8e24727 Fix compilation on newer TpQt 2015-09-11 12:08:50 +02:00
David Edmundson
e4cbf22519 Telepathy integration
This sends recieved text messages to any Telepathy client and allows the
user to respond from there.
This should work with both our clients and Empathy.

An account on telepathy is created on activation.

As Telepathy clients expect backends to be always running, this is
started by the daemon to
suppress client errors. The plugin system then talks to the same CM via
use of a singleton accessor.

Based on work by Alexandr Akulich then tidied up and rebased.
2015-09-10 20:36:46 +02:00
Andreas Sturmlechner
1423000b44 Make tests optional
This patch makes it able to disable building tests by choice or unavailability of Qt5Test (by example of kwin).

REVIEW: 122984
2015-09-07 17:42:37 +02:00
Aleix Pol
de9671e26a Experimental frontend 2015-06-13 01:30:38 +02:00
Aleix Pol
11996f56ca Drop dependency of KIO from kdeconnectcore
Use QNetworkAccessManager for storing the files we receive instead of
directly KIO, then provide the KIO-based QNetworkAccessManager from the
daemon. This way we'll still get the KIO network-transparency, but the
library only depenends on QtNetwork, which will be easier to get in some
platforms.

After this change, we only depend on KConfig, KI18n and KCoreAddons, which
are tier1 and really easy to work with on any platform.

REVIEW: 123325
2015-05-05 01:07:29 +02:00
Aleix Pol
90f5a221fb Make sure we're not automatically casting QString directly into QUrl
Otherwise we often turn paths into URLs, a fix I pushed previously today
and the ones I detected when adding -DQT_NO_URL_CAST_FROM_STRING.

CCMAIL: kdeconnect@kde.org
2015-04-01 23:40:29 +02:00
Aleix Pol
8f777040f7 Remove KNotifications dependency from libkdeconnectcore
Moves the implementation into the actual daemon. This opens the
possibility for different ways to expose these notifications depending on
where the libkdeconnect will be deployed.

REVIEW: 123076
2015-03-24 12:26:37 +01:00
Aleix Pol
c7cee37330 Port away from KServiceTrader
Uses KPluginLoader+KPluginMetadata instead.
Describes plugins in json instead of desktop files. These desktop files are
then embedded into the .so file. All the plugins will be in a kdeconnect/
directory, and those will be the ones to look for.

Note it doesn't drop the KService dependency as KIOCore is a KDE Connect
dependency as well.

REVIEW: 123042
2015-03-19 16:36:53 +01:00
Albert Vaca
a3decd542c Includes cleanup 2015-03-13 21:20:58 -07:00
Albert Vaca
18ba161f17 Fully replaced KDED for autostart + dbus activation, so we work outside KDE 2015-02-23 22:12:45 -08:00
Albert Vaca
c013966f4b Version number is now set in a single place 2015-02-04 23:52:07 -08:00
Heiko Becker
260301155f Use co-installable qca-qt5 version
If both qt4 and qt5 versions of qca are present the build of the
frameworks branch tries to find Qt4 pulled in by qca and thus fails.

REVIEW: 122054
2015-01-15 21:35:30 -08:00
Aleix Pol
d3a379386e Install a desktop file to use the plasmoid in a windowed mode
It uses a --statusnotifier modifier that will be available since
plasma 5.2 that will place it in the system tray.
2014-11-10 04:02:03 +01:00
Aleix Pol
1a1969f42f Port to new QCA cmake structure, now it's called Qca
and the target name is qca
2014-09-23 20:05:22 +02:00
Àlex Fiestas
599c02c908 Finally, kdeconnect compiles without KDELibs4Support ! 2014-09-23 19:45:44 +02:00
Àlex Fiestas
f20f489999 Port to aelperay from QJson to native json support
Straight forward port from QJson to the native Json support.

As a note I have added 2 helper functions that make the code bit more
readable (object2qvariant and qvariatn2qobject).
2014-09-13 00:49:56 +02:00
Sebastian Kügler
506bd2a890 add qjson includes at top-level
It's needed by plugins as well, not just by the core.

Reviewed-by: Aleix
2014-09-07 14:12:00 +02:00
Aleix Pol
fbb0a130b3 Remove unneeded Qt dependecies 2014-08-04 03:36:00 +02:00
Aleix Pol
a1a560c469 First approach to a KF5 port of KDE Connect
Ported using KDELibs4Support, for a smaller delta, so we can keep
developing on master until we decide not to.

At the moment, it builds and installs but tests don't pass because
of a QCA2 initialization problem I didn't manage to debug yet.

CCMAIL: kdeconnect@kde.org
2014-06-16 20:02:07 +02:00
Aleix Pol
a2e6632759 Introduce a fileitemactionplugin
This way we can send files to all devices.
2014-06-14 19:42:33 +02:00
Aleix Pol
741abafaf7 Move the plugins into a different top-ĺevel directory
Reviewed by Albert Vaca
2014-06-14 16:34:11 +02:00
Aleix Pol
b88897847b Reorganize sources
We broke kded into core and kded, core contains the library with the backends
and plugins.
Also we renamed libkdeconnect to interfaces.
2014-06-14 15:22:40 +02:00
Aleix Pol
5c9d3a9d42 Make a new kdeconnectcore library
Solves the need of compiling device.cpp against all plugins. Also
networkpackage and others don't need to either.

REVIEW: 118742
2014-06-14 14:31:31 +02:00
Aleix Pol
d5928197b2 CLI application to interact with kdeconnect kded module
Lists devices and makes it possible to share a url or a file with any
device.

REVIEW: 113343
2014-04-01 03:12:31 +02:00
Albert Vaca
29719ccce5 New icon by Malcer <malcer@gmx.com> 2014-02-19 21:10:41 +01:00
Albert Vaca
90e9ded926 Added KIO slave and icon in Dolphin's places for file browsing 2014-01-16 15:32:35 +01:00
Albert Vaca
36e5d41811 Renamed daemon -> kded 2013-09-02 03:23:34 +02:00
Albert Vaca
deeeb595b3 Implemented encryption in NetworkPackage using QCA2
Fixed some bugs in the pairing process state machine
Keys are now stored in base64 in KConfig (was storing non-allowed chars)
Updated NetworkPackage tests to include encryption
Increased networkpackage version 1 -> 2
2013-09-01 22:13:03 +02:00
Albert Vaca
1cb1b26415 Moved DevicesModel and DBusInterfaces to libkdeconnect
Added NotificationsModel to libkdeconnect
2013-08-21 18:25:44 +02:00
Albert Vaca
d32a667f04 Telephony and pausemusic plugins now use kdeconnect.telephony packages (need changes in the Android code to work) 2013-08-14 06:46:24 +02:00
Albert Vaca
9022823aef Improved MPRIS controls.
MPRIS now uses xml dbus interfaces-
MPRIS now detects when properties like volume or playbas status change.
Link providers now emit connectionLost and connectionReceived, like in Android.
Disabled connection notifications.
Added some missing const modifiers.
2013-08-10 05:21:55 +02:00
Albert Vaca
ee7f6b0c6d Fixed cmakelists bug that made necessary to run make without -j
Using a nicer dbus syntax in pausemusicpackageinterface
2013-07-25 17:04:58 +02:00
Albert Vaca
acadeef76d Rewritten old package emitters and receivers using the new package format
Splitted up ping receiver from notification receiver in KDE
Improved pausemusic receiver
Fixed same computer being discovered multiple times
Fixed some other minor bugs and compilation warnings
2013-07-04 19:17:22 +02:00
Albert Vaca
5fbd33e8c5 Implemented communication wizard -> kcm
Renamed androidshine -> kdeconnect
2013-07-02 01:50:32 +02:00
Albert Vaca
392e010a30 Housekeeping 2013-06-19 13:29:24 +02:00
Albert Vaca
9523039473 Avahi discovering 2013-06-17 12:23:08 +02:00
Albert Vaca
4d3fe4406f Initial commit 2013-06-06 05:57:06 +02:00