Commit graph

34 commits

Author SHA1 Message Date
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
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
Saikrishna Arcot
8f4d39424a MPRIS: Send info about whether certain actions are allowed.
So the remote side can then disable some actions as necessary.

REVIEW: 128271
2016-08-26 11:11:07 +02:00
Albert Vaca
308a89f5ea playerList was sometimes sent as null since this change (maybe when empty?)
Reverted to the previous, saner, syntax.
2016-06-26 17:11:08 +02:00
Aleix Pol
f9406e8afc Introduce QVariantMap as an argument of NetworkPackage
Makes it possible to specify the different properties sent at once,
rather than one by one as we used to do.

Also port whenever possible to the initializer-list syntax.

REVIEW: 128269
2016-06-21 20:07:12 +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
David Kahles
337dd191e4 Fix mpris player discovery
The previous used QDbusServiceWatcher doesn't work as it does only watch out
for specific services, but the players use different, unpredictable names, so
we need to check all service registrations for mpris players.

BUG: 361367
REVIEW: 127611
2016-04-08 01:22:22 +02:00
Albert Vaca
c1ce7f523c Reordered lines 2015-11-11 11:03:00 -08:00
Albert Vaca
9afb4a587b Reduce the dbus timeout when dealing with mpris players
We probably want to do this in way more places, since the default dbus
timeout is 25 seconds!
2015-11-11 11:02:08 -08:00
Albert Vaca
cbc4cc5fd7 Improvise a name for a player if the mpris interface doesn't provide one 2015-11-11 11:00:59 -08:00
Albert Vaca
bb0b5fcf44 Were connecting to the wrong slot 2015-09-11 03:06:26 -07:00
David Edmundson
d621000621 Watch all serivies with the watcher
media player services are not registered as org.mpris.MediaPlayer2 just
use a service name that starts with that. We need to watch all services
and then filter.

BUG: 352529
Reviewed-by: Albert Vaca
2015-09-11 11:27:35 +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
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
d7e06c5fb2 Fix warning, don't use discouraged API
We used to have the following warning: "Connecting to deprecated signal
QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)"

Port away from it as recommended in Qt documentation.

REVIEW: 123637
2015-05-05 01:40:34 +02:00
Albert Vaca
40f18ed6c1 Made mpris plugin less verbose 2015-05-01 23:07:15 -07:00
Albert Vaca
6c6f2b1a03 Fixed uninitialized members 2015-04-04 10:17:08 -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
c7c1974ea9 Merge branch 'master' into frameworks
Conflicts:
	core/backends/lan/lanlinkprovider.cpp
	plugins/ping/pingplugin.h
	plugins/telephony/telephonyplugin.cpp
2015-01-10 20:14:01 -08:00
Albert Vaca
c916575311 Better support for seeking long media:
-Using miliseconds instead of nanoseconds for time.
-Using longs instead of ints

CCMAIL: zelitomas@gmail.com
2014-12-13 18:44:20 -08:00
Tomáš Zelina
0782682f7b Implemented current/total time and progress slider in MPRIS plugin
CCMAIL: zelitomas@gmail.com.
2014-12-13 14:43:09 -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
Albert Vaca
279dbe5598 Minor changes 2014-10-10 11:47:35 -07: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
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
1e9df65d50 Port mpris from kDebug to qCDebug 2014-09-22 00:44:47 +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
b618a64f51 Merge remote-tracking branch 'origin/master' into frameworks
Conflicts:
	cli/kdeconnect-cli.cpp
2014-06-18 02:46:14 +02:00
Albert Vaca
dd43479956 Now plugins load by default the kdeconnect-plugins catalog. 2014-06-17 22:21:20 +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
6ce0b6b874 Document in the desktop files the outgoing types for the plugins
This way we narrow the things a plugin can send, to its own scope. Still
every plugin can set a list of types, so it should be ok.
2014-06-14 20:35:00 +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
Renamed from core/plugins/mpriscontrol/mpriscontrolplugin.cpp (Browse further)