+++ /dev/null
-#include "xbmc.h"
-#include "constants.h"
-#include "genericnotify.h"
-
-#include <QSettings>
-#include <QTextStream>
-#include <QNetworkReply>
-
-// XBMC constants -- from https://github.com/xbmc/xbmc/blob/master/xbmc/guilib/Key.h
-#define ACTION_MOVE_LEFT 1
-#define ACTION_MOVE_RIGHT 2
-#define ACTION_MOVE_UP 3
-#define ACTION_MOVE_DOWN 4
-#define ACTION_NEXT_SUBTITLE 26 // switch to next subtitle of movie. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_SUBTITLE_DELAY_MIN 52 // Decrease subtitle/movie Delay. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_SUBTITLE_DELAY_PLUS 53 // Increase subtitle/movie Delay. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_AUDIO_DELAY_MIN 54 // Increase avsync delay. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_AUDIO_DELAY_PLUS 55 // Decrease avsync delay. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_AUDIO_NEXT_LANGUAGE 56 // Select next language in movie. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_ENTER 135
-#define ACTION_SHOW_GUI 18 // toggle between GUI and movie or GUI and visualisation.
-#define ACTION_STEP_FORWARD 20 // seek +1% in the movie. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_STEP_BACK 21 // seek -1% in the movie. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_BIG_STEP_FORWARD 22 // seek +10% in the movie. Can b used in videoFullScreen.xml window id=2005
-#define ACTION_BIG_STEP_BACK 23 // seek -10% in the movie. Can b used in videoFullScreen.xml window id=2005
-
-#define ACTION_PLAYER_PLAY 79 // Play current song. Unpauses song and sets playspeed to 1x. global action, can be used anywhere
-#define ACTION_SELECT_ITEM 7
-#define ACTION_HIGHLIGHT_ITEM 8
-#define ACTION_PARENT_DIR 9
-
-#define ACTION_VOLUME_UP 88
-#define ACTION_VOLUME_DOWN 89
-#define ACTION_MUTE 91
-
-#define ACTION_PAUSE 12
-#define ACTION_STOP 13
-#define ACTION_NEXT_ITEM 14
-#define ACTION_PREV_ITEM 15
-#define ACTION_FORWARD 16 // Can be used to specify specific action in a window, Playback control is handled in ACTION_PLAYER_*
-#define ACTION_REWIND 17 // Can be used to specify specific action in a window, Playback control is handled in ACTION_PLAYER_*
-
-Xbmc::Xbmc(QObject *parent) : QObject(parent)
-{
- m_manager = new QNetworkAccessManager(this);
-}
-
-Xbmc::~Xbmc()
-{
- delete m_manager;
-}
-
-void Xbmc::commandActionFinished()
-{
- QNetworkReply* reply = qobject_cast<QNetworkReply *>(sender());
- if (reply) {
- if (reply->error() == QNetworkReply::NoError) {
- QTextStream stream(reply);
- QString msg = stream.readAll();
- qDebug("Xbmc::commandActionFinished: %s", qPrintable(msg));
- } else {
- notify::notify(reply->errorString());
- }
- reply->deleteLater();
- }
-}
-
-void Xbmc::do_command_action(int action)
-{
- QSettings settings;
- QString server = settings.value(SETUP_XBMC_SERVER, SETUP_XBMC_SERVER_DEFAULT).toString();
- QString port = settings.value(SETUP_XBMC_PORT, SETUP_XBMC_PORT_DEFAULT).toString();
-
- QUrl url = QUrl(QString("http://%1:%2/xbmcCmds/xbmcHttp?command=Action(%3)").arg(server).arg(port).arg(action));
-
- QNetworkRequest request;
- request.setUrl(url);
-
- QNetworkReply *reply = m_manager->get(request);
- connect(reply, SIGNAL(finished()), this, SLOT(commandActionFinished()));
-}
-
-void Xbmc::actionRight()
-{
- do_command_action(ACTION_MOVE_RIGHT);
- do_command_action(ACTION_STEP_FORWARD);
-}
-
-void Xbmc::actionLeft()
-{
- do_command_action(ACTION_MOVE_LEFT);
- do_command_action(ACTION_STEP_BACK);
-}
-
-void Xbmc::actionUp()
-{
- do_command_action(ACTION_MOVE_UP);
- do_command_action(ACTION_BIG_STEP_FORWARD);
-}
-
-void Xbmc::actionDown()
-{
- do_command_action(ACTION_MOVE_DOWN);
- do_command_action(ACTION_BIG_STEP_BACK);
-}
-
-void Xbmc::actionMute()
-{
- do_command_action(ACTION_MUTE);
-}
-
-void Xbmc::actionVolumeUp()
-{
- do_command_action(ACTION_VOLUME_UP);
-}
-
-void Xbmc::actionVolumeDown()
-{
- do_command_action(ACTION_VOLUME_DOWN);
-}
-
-void Xbmc::actionNextSubtitle()
-{
- do_command_action(ACTION_NEXT_SUBTITLE);
-}
-
-void Xbmc::actionNextLanguage()
-{
- do_command_action(ACTION_AUDIO_NEXT_LANGUAGE);
-}
-
-void Xbmc::actionPlay()
-{
- do_command_action(ACTION_PLAYER_PLAY);
-}
-
-void Xbmc::actionSelect()
-{
- do_command_action(ACTION_SELECT_ITEM);
-}
-
-void Xbmc::actionStop()
-{
- do_command_action(ACTION_STOP);
-}