Commit graph

156 commits

Author SHA1 Message Date
Aleix Pol
e72bbfe1d2 Remove dash in icon
We use it to display the state and we're providing them as fallback,
they will always be available.
Otherwise, on some platform this clashes with the icon engine falling
back to less specific version of the icon (i.e. smartphone instead of
smartphone-connected).

https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

Reviewed by Albert Vaca
2016-11-28 16:27:34 +01:00
Albert Vaca
3df5e0dc11 Define the debug category in core_debug.cpp 2016-11-28 15:57:58 +01:00
Albert Vaca
6a2a0b1c76 Merge branch '1.x'
# Conflicts:
#	plugins/mpriscontrol/mpriscontrolplugin.cpp
#	plugins/sendnotifications/kdeconnect_sendnotifications.json
2016-11-26 16:40:24 +01:00
Albert Vaca
f41883f2f3 Known size, reserve. 2016-11-26 16:36:34 +01:00
Albert Vaca
60331ccbf1 Clazy says all this QStringLiteral and QLatin1String were missing/wrong 2016-11-26 16:21:29 +01:00
Albert Vaca
a1340c8042 Fixed old style connects with clazy 2016-11-26 15:14:19 +01:00
Albert Vaca
1a1f94fd94 Fixed old style connects with clazy 2016-11-26 15:12:38 +01:00
Albert Vaca
3d0f7c3fcb Changed signal reachableStatusChanged() to reachableChanged(bool)
And proxied it on the C++ dbus interface.
2016-11-23 17:24:35 +01:00
Albert Vaca
f901655ef4 Warning 2016-11-16 21:37:07 +01:00
Kai Uwe Broulik
6f7c419baa Merge branch '1.x' 2016-09-10 22:53:37 +02:00
Albert Vaca
b585e4d48a Don't return an empty list of supported plugins
If we don't know it yet return them all.
2016-09-06 10:53:19 +02:00
Albert Vaca
5ad007a981 Merge branch '1.x' 2016-08-29 20:46:48 +02:00
Thmoas Posch
a759cdf678 Device::encryptionInfo returned the entire certificate instead of the hash
BUG: 367897
2016-08-29 20:41:06 +02:00
Aleix Pol
f765e9c0a8 Actually compare the old plugin map
We were comparing to the result after removing all the actually used
plugins
2016-08-21 13:21:40 +02:00
Albert Vaca
2cdf7d5499 Reduced logging 2016-07-12 12:49:21 +02:00
Aleix Pol
81634303b2 Make capabilities static
As discussed with Albert, move the population of capabilities into the
identity package, making them static along the execution of the link.

When we receive the identityPackage, we collect the plugins we can use with
the device and stick to those. This should simplify the implementation and
remove the possibility to lose packages if packages are received before the
capabilities are processed in the former approach.

REVIEW: 128386
2016-07-06 17:37:22 +02:00
Aleix Pol
afdac88885 Proper i18n use 2016-07-06 16:41:38 +02:00
Albert Vaca
7c0fbbc034 Unused include cleanup 2016-07-05 14:13:48 +02:00
Aleix Pol
0d6a7bafcf Remove unused variable 2016-07-05 13:14:55 +02:00
Albert Vaca
963a15bd08 Fixed crash where a device was destroyed but links tried to use it. 2016-07-05 12:42:57 +02:00
Albert Vaca
aa41b40ab5 Changed magic number by constant 2016-06-21 18:42:53 +02:00
Albert Vaca
e880e14ed5 Preffer Q_FOREACH to foreach 2016-06-21 14:50:17 +02:00
Aleix Pol
b9be1e17d1 Specify for which device we're not delivering the packages 2016-06-12 20:16:58 +02:00
Aleix Pol
8736d2559e Notify if a package is being discarded 2016-06-03 15:51:05 +02:00
Aleix Pol
70d447f58f better debug information 2016-06-01 01:14:30 +02:00
Aleix Pol
702fbd09af If interfaces are required is up to the plugin 2016-05-31 20:46:48 +02:00
Aleix Pol
16eccd46d3 Restore having plugins without any capabilities
These won't need to be matched by the other device
2016-05-31 20:16:25 +02:00
Albert Vaca
4383a42703 Changed the way we detect if capabilities are supported 2016-05-31 20:10:35 +02:00
Albert Vaca
aa4150f0c9 Moved ConnectionStarted from DeviceLink to LanDeviceLink 2016-01-10 07:12:13 -08:00
Albert Vaca
4c84499e6a Don't addLink twice for the same link 2015-12-17 07:44:29 -08:00
Albert Vaca
af43a21864 Propagate pairingError 2015-12-17 06:53:29 -08:00
Aleix Pol
e10b2e80c9 Propagate pairing errors 2015-12-06 01:51:53 +01:00
Albert Vaca
03926cc3bf WIPx4 2015-12-02 11:04:35 -08:00
Albert Vaca
cf6cbd2925 WIPx3! 2015-12-01 10:45:14 -08:00
Albert Vaca
82bc73dd9b WIPx2 2015-12-01 07:25:34 -08:00
Albert Vaca
16f9af908a WIP 2015-11-30 10:36:01 -08:00
Albert Vaca
30d2dd991b Merge branch 'master' into sslmaster 2015-11-30 03:40:07 -08:00
David Edmundson
f1f3f48aaf Export pairStatus 2015-09-12 22:03:39 +02:00
Aleix Pol
2c2cb21ee1 Don't clean the devices that looked us up in the first place 2015-09-12 20:53:05 +02:00
Albert Vaca
217d4b60ff Fixed outging capabilities 2015-09-12 08:51:39 -07:00
Aleix Pol
4730022810 Pass arguments as const-reference 2015-09-12 09:45:59 +02:00
Aleix Pol
5e0a7a34b9 Merge branch 'master' into ssl
# Conflicts:
#	cli/kdeconnect-cli.cpp
#	core/backends/lan/landevicelink.cpp
#	core/backends/lan/landevicelink.h
#	core/backends/lan/lanlinkprovider.cpp
#	core/backends/lan/lanlinkprovider.h
#	core/backends/lan/socketlinereader.h
#	core/backends/lan/uploadjob.cpp
#	core/backends/lan/uploadjob.h
#	core/backends/loopback/loopbackdevicelink.h
#	core/daemon.cpp
#	core/daemon.h
#	core/device.cpp
#	core/device.h
2015-09-11 17:25:23 +02:00
Albert Vaca
89afa5b9af Renamed capabilties so we don't clash with KDE4's broken implementation 2015-09-11 06:20:15 -07:00
Aleix Pol
47147c5fa1 Merge branch 'stable' 2015-09-11 14:04:54 +02:00
Aleix Pol
c2acc37da6 Fix filtering of plugins that don't support capabilities 2015-09-11 14:00:15 +02:00
Aleix Pol
95f01c4bea Use C++ for setting the default argument 2015-09-11 12:34:52 +02:00
Albert Vaca
4df14d1c7d Fixed plugins without incoming nor outgoing packages being disabled 2015-09-11 01:12:22 -07:00
Albert Vaca
c65be84a89 Only send capabilities packets for paired devices 2015-09-09 01:19:38 -07:00
Aleix Pol
a0da8ba858 Let the KPluginSelector react to changes in the plugin configuration
Mainly whenever the remote capabilities change.

Reviewed by The Vaca Man
2015-09-08 20:03:44 +02:00
Aleix Pol
b101e828a4 Fix capabilities detection
Only consider capabilities as unsupported if both incoming and outgoing are
empty, rather than either.

Reviewed by Albert Vaca
2015-09-08 17:58:40 +02:00
Aleix Pol
6a379e9227 Rename missingPlugins to unsupportedPlugins 2015-09-08 17:38:33 +02:00
Aleix Pol
617b66aeb8 small code simplification
removes changes from list to set
always uses the same path for figuring out the interfaces.

reviewed by Albert Vaca
2015-09-08 17:35:30 +02:00
Aleix Pol
df3581459a Add a test that makes sure that capabilities are gathered correctly
While at it, fix the logic, because it wasn't working all that well.

Reviewed by Albert Vaca
2015-09-08 17:35:30 +02:00
Albert Vaca
854e4227fa Read the capabilities in the first addLink instead of only the constructor 2015-09-08 08:37:43 -07:00
Albert Vaca
1a63d18ada Print more info 2015-09-08 01:12:00 -07:00
Aleix Pol
4023bf0599 Only keep connections alive with unpaired devices when discovery is enabled
At the moment, we were keeping the connection alive with every reachable
device. While this works optimally for most use-cases, on networks with
several devices with KDE Connect, the amount of connections grows
exponentially.

Reviewed by Albert Vaca

CCBUG: 352424
2015-09-08 09:30:55 +02:00
Aleix Pol
4960247fb5 Add a package type that updates the device capabilities
Every time we reload the plugin list, report the plugins that we support.
If the remote devices' capabilities change, update the plugin list.

Reviewed by Albert Vaca
2015-09-07 20:03:05 +02:00
Aleix Pol
f65a1f206f Turn core qWarnings into qCWarning 2015-09-07 19:35:07 +02:00
Aleix Pol
91351773fd Mark incompatible plugins as such in the kcm
If a plugin isn't available, display it as unsupported by the device. This
is figured out through capabilities.

Reviewed by Albert Vaca
2015-09-07 19:35:07 +02:00
Aleix Pol
d835d01a09 Add a test for file sending, using the loopback device
Extends unit testing by making sure that file sharing works locally.

REVIEW: 125086
2015-09-07 15:03:04 +02:00
Vineet Garg
78e9c08732 Merge branch 'master' into ssl
Conflicts:
	core/backends/lan/socketlinereader.h
	core/backends/lan/uploadjob.h
	core/networkpackage.h
2015-08-25 03:43:41 +05:30
Boris Egorov
1924173df2 Fix various krazy2 warnings
Fix following krazy2 warning types:
[explicit], [endswithnewline], [doublequote_chars], [includes], [normalize],
[postfixop], [spelling]

See http://ebn.kde.org/krazy/reports/playground/base/kdeconnect-kde/index.html
for details.

SLOT/SIGNAL normalization done with Qt normalize utility:
https://github.com/qtproject/qtrepotools/tree/master/util/normalize

REVIEW: 124857
2015-08-21 22:38:54 +06:00
Vineet Garg
6acb4204a2 Added KdeConnectConfigTest, TestSslSocketLineReader, LanLinkProviderTest 2015-08-12 23:42:27 +05:30
Vineet Garg
cf3d37b504 Fixed issue pointed out on RR
Fixed some pairing handler issues
2015-08-11 09:04:02 +05:30
Vineet Garg
2824e73617 Pairing handler implemented 2015-07-27 20:58:58 +05:30
Vineet Garg
27515546a0 Now per device per link type pairing handlers are there 2015-07-25 17:15:19 +05:30
Vineet Garg
20e46418ba Encryption info in cli 2015-07-18 18:54:10 +05:30
Vineet Garg
e6da860fb7 Fixed issues pointed out on CR 2015-07-14 17:34:04 +05:30
Vineet Garg
7c777e6279 Implemented pairing handler interface 2015-07-10 03:21:08 +05:30
Vineet Garg
148a713176 Initial working implementation of ssl 2015-07-05 18:53:53 +05:30
Albert Vaca
08938689c5 Emit less redundant events 2015-06-21 19:39:04 -07:00
Albert Vaca
a4c8934ee7 If both devices request pairing at the same time, we just pair.
The second device accepts the request instead of failing.
2015-06-15 09:03:26 -07:00
Aleix Pol
ef788e0658 Restore removed API, deprecate
REVIEW: 124084
2015-06-12 17:54:47 +02:00
Aleix Pol
b592dc99a0 Merge pairingSuccessful and unpaired signals into pairingChanged(bool)
REVIEW: 124067
2015-06-11 16:19:00 +02:00
Albert Vaca
e5b897884c Added device status icons to be used in the KCM instead of the IM ones 2015-05-17 23:28:58 -07: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
654ee39b37 Fixed bug when pairing fails if initiated by the desktop
If the phone thinks that it's already paired with the computer when
receiving a pairing request, it will answer stuff back that will cause
the desktop to abort the pairing process.
2015-03-15 19:31:01 -07:00
Albert Vaca
563233cac7 Fixed unpair still using the old KConfig 2015-03-15 19:31:01 -07:00
Aleix Pol
6fe7a9b158 Make it possible for the DevicesModel to react to device name changes 2015-03-14 04:28:54 +01:00
Aleix Pol
807926473d Use better types to store the device internal data
https://marcmutz.wordpress.com/effective-qt/containers/
2015-03-14 04:07:55 +01:00
Aleix Pol
0e96d837ff Make sure the capabilities don't change over time by constifying
It exposed a problem later on, where we'd end up removing our own
capabilities into the remote's.
2015-03-14 02:44:21 +01:00
Aleix Pol
4c195e1a16 No need to set up the timeout every time 2015-03-14 00:39:13 +01:00
Albert Vaca
c7c91c1289 Added KdeConnectConfig class that aims to be a KConfig abstraction
Benefits:
- We had config files in different paths, now they will be centralized.
- Daemon, LanLinkProvider and NetworkPackage depend only on Qt now.
- KConfig is accessed with strings as keys, where a typo can go unnoticed.
- Daemon is now thinner, as it doesn't need to initialize config values.
- QCA::Initializer is in a single place now (was in Daemon and Plugin).
2015-03-01 20:16:07 -08:00
Aleix Pol
ef70772f70 Clean up generation of the host's private key
Only look for it in the writable path, as it won't ever be installed in a
common place.
Don't look for the path in the config file either.
Don't make it depend on the application name.

REVIEW: 122744
2015-03-02 00:49:44 +01:00
Albert Vaca
c50f1a22ae Fixed rejectPairing being always called 2015-02-23 21:43:46 -08:00
Kai Uwe Broulik
930c107f7b Cleanup notifications
Use iconName instead of sending a fixed-size pixmap around, fix wording and use title
capitalization, more meaningful names in notifyrc, QStringLiteral and new style connect.

REVIEW: 122121
2015-01-18 01:53:20 +01:00
Albert Vaca
a58fab4fb3 Merge branch 'master' into frameworks
Conflicts:
	cli/kdeconnect-cli.cpp
	core/device.cpp
	core/filetransferjob.cpp
	core/filetransferjob.h
	core/networkpackage.h
	kded/CMakeLists.txt
	plugins/share/shareplugin.cpp
	plugins/telephony/telephonyplugin.cpp
2014-11-11 21:40:54 -08:00
Albert Vaca
7d3fe6239c Updating .notifyrc file 2014-11-09 20:36:45 -08:00
Aleix Pol
21ab5a4f81 Merge branch 'master' into frameworks
Mostly kDebug -> qCDebug
Also some KCmdLineArgs -> QCommandLineParser

Conflicts:
	cli/kdeconnect-cli.cpp
	core/CMakeLists.txt
	core/backends/lan/lanlinkprovider.cpp
	core/daemon.cpp
	core/pluginloader.cpp
	interfaces/CMakeLists.txt
	kio/kiokdeconnect.cpp
	plugins/mousepad/CMakeLists.txt
	plugins/mousepad/mousepadplugin.h
	plugins/mpriscontrol/mpriscontrolplugin.cpp
	plugins/sftp/sftpplugin.cpp
2014-11-04 19:12:29 +01:00
Àlex Fiestas
dbea3171bd Make kdeconnect core compile without KDELibs4Support
This meant to add a lot of dependencies to each plugin since we had
KDELibs4support as PUBLIC link meaning that anything linking against
kdeconnectcore was linking at the same time to mostly all frameworks.

Now each plugin has more or less its dependencies in the CMake some
still depend on KDELibs4Support.

For the mousepad plugin I needed to add a fixX11.h file that basically
undefines/defines again some stuff xlib has that conflcits with normal
C++ and Qt.

Before it was not conflicting because some lib within KDELibs4Support
was including this file, but now we have to do it ourselves.
2014-09-22 02:40:51 +02:00
Àlex Fiestas
2328738beb Port core from KStandardDirs to QStandardPaths
Tested, both code return the same thing.
2014-09-22 01:23:27 +02:00
Àlex Fiestas
d971269bd5 Remove kdebugnamespace completely and replace by core_debug
In those places that belong to "core" we use core_debug, in any other
place we have added custom logging categories so we use those instead.
2014-09-22 00:59:34 +02:00
Àlex Fiestas
df0c262998 Port core to qCDebug
I had to keep the old kDebug code in kdebugnamespace because other parts
of the code are using it. Will be removed as soon as all code using it
is ported as well.
2014-09-21 23:54:27 +02:00
Àlex Fiestas
42269a9dda Port from KIcon to QIcon
Executed kcm and some notifications, icons are still shown.
2014-09-13 01:04:48 +02:00
Aleix Pol
e82850411d Import error reporting
I was getting a crash, it was because of a set up problem, but having this
helped me to figure it out.
2014-09-01 17:49:09 +02:00
Aleix Pol
380006114a Use the incoming/outgoing capabilities for trimming loaded plugins
Only lets the plugins that support something offered on the other end or
that offer something supported on the other end. If we don't have
information about the other device, we enable everything like we used to.

Also refactors a bit the plugin loader, to be able to provide information
step by step.

Currently it works, but we need support for capabilities at least on
Android to start taking good advantage of it.

REVIEW: 118820
CCMAIL: kdeconnect@kde.org
2014-07-11 01:54:19 +02:00
Albert Vaca
a303b73238 Merge branch 'master' into frameworks
Conflicts:
	cli/kdeconnect-cli.cpp
	core/CMakeLists.txt
	plasmoid/package/contents/ui/FullRepresentation.qml
	plugins/ping/pingplugin.cpp
2014-07-01 23:59:38 +02:00
Albert Vaca
cabb0f2f7b Simplified debug areas so we only have one, called "kdeconnect" 2014-07-01 01:26:08 +02:00
Aleix Pol
c8dbbed685 Move the send ping code to the ping plugin
turn it into a dbus call to the plugin

Reviewed by Albert Vaca
2014-06-27 18:21:40 +02:00