extended setup dialog
[simple-xmbc-rem] / src / xbmc.cpp
index ce7d41f..d547022 100644 (file)
@@ -53,7 +53,7 @@ Xbmc::~Xbmc()
     delete m_manager;
 }
 
-void Xbmc::commandActionFinished()
+void Xbmc::commandFinished()
 {
     QNetworkReply* reply = qobject_cast<QNetworkReply *>(sender());
     if (reply) {
@@ -68,21 +68,6 @@ void Xbmc::commandActionFinished()
     }
 }
 
-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);
@@ -154,7 +139,7 @@ void Xbmc::actionShowGui()
 
 void Xbmc::actionSendKeyEsc()
 {
-    do_send_key(KEY_ASCII + 0x1B); // ESC
+    do_command_send_key(KEY_ASCII + 0x1B); // ESC
 }
 
 void Xbmc::actionContextMenu()
@@ -162,17 +147,29 @@ void Xbmc::actionContextMenu()
     do_command_action(ACTION_CONTEXT_MENU);
 }
 
-void Xbmc::do_send_key(int key)
+void Xbmc::do_command_send_key(int key)
+{
+    do_command1("SendKey", key);
+}
+
+void Xbmc::do_command_action(int action)
+{
+    do_command1("Action", action);
+}
+
+void Xbmc::do_command1(const QString &command, int id)
 {
     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=SendKey(%3)").arg(server).arg(port).arg(key));
+    QUrl url = QUrl(QString("http://%1:%2/xbmcCmds/xbmcHttp?command=%3(%4)").arg(server).arg(port).arg(command).arg(id));
+
+    qDebug("executing command: %s", qPrintable(url.toString()));
 
     QNetworkRequest request;
     request.setUrl(url);
 
     QNetworkReply *reply = m_manager->get(request);
-    connect(reply, SIGNAL(finished()), this, SLOT(commandActionFinished()));
+    connect(reply, SIGNAL(finished()), this, SLOT(commandFinished()));
 }