Commit graph

88 commits

Author SHA1 Message Date
Aleix Pol
596e4484f4 Clean up use of virtual and override keywords
Only use virtual when actually virtual, to override just use override.
2016-06-20 19:22:29 +02:00
Aleix Pol
41e6016c11 Remove unneeded line 2016-06-16 01:52:00 +02:00
Aleix Pol
bdff499965 Remote Commands plugin
Allows executing remote plugins from this client

Reviewed by Albert Vaca
2016-06-12 20:16:58 +02:00
Aleix Pol
e2c89794d9 Prefer Q_ENUM to Q_ENUMS 2016-06-08 18:39:31 +02:00
Aleix Pol
8b523ad59a We want the discovery mode active when the reachable devices are needed 2016-06-06 01:21:37 +02:00
Albert Vaca
0c95010c3b Merge branch 'master' into sslrefactor
# Conflicts:
#	core/device.cpp
#	interfaces/devicesmodel.cpp
2016-04-14 19:00:42 -07:00
David Kahles
3103bd0c5a Improve filtering of devices in the DevicesModel
We need to remove devices from the model if the filter doesn't match, to
prevent listing disconnected devices in the plasmoid.

REVIEW: 127610
2016-04-08 17:01:33 +02:00
David Kahles
aefa51fa86 Remove notifications from plasmoid, if the notifications plugin gets disabled
Therefore notify the client that we're deleting all notifications.
Otherwise the client wouldn't notice this and the notifications would still
be available in the plasmoid.

REVIEW: 127582
2016-04-06 02:30:50 +02:00
David Kahles
12ccbaef98 Improve NotificationsModel
Don't refresh the whole notification list, if a notification is added or
removed.

REVIEW: 127565
2016-04-05 23:33:45 +02:00
David Kahles
6cc1946443 Allow paired and not reachable devices in the model
The server supports this device state (e.g. if a device was saved as paired,
but isn't reachable), so let's expose it to the model.
The display filter should take care of excluding such devices if
nessecarry.
To make sure that such devices aren't shown in the kcm (we can't do anything
useful with them at the moment), set the display filter accordingly.

REVIEW: 127553
2016-04-05 23:33:45 +02:00
David Kahles
a8bd062baf Stop clearing the notification list twice
There were two clearNotifications() calls when refreshing the notification
list. As there happens nothing relevant in between them, the second call is
useless.

REVIEW: 127542
2016-04-05 23:33:45 +02:00
Albert Vaca
cf6cbd2925 WIPx3! 2015-12-01 10:45:14 -08:00
Aleix Pol
b1692142b1 Polish NotificationsModel::isAnyDismissable proprety
Let qml know it's computed on every call.
Consider it might have changed whenever a new notification enters as well.
2015-11-12 12:27:30 +01:00
Aleix Pol
f6cb042000 Revert "Add a hack to export auto generated interfaces"
This reverts commit 1501090b41.
2015-09-12 22:12:38 +02:00
Aleix Pol
50b9d331d1 Fix hack
Expose the signal on the exported interface.
2015-09-12 22:12:18 +02:00
David Edmundson
1501090b41 Add a hack to export auto generated interfaces 2015-09-12 22:03:26 +02:00
Aleix Pol
d8310cb38a Remove unused arguments 2015-09-12 09:48:18 +02:00
David Edmundson
9985a59608 Find my phone plugin
Add a plugin that sends a package to ring an alarm on a phone

Also adjusts plasmoid to have a button to invoke this.
2015-09-11 21:12:12 +02:00
Aleix Pol
501e5431ec Merge branch 'stable' 2015-09-10 20:26:43 +02:00
Aleix Pol
972c260628 Make sure kdeconnectd gets started when required
BUG: 352522
BUG: 352520
2015-09-10 20:21:41 +02: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
d58f6314fe run Clang Modernize
Minus the auto change
2015-09-08 10:47:37 +02:00
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
Aleix Pol
be2a3252c2 Make it possible to lock the screen from KDE Connect
Connects to freedesktop ScreenSaver interface and un/locks it upon request.

REVIEW: 124170
2015-07-22 03:37:34 +02:00
Aleix Pol
b99ac42ede Fix geninterface usage 2015-07-22 03:21:28 +02:00
Aleix Pol
058f7c7c90 Implement the touchpad forwarding into kcapp
This way the computer's cursor can be controlled from the device. Keyboard
is not yet implemented.
2015-07-22 03:21:28 +02:00
Lamarque V. Souza
208c11de1a Fix battery widget not appearing after kdeconnectd restarts.
I also added a workaround to prevent memory leak described in
0f38eb34a4.

REVIEW: 124361
2015-07-17 00:40:45 -03:00
Aleix Pol
06493a8192 Keep track of whether the daemon is alive
Listen to dbus registrations. Remove all devices if the service dies,
create all devices back when restored.
Same for the NotificationsModel.

REVIEW: 124183
2015-06-25 21:19:23 +02:00
Aleix Pol
6d83827b18 Don't rely on Q_PROPERTY if we're inheriting QDBusAbstractInterfaceBase
See bug:
https://bugreports.qt.io/browse/QTBUG-46858
2015-06-25 04:08:00 +02:00
Aleix Pol
43451d6ae1 Simplify Device::id management
Removes the id->row mapping. It was broken as the indices weren't updated
when a row was added or removed.
Stop exposing Device::id through dbus, just store it in the interface
class.
* It's redundant as it's part of the interface definition
* If we keep it it will save us quite some dbus round-trips
* It will be reliable, as nowadays id() sometimes QString() if the dbus
connection is invalid.

REVIEW: 124158
2015-06-24 20:57:17 +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
fd65570487 Some TODOs done :)
Also renamed the Status flags enum to make it more understandable
2015-06-21 19:42:16 -07:00
Aleix Pol
46b57003cd Display the device model section
This way we can differentiate between the different states
2015-06-19 07:14:02 +02:00
Aleix Pol
68b206e525 Move the generation of dbus interfaces into interfaces/
Simplifies the code altogether by centralizing the generation into 1 call
that does all the steps.

REVIEW: 124120
2015-06-18 19:06:14 +02:00
Aleix Pol
5c79e8a7a6 Implement an MPRIS client plugin
Makes it possible to control remote MPRIS instances.

REVIEW: 124100
2015-06-18 04:01:01 +02: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
6ddac08978 Introduce a device Role
REVIEW: 124067
2015-06-11 16:47:53 +02:00
Aleix Pol
a83bf73a4d Move the DevicesSortProxyModel to interfaces/
This way it can be used by other parts of the project. It belongs with the
DevicesModel.

REVIEW: 124067
2015-06-11 16:09:27 +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
Albert Vaca
50f611f8e3 IconModelRole now uses IconNameModelRole 2015-05-17 18:48:10 -07:00
Albert Vaca
519d67023c Added tooltip to model 2015-05-17 18:47:31 -07:00
Albert Vaca
f21746cfae Returning a QIcon instead of a fixed size QPixmap for DecorationRole. 2015-04-19 22:21:37 -07: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
Albert Vaca
b5420048f9 Fixed warning 2015-03-23 20:44:18 -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
Aleix Pol
fda4556dfc Take into account the integrated filter in the DevicesModel 2015-03-16 02:31:59 +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
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