qmlhandler.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. #ifndef QMLHANDLER_H
  2. #define QMLHANDLER_H
  3. #include <QDebug>
  4. #include <QObject>
  5. #include <QUrl>
  6. #include <string>
  7. extern bool _RESTART;
  8. class QMLHandler : public QObject {
  9. Q_OBJECT
  10. private:
  11. void handleJSON(std::string buffer);
  12. void readPipeLoop(pid_t childid);
  13. void reopenCLI(QString ip);
  14. void closeCLI();
  15. public:
  16. explicit QMLHandler(QObject *parent = 0);
  17. void onExit();
  18. // C++ -> QML
  19. signals:
  20. // Sending
  21. void sendingSetFileUrlText(QString signalText);
  22. void sendingEnableSendButton();
  23. void sendingDisableSendButton();
  24. // Receiving
  25. void receivingClearFileList();
  26. void receivingListFile(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. // Login Signup Popup
  36. void loginSignupPopupClose();
  37. void loginSignupPopupOpen();
  38. // Login
  39. void loginSetStatus(QString status);
  40. // Signup
  41. void signupSetStatus(QString status);
  42. // Footer
  43. void log(QString logText);
  44. void footerSetStatus(QString status);
  45. // QML -> C++
  46. public slots:
  47. // Sending
  48. void onSendingSelectFileButton(QUrl url);
  49. void onSendingSendFileButton();
  50. void onSendingClearSelectionButton();
  51. // Receiving
  52. void onReceivingListFilesButton();
  53. void onReceivingGetFileButton(QString fileName);
  54. // Messages
  55. void onMessagesSendButton(QString msg);
  56. // Settings
  57. void onSettingsDeleteMeButton();
  58. // Ip Popup
  59. void onIpPopupConnectButton(QString ip);
  60. // Login
  61. void onLoginLoginButton(QString username, QString password);
  62. // Signup
  63. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo);
  64. // Footer
  65. void onFooterGetStatusButton();
  66. };
  67. #endif // QMLHANDLER_H