Commit graph

65 commits

Author SHA1 Message Date
Aleix Pol
661fa098d4 Introduce bare documentation for the KDE Connect kcm 2015-10-19 03:25:17 +02:00
Aleix Pol
2707d1f0a8 Fix reload when changing current device on the kcm 2015-09-12 19:43:15 +02:00
Aleix Pol
fe2679a8a5 Prevent the kcm from refreshing the UI while interacting with it
Only refresh it when the available plugins actually change.
2015-09-12 15:02:59 +02:00
Albert Vaca
82d036265c Acquire the discovery mode when refreshing the KCM, in case it's not there 2015-09-11 07:19:07 -07:00
Aleix Pol
a9d2840664 Use acquire and release instead of a boolean property
This way we hope we won't end up without discovery if 2 instances need
discovery at the same time.

Reviewed by Albert Vaca
2015-09-09 20:09:04 +02: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
b9c427a316 fix crash and simplify code
reviewed by Albert Vaca
2015-09-08 17:57:55 +02:00
Aleix Pol
6a379e9227 Rename missingPlugins to unsupportedPlugins 2015-09-08 17:38:33 +02:00
Aleix Pol
817fcbc9d6 Merge branch 'stable' 2015-09-08 10:51:41 +02:00
Aleix Pol
d58f6314fe run Clang Modernize
Minus the auto change
2015-09-08 10:47:37 +02: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
24d4d19b89 Remove debug
Sorry Albert :/
2015-09-08 00:59:17 +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
Albert Vaca
9fa8538bf1 Removed some assertions that could not be true if using the model filter
Also fixed ugly hack where the KCM updated the model
2015-06-21 20:20:40 -07:00
Albert Vaca
c8e0c474ef Fixed crash 2015-06-21 19:43:21 -07:00
Albert Vaca
02bc1bcd90 Fixed progress indicator incorrectly being displayed after unpiring 2015-06-21 19:42:57 -07:00
Albert Vaca
c07c48ee37 Added "about" dialog to KDE Connect settings module.
BUG: 349186
2015-06-19 22:48:18 -07:00
Aleix Pol
7c2e2fb726 QML-ify
Add API to call random public plugin methods
qdbusxml2cpp is not generating the Q_PROPERTY attribute. For now [1], add
it ourselves by addding a proxy signal.

REVIEW: 124077
2015-06-13 01:28:36 +02:00
Aleix Pol
b592dc99a0 Merge pairingSuccessful and unpaired signals into pairingChanged(bool)
REVIEW: 124067
2015-06-11 16:19:00 +02:00
Aleix Pol
05491442e6 Make it possible to fetch the device from the DevicesModel from QML
Uses the row as the argument instead of the QModelIndex.
Defines the Device type so it can be used from QML.

REVIEW: 123361
2015-04-15 13:00:23 +02:00
David Rosca
b71b39761d KCM: Use currentChanged signal instead of clicked in deviceList
Using currentChanged signal it is now possible to select devices
with keyboard.
It also no longer refreshes plugin info when clicking on already
selected device.

REVIEW:123308
2015-04-09 17:47:01 +02:00
Albert Vaca
f237a659ec Added a link to the Android app from the KCM 2015-03-23 00:39:36 -07: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
02a2990720 Added a baseclass for the plugins' KCMs and a class for the plugins' config
Centralizing the plugins' config will ensure that all the plugins store it
the same way (ie: not in random files scattered around, like until now).
The base KCM class, together with the already existing base plugin class,
will give easy access to all the plugins to this centralized config. Also,
now the settings are not shared across devices (that is: every device can
have different config for a same plugin).

Note: This commit requires KCMUtils 5.9

REVIEW: 122927
2015-03-13 21:22:21 -07:00
Albert Vaca
b0cc45b52a You can now change your name (the one seen by other devices on the network) 2015-03-01 21:23:05 -08: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
Albert Vaca
7591e783ca Implemented sizeHint for KCM, so it doesn't open in a super small window 2015-03-01 16:09:42 -08:00
Albert Vaca
567796231b Connecting to clicked instead of pressed on KCM's buttons 2015-03-01 16:09:42 -08:00
Lukáš Tinkl
728dab0353 fix memleak
the Designer UI has to be deleted
2014-11-10 20:36:12 +01: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
677f650216 Removed K_EXPORT_PLUGIN, no longer needed
With kf5 this is not longer needed. removing it!
2014-09-22 02:40:51 +02:00
Àlex Fiestas
9c13e92e55 Port KCM to QStandardPaths
Both core return the same.
2014-09-22 01:23:47 +02:00
Àlex Fiestas
93054601b9 Removed unused kdebugnamespace, makes kcm kDebug free 2014-09-22 00:17:56 +02:00
Albert Vaca
e809fa441c Added a refresh button to KCM, just in case.
We already have a refresh button on Android.
2014-08-11 18:57:49 +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
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
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
Alexandr Akulich
f8fe1f3f6c kcm: Added DevicesModel declaration to move it's definition to implementation. 2014-06-14 13:06:12 +02:00
Albert Vaca
4dcbb3531a Remove the browse filesystem button from KCM 2014-04-05 20:05:22 +02:00
Samoilenko Yuri
9fc9e72374 Code cleaning and stabilization
- SftpDbusInterface merged to SftpPlugin object
- mountpoint cleaning technique to avoid fuse errors with dangling mountpoints
2014-01-15 20:36:01 +04:00
Samoilenko Yuri
e74627ce15 dirty kcm integration 2014-01-07 01:01:21 +04:00
Albert Vaca
6e5de6f437 qDebug -> kDebug with namespaces
Added 3 namespaces: kdeconnect_kded, kdeconnect_kcm and libkdeconnect
2013-11-06 22:16:55 +01:00
Albert Vaca
2054288cac KCM updated when pairing state changes externally
Added an unpaired() signal to KDED's Device exported by dbus
2013-10-01 03:20:07 +02:00
Albert Vaca
dfe6c1273a Fixed KCM updating the wrong device if selection was changed
Info displayed when pairing was always shown in the currently selected
device
2013-10-01 03:20:07 +02:00
Albert Vaca
b22dee3e7e Include clean-up 2013-09-10 15:37:35 +02:00
Albert Vaca
fe6a0a8978 Ooops not compiling again 2013-09-04 23:04:11 +02:00
Albert Vaca
0ff5600ce2 i18n 2013-09-04 21:19:02 +02:00
Albert Vaca
1604309ace Added symmetric pairing
A KNotification asks to accept the pairing when the other ends requests it
2013-08-30 19:10:43 +02:00