#define MAINWINDOW_H
#include <QMainWindow>
-#include <QTcpSocket>
-#include <QStateMachine>
-#include <QState>
-#include <QAbstractButton>
-#include <QNetworkAccessManager>
+
+#include "xbmc.h"
namespace Ui {
class MainWindow;
}
-class DisconnectedState : public QState
-{
-public:
- DisconnectedState(QAbstractButton* button, QTcpSocket* socket, QState* parent = 0);
-
-protected:
- void onEntry(QEvent *event);
- void onExit(QEvent *event);
- QTcpSocket* m_socket;
-};
-
-class ConnectingState : public QState
-{
- Q_OBJECT
-public:
- ConnectingState(QAbstractButton* button, QTcpSocket* socket, QState* parent = 0);
-
-signals:
- void connected();
- void failed();
-
-private slots:
- void onSocketError(QAbstractSocket::SocketError err);
-
-protected:
- void onEntry(QEvent *event);
- void onExit(QEvent *event);
- QTcpSocket* m_socket;
-};
-
-class ConnectedState : public QState
-{
- Q_OBJECT
-public:
- ConnectedState(QAbstractButton* button, QTcpSocket* socket, QState* parent = 0);
-
-private slots:
- void onSocketError(QAbstractSocket::SocketError err);
- void onSocketData();
-
-signals:
- void disconnected();
-
-protected:
- void onEntry(QEvent *event);
- void onExit(QEvent *event);
- QTcpSocket* m_socket;
-};
-
-class DisconnectingState : public QState
-{
- Q_OBJECT
-public:
- DisconnectingState(QAbstractButton* button, QTcpSocket* socket, QState* parent = 0);
-
-signals:
- void disconnected();
-
-private slots:
- void onSocketError(QAbstractSocket::SocketError err);
-
-protected:
- void onEntry(QEvent *event);
- void onExit(QEvent *event);
- QTcpSocket* m_socket;
-};
-
class MainWindow : public QMainWindow
{
Q_OBJECT
void showExpanded();
private slots:
- // auto-connected slots
void on_actionSetup_triggered();
- void on_videoPlayerStateBtn_clicked();
- void on_videoPlayerPlayPauseBtn_clicked();
- void on_videoPlayerStopBtn_clicked();
- void on_videoPlayerSkipPreviousBtn_clicked();
- void on_videoPlayerSkipNextBtn_clicked();
- void on_videoPlayerBigSkipBackwardBtn_clicked();
- void on_videoPlayerBigSkipForwardBtn_clicked();
- void on_videoPlayerSmallSkipBackwardBtn_clicked();
- void on_videoPlayerSmallSkipForwardBtn_clicked();
- void on_videoPlayerGetTimeBtn_clicked();
- void on_xbmcGetVolumeBtn_clicked();
- void on_xbmcToggleMuteBtn_clicked();
- void on_xbmcPlayBtn_clicked();
- void on_xbmcQuitBtn_clicked();
- void on_playerGetActivePlayers_clicked();
- void on_actionLeftBtn_clicked();
- void onNetworAccesskManagerReplyFinished(QNetworkReply* reply);
+ void on_rightBtn_clicked();
+ void on_leftBtn_clicked();
+ void on_upBtn_clicked();
+ void on_downBtn_clicked();
+ void on_selectButton_clicked();
- void on_actionRightBtn_clicked();
- void on_actionUpBtn_clicked();
- void on_actionDownBtn_clicked();
- void on_actionEnterBtn_clicked();
- void on_actionPlayBtn_clicked();
- void on_actionSelectItemBtn_clicked();
- void on_actionParentDirBtn_clicked();
+ void on_playBtn_clicked();
+ void on_stopBtn_clicked();
-private:
- void pendingNetworkOperation(bool pending);
+ void on_muteBtn_clicked();
+ void on_volumeUpBtn_clicked();
+ void on_volumeDownBtn_clicked();
- void createStates();
- void createTransitions();
- void createConnections();
+ void on_nextSubtitleBtn_clicked();
+ void on_nextLanguageBtn_clicked();
- QTcpSocket m_serverSocket;
- QNetworkAccessManager *m_manager;
+private:
Ui::MainWindow *m_ui;
-
- QStateMachine m_stateMachine;
-
- DisconnectedState* m_disconnectedState;
- ConnectingState* m_connectingState;
- ConnectedState* m_connectedState;
- DisconnectingState* m_disconnectingState;
+ Xbmc* m_xbmc;
};
#endif // MAINWINDOW_H