Commit graph

742 commits

Author SHA1 Message Date
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
Heiko Becker
d17c4419bd testsocketlinereader: USE QTEST_GUILESS_MAIN
This patch allows running the tests without a display server.

REVIEW: 122991
2015-03-17 18:37:59 +01:00
Ashish Bansal
6b4d5be618 Used QSettings instead of KConfig in KdeConnectSettings
REVIEW: 122936
2015-03-15 19:31:01 -07: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
856bd1e346 kDebug -> qCDebug 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
021bb1781a Fix kdeconnect-cli after DevicesModel refactoring
Can't use the model anymore as it is asynchronous, so just use the dbus
interfaces directly.
2015-03-16 02:58:22 +01:00
Aleix Pol
fda4556dfc Take into account the integrated filter in the DevicesModel 2015-03-16 02:31:59 +01:00
Aleix Pol
63bb2bda85 Fix build
We require KF5 5.9 but the frameworks haven't updated the version
name, so keep the last version for sanity.
2015-03-14 14:33:12 +01:00
Aleix Pol
28bc226e5d Make the NotificationsModel also async
The code was almost identical to the one in DevicesModel, so I did the same
2015-03-14 05:37:16 +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
dedd338bb7 Missing connect 2015-03-13 21:20:58 -07:00
Albert Vaca
a3decd542c Includes cleanup 2015-03-13 21:20:58 -07:00
Albert Vaca
549f4c0815 KdeConnectConfig now displays initialization errors as notification
NOTE: This patch requires KNotifications 5.9
2015-03-13 21:20:58 -07:00
Albert Vaca
001aee3e92 Removed timeout from the sftp plugin and also removed the plugin KCM
Note: This commit requires KNotifications 5.9
2015-03-13 21:20:58 -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
bb97cc19b6 Don't try to initialize the devices model with an empty list 2015-03-14 04:28:06 +01:00
Aleix Pol
fb9143a2aa Ensure the watcher never leaks 2015-03-14 04:27:30 +01:00
Aleix Pol
9c45c5469c Prefer to specify the property
Tie the change signal to the getter, makes the interface easier to read
and opens the possibility to adopt certain optimizations in the Qt side.
2015-03-14 04:09:14 +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
b99cba1949 Make the DevicesModel::deviceAdded code more robust
If deviceAdded is reported even though it's already in the model, don't
add it twice.
2015-03-14 03:40:01 +01:00
Aleix Pol
e592081094 Fix issue spotted by modeltest
Off by 1 index... :(
2015-03-14 03:32:53 +01:00
Aleix Pol
a4ccc93518 Make the devices list a vector
It's the suggested data type to use according to:
https://marcmutz.wordpress.com/effective-qt/containers/
2015-03-14 03:25:14 +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
7d6cf97551 Treat dbus errors are warnings rather than debug information
Hopefully it will make it easier to pick up at some point.
2015-03-14 02:42:18 +01:00
Aleix Pol
5d1750b716 Implement TODO
When a device is added, just add the new device instead of refreshing the
whole list.
2015-03-14 02:32:38 +01:00
Aleix Pol
7af7dbdc2f Improve DevicesModel::receivedDeviceList
Make the population asynchronous on dbus. Wait for the device list and
don't populate it until it's ready. There's no reason to block.
Don't emit after endInsertRows. It doesn't help, as the views will have
already refreshed.
2015-03-14 02:30:35 +01:00
Aleix Pol
128241c95c Don't call the QString copy constructor without need 2015-03-14 02:20:25 +01:00
Aleix Pol
4c195e1a16 No need to set up the timeout every time 2015-03-14 00:39:13 +01:00
Aleix Pol
5d8cf9544c Fix how the plasmoid status is specified
No need to show the FullRepresentation to figure out the status of the
plasmoid.
Moves the code back to the main.qml file so that we're always tracking if
there's actually paired devices.

REVIEW: 122912
2015-03-13 00:56:25 +01:00
Jonathan Riddell
ce2bb1e433 don't install library dev files until there is an API/ABI policy 2015-03-12 12:42:10 +01:00
Aleix Pol
ede7dd0e84 Drop KIOWidgets dependency from KDEConnectCore
Removes the usage of RenameDialog by moving the functionality away. In
fact, what it does is make the share dialog try to come up with a different
name rather than asking the user. It's a quite common procedure as makes
the interaction simpler (for example, Chromium and Kamoso work like that).

REVIEW: 122813
2015-03-09 13:22:10 +01:00
Albert Vaca
0a1128ae86 Actually, why are we compiling the modeltest as part of the regular build? 2015-03-08 19:16:06 -07:00
Albert Vaca
a8df2558e4 Fixed annoying warning in modeltest.cpp 2015-03-08 19:13:34 -07:00
Aleix Pol
72411fc504 Simplify weird code
Don't assume destination is local, also don't use setPath, which is quite
broken as it still keeps the scheme.
This way, destination can be any valid URL.
Don't add a trailing slash if we're going to remove it afterwards anyway.
Remove some back-and-forth conversions between QUrl and QString.
2015-03-04 23:20:28 +01:00
Aleix Pol
b06038e60e Prefer the usage of QUrl::toLocalFile to QUrl::path
QUrl::toLocalFile is portable.
2015-03-04 22:33:54 +01:00
Aleix Pol
463aa0cbf9 Prefer using QCoreApplication to using QApplication
Just checking if we can get rid of QtWidgets dependency on core,
eventually
2015-03-04 22:29:04 +01:00
Aleix Pol
2c612479fe Drop unneeded dependency in the daemon 2015-03-04 22:26:34 +01:00
Aleix Pol
2a70fabaf0 Remove unneeded dependency 2015-03-04 22:20:44 +01:00
Albert Vaca
d8a2aac952 Merge branch 'master' into frameworks 2015-03-01 21:33:47 -08: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
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
l10n daemon script
d2e973b351 SVN_SILENT made messages (.desktop file) 2015-02-28 04:22:03 +00:00
Albert Vaca
0cb24acbc0 Improved kdeconnect-cli, adding parameters to ease scripting.
Also:
Added some missing i18n calls.
Using QTextStream(stderr) instead of qCritical() to avoid "quoted output".
2015-02-24 22:17:44 -08:00
Albert Vaca
7e3338bae5 Removed kded directory 2015-02-24 22:17:44 -08:00
l10n daemon script
ffe8a0c2d6 SVN_SILENT made messages (.desktop file) 2015-02-25 04:21:00 +00:00
Albert Vaca
aaa034b9d6 Removed reference to KDED 2015-02-23 22:14:22 -08:00