qmlhandler.h 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. void loadSettingsToGUI();
  15. public:
  16. explicit QMLHandler(QObject *parent = 0);
  17. void onExit();
  18. // C++ -> QML
  19. signals:
  20. // No Config Found Popup
  21. void noConfigFoundPopupOpen();
  22. void noConfigFoundPopupClose();
  23. // Invalid Cli Path Popup
  24. void invalidCliPathPopupOpen();
  25. void invalidCliPathPopupClose();
  26. // Invalid Config Popup
  27. void invalidConfigPopupOpen();
  28. void invalidConfigPopupClose();
  29. // Sending
  30. void sendingSetFileUrlText(QString signalText);
  31. void sendingEnableSendButton();
  32. void sendingDisableSendButton();
  33. // Receiving
  34. void receivingClearFileList();
  35. void receivingListFile(QString fileName, bool existsLocally);
  36. void receivingDisableDownloadButton(QString fileName);
  37. void receivingCloseConfirmDeletePopup();
  38. // Messages
  39. void message(QString msg);
  40. // Settings
  41. void closeWindow();
  42. void loadSettings(int covertMethod, bool saveIP, bool saveUsername, QString cliPath);
  43. // Delete Me Popup
  44. void deleteMePopupSetStatus(QString status);
  45. // Ip Popup
  46. void ipPopupSetStatus(QString status);
  47. void ipPopupSetIP(QString default_ip);
  48. void ipPopupClose();
  49. void ipPopupOpen();
  50. void ipPopupEnableConnectButton();
  51. void ipPopupDisableConnectButton();
  52. void ipPopupCheckSaveCheckbox();
  53. // Login Signup Popup
  54. void loginSignupPopupClose();
  55. void loginSignupPopupOpen();
  56. void loginSignupCheckSaveCheckbox();
  57. // Login
  58. void loginSetStatus(QString status);
  59. void loginEnableLoginButton();
  60. void loginDisableLoginButton();
  61. void loginSetUsername(QString username);
  62. // Signup
  63. void signupSetStatus(QString status);
  64. void signupEnableRegisterButton();
  65. void signupDisableRegisterButton();
  66. // Footer
  67. void log(QString logText);
  68. void footerSetStatus(QString status);
  69. // QML -> C++
  70. public slots:
  71. void onStart();
  72. // No Config Found Popup
  73. void onNoConfigFoundPopupContinueButton(QString cli_path);
  74. // Invalid Cli Path Popup
  75. void onInvalidCliPathPopupContinueButton(QString cli_path);
  76. void onInvalidCliPathPopupQuitButton();
  77. // Invalid Config Popup
  78. void onInvalidConfigPopupCreateDefaultButton();
  79. void onInvalidConfigPopupQuitButton();
  80. // Sending
  81. void onSendingSelectFileButton(QUrl url);
  82. void onSendingSendFileButton();
  83. void onSendingClearSelectionButton();
  84. // Receiving
  85. void onReceivingListFilesButton();
  86. void onReceivingDownloadFileButton(QString fileName);
  87. void onReceivingConfirmDeleteFileButton(QString fileName);
  88. // Messages
  89. void onMessagesSendButton(QString msg);
  90. // Settings
  91. void onSettingsDeleteMeButton(QString password);
  92. void onSettingsRevertChangesButton();
  93. void onSettingsResetButton();
  94. void onSettingsSaveButton(int covertMethod, bool saveIP, bool saveUsername, QString cliPath);
  95. // Ip Popup
  96. void onIpPopupConnectButton(QString ip, bool saveAsDefault);
  97. // Login
  98. void onLoginLoginButton(QString username, QString password, bool saveAsDefault);
  99. // Signup
  100. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo, bool saveAsDefault);
  101. // Footer
  102. void onFooterGetStatusButton();
  103. };
  104. #endif // QMLHANDLER_H