qmlhandler.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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. public:
  9. explicit QMLHandler(QObject *parent = 0);
  10. void onExit();
  11. void closeCLI();
  12. void loadSettingsToGUI();
  13. QString getIP();
  14. void setRestart(bool restart);
  15. void setConfigExists(bool exists);
  16. // C++ -> QML
  17. signals:
  18. // No Config Found Popup
  19. void noConfigFoundPopupOpen();
  20. void noConfigFoundPopupClose();
  21. // Invalid Cli Path Popup
  22. void invalidCliPathPopupOpen();
  23. void invalidCliPathPopupClose();
  24. // Invalid Config Popup
  25. void invalidConfigPopupOpen();
  26. void invalidConfigPopupClose();
  27. // Server Files
  28. void serverFilesSetFileUrlText(QString signalText);
  29. void serverFilesEnableSendButton();
  30. void serverFilesDisableSendButton();
  31. void serverFilesClearFileList();
  32. void serverFilesListFile(QString fileName, QString fileSize, QString fileDecryptable, bool existsLocally);
  33. void serverFilesUpdateFile(QString fileName, QString fileProgress, bool isQueued);
  34. void serverFilesDisableDownloadButton(QString fileName);
  35. void serverFilesCloseConfirmDeletePopup();
  36. // Messages
  37. void message(QString msg);
  38. // Settings
  39. void closeWindow();
  40. void loadSettings(bool saveIP, bool saveUsername, QString cliPath, QString keyPath);
  41. void keyfileStatus(bool success, QString msg);
  42. void keyfileClosedOK();
  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. void footerSetError(QString error);
  70. // Notifications
  71. void notification(QString message);
  72. void dismissNotification(int index);
  73. void showDesktopNotification(QString title, QString message);
  74. // QML -> C++
  75. public slots:
  76. // Main
  77. void onStart(bool startWithCli);
  78. void onSwitchServer();
  79. // No Config Found Popup
  80. void onNoConfigFoundPopupContinueButton(QString cli_path);
  81. // Invalid Cli Path Popup
  82. void onInvalidCliPathPopupContinueButton(QString cli_path);
  83. void onInvalidCliPathPopupQuitButton();
  84. // Invalid Config Popup
  85. void onInvalidConfigPopupCreateDefaultButton();
  86. void onInvalidConfigPopupQuitButton();
  87. // Server Files
  88. void onServerFilesSelectFileButton(QUrl url);
  89. void onServerFilesSendFileButton();
  90. void onServerFilesClearSelectionButton();
  91. void onServerFilesDownloadFileButton(QString fileName);
  92. void onServerFilesConfirmDeleteFileButton(QString fileName);
  93. // Messages
  94. void onMessagesSendButton(QString msg);
  95. // Settings
  96. void onKeyfileSelected(QString path);
  97. void onKeyfileClosed();
  98. void onSettingsDeleteMeButton(QString password);
  99. void onSettingsRevertChangesButton();
  100. void onSettingsResetButton();
  101. void onSettingsSaveButton(bool saveIP, bool saveUsername, QString cliPath, QString keyPath);
  102. // Ip Popup
  103. void onIpPopupConnectButton(QString ip, bool saveAsDefault);
  104. // Login
  105. void onLoginLoginButton(QString username, QString password, bool saveAsDefault);
  106. // Signup
  107. void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo, bool saveAsDefault);
  108. // Notifications
  109. void onDismissNotificationButton(int id);
  110. // Queueing
  111. void onReceivingQueueFileButton(QString fileName);
  112. void onReceivingDequeueFileButton(QString fileName);
  113. };
  114. #endif // QMLHANDLER_H