#include "mainwindow.h"
#include "ui_mainwindow.h"
-#include "constants.h"
#include "setupdialog.h"
-#include "json.h"
+#include "xbmc.h"
-#include <QtCore/QCoreApplication>
-#include <QtCore/QSettings>
-#include <QtCore/QTimer>
-#include <QtCore/QTextStream>
+#include <QGraphicsRectItem>
+#include <QGraphicsEllipseItem>
+
+#include <QCoreApplication>
#if defined(Q_OS_SYMBIAN) && defined(ORIENTATIONLOCK)
#include <eikenv.h>
#endif // Q_OS_SYMBIAN && ORIENTATIONLOCK
MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent), ui(new Ui::MainWindow)
+ : QMainWindow(parent), m_ui(new Ui::MainWindow)
{
- ui->setupUi(this);
-
- createStates();
- createTransitions();
- createConnections();
-
- stateMachine.setInitialState(disconnectedState);
- QTimer::singleShot(0, &stateMachine, SLOT(start()));
+ m_ui->setupUi(this);
+ m_xbmc = new Xbmc(this);
}
MainWindow::~MainWindow()
{
- delete ui;
+ delete m_xbmc;
+ delete m_ui;
}
void MainWindow::setOrientation(ScreenOrientation orientation)
}
}
-void MainWindow::connectToServer()
+void MainWindow::on_rightBtn_clicked()
{
- // TODO: we asume the socket is not already connected
- // TODO: we should add code to do nothing if the connection is ok, or close and open a new one if the server or port changed
- QSettings settings;
-
- serverSocket.connectToHost(settings.value(SETUP_XBMC_SERVER, SETUP_XBMC_SERVER_DEFAULT).toString(),
- settings.value(SETUP_XBMC_PORT, SETUP_XBMC_PORT_DEFAULT).toInt());
+ m_xbmc->actionRight();
}
-void MainWindow::disconnectFromServer()
+void MainWindow::on_leftBtn_clicked()
{
- serverSocket.disconnectFromHost();
+ m_xbmc->actionLeft();
}
-void MainWindow::createStates()
+void MainWindow::on_upBtn_clicked()
{
- disconnectedState = new QState(&stateMachine);
- disconnectedState->assignProperty(ui->networkButton, "text", "Connect");
- disconnectedState->assignProperty(ui->networkButton, "enabled", true);
+ m_xbmc->actionUp();
+}
- connectedState = new QState(&stateMachine);
+void MainWindow::on_downBtn_clicked()
+{
+ m_xbmc->actionDown();
+}
- connectingState = new QState(connectedState);
- connectingState->assignProperty(ui->networkButton, "text", "Connecting");
- connectingState->assignProperty(ui->networkButton, "enabled", false);
+void MainWindow::on_playBtn_clicked()
+{
+ m_xbmc->actionPlay();
+}
- normalState = new QState(connectedState);
- normalState->assignProperty(ui->networkButton, "text", "Disconnect");
- normalState->assignProperty(ui->networkButton, "enabled", true);
+void MainWindow::on_muteBtn_clicked()
+{
+ m_xbmc->actionMute();
+}
- disconnectingState = new QState(connectedState);
- disconnectingState->assignProperty(ui->networkButton, "text", "Disconnecting");
- disconnectingState->assignProperty(ui->networkButton, "enabled", false);
+void MainWindow::on_volumeUpBtn_clicked()
+{
+ m_xbmc->actionVolumeUp();
}
-void MainWindow::createTransitions()
+void MainWindow::on_volumeDownBtn_clicked()
{
- disconnectedState->addTransition(ui->networkButton, SIGNAL(clicked()), connectingState);
+ m_xbmc->actionVolumeDown();
+}
- connectedState->addTransition(&serverSocket, SIGNAL(disconnected()), disconnectedState);
+void MainWindow::on_nextSubtitleBtn_clicked()
+{
+ m_xbmc->actionNextSubtitle();
+}
- connectingState->addTransition(&serverSocket, SIGNAL(connected()), normalState);
- connectingState->addTransition(&serverSocket, SIGNAL(error(QAbstractSocket::SocketError)), disconnectedState);
+void MainWindow::on_nextLanguageBtn_clicked()
+{
+ m_xbmc->actionNextLanguage();
+}
- normalState->addTransition(ui->networkButton, SIGNAL(clicked()), disconnectingState);
+void MainWindow::on_selectButton_clicked()
+{
+ m_xbmc->actionSelect();
}
-void MainWindow::createConnections()
+void MainWindow::on_stopBtn_clicked()
{
- connect(connectingState, SIGNAL(entered()), this, SLOT(connectToServer()));
- connect(disconnectingState, SIGNAL(entered()), this, SLOT(disconnectFromServer()));
+ m_xbmc->actionStop();
}