qmlhandler.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. void receivingCloseConfirmDeletePopup();
  28. // Messages
  29. void message(QString msg);
  30. // Settings
  31. void closeWindow();
  32. // Ip Popup
  33. void ipPopupSetStatus(QString status);
  34. void ipPopupClose();
  35. void ipPopupOpen();
  36. void ipPopupEnableConnectButton();
  37. void ipPopupDisableConnectButton();
  38. // Login Signup Popup
  39. void loginSignupPopupClose();
  40. void loginSignupPopupOpen();
  41. // Login
  42. void loginSetStatus(QString status);
  43. void loginEnableLoginButton();
  44. void loginDisableLoginButton();
  45. // Signup
  46. void signupSetStatus(QString status);
  47. void signupEnableRegisterButton();
  48. void signupDisableRegisterButton();
  49. // Footer
  50. void log(QString logText);
  51. void footerSetStatus(QString status);
  52. // QML -> C++
  53. public slots:
  54. // Sending
  55. void onSendingSelectFileButton(QUrl url);
  56. void onSendingSendFileButton();
  57. void onSendingClearSelectionButton();
  58. // Receiving
  59. void onReceivingListFilesButton();
  60. void onReceivingDownloadFileButton(QString fileName);
  61. void onReceivingConfirmDeleteFileButton(QString fileName);
  62. // Messages
  63. void onMessagesSendButton(QString msg);
  64. // Settings
  65. void onSettingsDeleteMeButton();
  66. // Ip Popup
  67. void onIpPopupConnectButton(QString ip);
  68. // Login
  69. void onLoginLoginButton(QString username, QString password);
  70. // Signup
  71. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo);
  72. // Footer
  73. void onFooterGetStatusButton();
  74. };
  75. #endif // QMLHANDLER_H