qmlhandler.h 3.8 KB

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