Plasma
playercontrol.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "playercontrol.h"
00021 #include "playeractionjob.h"
00022
00023 #include <kdebug.h>
00024
00025 PlayerControl::PlayerControl(QObject* parent, Player::Ptr player)
00026 : Plasma::Service(parent),
00027 m_player(player)
00028 {
00029 setObjectName("nowplaying controller");
00030 setName("nowplaying");
00031 if (m_player) {
00032 setDestination(m_player->name());
00033 setObjectName("nowplaying controller for" + m_player->name());
00034 kDebug() << "Created a player control for" << m_player->name();
00035 } else {
00036 kDebug() << "Created a dead player control";
00037 }
00038 updateEnabledOperations();
00039 }
00040
00041 void PlayerControl::updateEnabledOperations()
00042 {
00043 if (m_player) {
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054 setOperationEnabled("play", m_player->canPlay());
00055 setOperationEnabled("pause", m_player->canPause());
00056 setOperationEnabled("stop", m_player->canStop());
00057 setOperationEnabled("next", m_player->canGoNext());
00058 setOperationEnabled("previous", m_player->canGoPrevious());
00059 setOperationEnabled("volume", m_player->canSetVolume());
00060 setOperationEnabled("seek", m_player->canSeek());
00061 } else {
00062 kDebug() << "No player";
00063 }
00064 }
00065
00066 Plasma::ServiceJob* PlayerControl::createJob(const QString& operation,
00067 QMap<QString,QVariant>& parameters)
00068 {
00069 kDebug() << "Job" << operation << "with arguments" << parameters << "requested";
00070 return new PlayerActionJob(m_player, operation, parameters, this);
00071 }
00072
00073 #include "playercontrol.moc"
00074
00075