qmlhandler.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. #ifndef QMLHANDLER_H
  2. #define QMLHANDLER_H
  3. #include <QObject>
  4. #include <QUrl>
  5. extern bool _RESTART;
  6. class QMLHandler : public QObject {
  7. Q_OBJECT
  8. private:
  9. void handleJSON(std::string buffer);
  10. void readPipeLoop();
  11. void reopenCLI(QString ip);
  12. void closeCLI();
  13. void fileExists(std::string name);
  14. public:
  15. explicit QMLHandler(QObject *parent = 0);
  16. void onExit();
  17. // C++ -> QML
  18. signals:
  19. // Sending
  20. void sendingSetFileUrlText(QString signalText);
  21. void sendingEnableSendButton();
  22. void sendingDisableSendButton();
  23. // Receiving
  24. void receivingClearFileList();
  25. void receivingListFile(QString fileName, bool existsLocally);
  26. void receivingDisableDownloadButton(QString fileName);
  27. // Messages
  28. void message(QString msg);
  29. // Settings
  30. void closeWindow();
  31. // Ip Popup
  32. void ipPopupSetStatus(QString status);
  33. void ipPopupClose();
  34. void ipPopupOpen();
  35. void ipPopupEnableConnectButton();
  36. void ipPopupDisableConnectButton();
  37. // Login Signup Popup
  38. void loginSignupPopupClose();
  39. void loginSignupPopupOpen();
  40. // Login
  41. void loginSetStatus(QString status);
  42. void loginEnableLoginButton();
  43. void loginDisableLoginButton();
  44. // Signup
  45. void signupSetStatus(QString status);
  46. void signupEnableRegisterButton();
  47. void signupDisableRegisterButton();
  48. // Footer
  49. void log(QString logText);
  50. void footerSetStatus(QString status);
  51. // QML -> C++
  52. public slots:
  53. // Sending
  54. void onSendingSelectFileButton(QUrl url);
  55. void onSendingSendFileButton();
  56. void onSendingClearSelectionButton();
  57. // Receiving
  58. void onReceivingListFilesButton();
  59. void onReceivingDownloadFileButton(QString fileName);
  60. // Messages
  61. void onMessagesSendButton(QString msg);
  62. // Settings
  63. void onSettingsDeleteMeButton();
  64. // Ip Popup
  65. void onIpPopupConnectButton(QString ip);
  66. // Login
  67. void onLoginLoginButton(QString username, QString password);
  68. // Signup
  69. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo);
  70. // Footer
  71. void onFooterGetStatusButton();
  72. };
  73. #endif // QMLHANDLER_H