angelclient.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef ANGELCLIENT_H
  2. #define ANGELCLIENT_H
  3. #include <QWidget>
  4. #include <QAbstractSocket>
  5. #include <QTime>
  6. #include <QBasicTimer>
  7. #include <QXmlQuery>
  8. #include <QBuffer>
  9. namespace Ui {
  10. class AngelClient;
  11. }
  12. class QTcpSocket;
  13. class QAbstractSocket;
  14. class AngelClient : public QWidget
  15. {
  16. Q_OBJECT
  17. public:
  18. explicit AngelClient(QWidget *parent = 0);
  19. ~AngelClient();
  20. QSize sizeHint();
  21. private slots:
  22. void handleHostFound();
  23. void readServerResponse();
  24. void connectToServer();
  25. void handleError(QAbstractSocket::SocketError error);
  26. void playPause();
  27. void next();
  28. void prev();
  29. void trackDuration();
  30. void trackPosition();
  31. void showHelp();
  32. void sendRequest(QByteArray aRequest);
  33. void sliderValueChanged(int aNewValue);
  34. void sliderMoved(int aNewValue);
  35. void updateElapsedTime();
  36. void sync();
  37. QString hostAddressToConnect();
  38. private:
  39. QString readResponse(QString aSourceXml,QString aResponseType);
  40. int timeInSecs(QString aTimeInText);
  41. void timerEvent(QTimerEvent *aEvent);
  42. void paintEvent(QPaintEvent *aPaintEvent);
  43. void resizeEvent(QResizeEvent *aEvent);
  44. void setButtonSize();
  45. private:
  46. QTcpSocket* mClientSocket;
  47. QByteArray mCurrentRequest;
  48. int mTrackDurationInSec;
  49. QTime mTrackElapsedTime;
  50. bool mHasHourPart;
  51. bool mIsPaused;
  52. int mSyncTimerId;
  53. QBasicTimer mTrackTimer;
  54. QXmlQuery* mXmlQuery;
  55. QBuffer* mBuffer;
  56. private:
  57. Ui::AngelClient *ui;
  58. };
  59. #endif // ANGELCLIENT_H