qmlhandler.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #ifndef QMLHANDLER_H
  2. #define QMLHANDLER_H
  3. #include <QDebug>
  4. #include <QObject>
  5. #include <QUrl>
  6. #include <string>
  7. class QMLHandler : public QObject {
  8. Q_OBJECT
  9. private:
  10. void handleJSON(std::string buffer);
  11. void readPipeLoop();
  12. void reopenCLI(QString ip);
  13. void closeCLI();
  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);
  26. // Messages
  27. void message(QString msg);
  28. // Settings
  29. void settingsOpenSwitchServerPopup();
  30. // Ip Popup
  31. void ipPopupSetStatus(QString status);
  32. void ipPopupClose();
  33. void ipPopupOpen();
  34. // Login Signup Popup
  35. void loginSignupPopupClose();
  36. void loginSignupPopupOpen();
  37. // Login
  38. void loginSetStatus(QString status);
  39. // Signup
  40. void signupSetStatus(QString status);
  41. // Footer
  42. void log(QString logText);
  43. void footerSetStatus(QString status);
  44. // QML -> C++
  45. public slots:
  46. // Sending
  47. void onSendingSelectFileButton(QUrl url);
  48. void onSendingSendFileButton();
  49. void onSendingClearSelectionButton();
  50. // Receiving
  51. void onReceivingListFilesButton();
  52. void onReceivingGetFileButton(QString fileName);
  53. // Messages
  54. void onMessagesSendButton(QString msg);
  55. // Settings
  56. void onSettingsSwitchServerButton();
  57. // Ip Popup
  58. void onIpPopupConnectButton(QString ip);
  59. // Login
  60. void onLoginLoginButton(QString username, QString password);
  61. // Signup
  62. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo);
  63. // Footer
  64. void onFooterGetStatusButton();
  65. };
  66. #endif // QMLHANDLER_H