#ifndef QMLHANDLER_H #define QMLHANDLER_H #include #include extern bool _RESTART; class QMLHandler : public QObject { Q_OBJECT public: explicit QMLHandler(QObject *parent = 0); void onExit(); void closeCLI(); void loadSettingsToGUI(); QString getIP(); void setRestart(bool restart); void setConfigExists(bool exists); // C++ -> QML signals: // No Config Found Popup void noConfigFoundPopupOpen(); void noConfigFoundPopupClose(); // Invalid Cli Path Popup void invalidCliPathPopupOpen(); void invalidCliPathPopupClose(); // Invalid Config Popup void invalidConfigPopupOpen(); void invalidConfigPopupClose(); // Server Files void serverFilesSetFileUrlText(QString signalText); void serverFilesEnableSendButton(); void serverFilesDisableSendButton(); void serverFilesClearFileList(); void serverFilesListFile(QString fileName, QString fileSize, QString fileDecryptable, bool existsLocally); void serverFilesUpdateFile(QString fileName, QString fileProgress, bool isQueued); void serverFilesDisableDownloadButton(QString fileName); void serverFilesCloseConfirmDeletePopup(); // Messages void message(QString msg); // Settings void closeWindow(); void loadSettings(bool saveIP, bool saveUsername, QString cliPath, QString keyPath); void keyfileStatus(bool success, QString msg); void keyfileClosedOK(); // Delete Me Popup void deleteMePopupSetStatus(QString status); // Ip Popup void ipPopupSetStatus(QString status); void ipPopupSetIP(QString default_ip); void ipPopupClose(); void ipPopupOpen(); void ipPopupEnableConnectButton(); void ipPopupDisableConnectButton(); void ipPopupCheckSaveCheckbox(); // Login Signup Popup void loginSignupPopupClose(); void loginSignupPopupOpen(); void loginSignupCheckSaveCheckbox(); // Login void loginSetStatus(QString status); void loginEnableLoginButton(); void loginDisableLoginButton(); void loginSetUsername(QString username); // Signup void signupSetStatus(QString status); void signupEnableRegisterButton(); void signupDisableRegisterButton(); // Footer void log(QString logText); void footerSetStatus(QString status); void footerSetError(QString error); // Notifications void notification(QString message); void dismissNotification(int index); void showDesktopNotification(QString title, QString message); // QML -> C++ public slots: // Main void onStart(bool startWithCli); void onSwitchServer(); // No Config Found Popup void onNoConfigFoundPopupContinueButton(QString cli_path); // Invalid Cli Path Popup void onInvalidCliPathPopupContinueButton(QString cli_path); void onInvalidCliPathPopupQuitButton(); // Invalid Config Popup void onInvalidConfigPopupCreateDefaultButton(); void onInvalidConfigPopupQuitButton(); // Server Files void onServerFilesSelectFileButton(QUrl url); void onServerFilesSendFileButton(); void onServerFilesClearSelectionButton(); void onServerFilesDownloadFileButton(QString fileName); void onServerFilesConfirmDeleteFileButton(QString fileName); // Messages void onMessagesSendButton(QString msg); // Settings void onKeyfileSelected(QString path); void onKeyfileClosed(); void onSettingsDeleteMeButton(QString password); void onSettingsRevertChangesButton(); void onSettingsResetButton(); void onSettingsSaveButton(bool saveIP, bool saveUsername, QString cliPath, QString keyPath); // Ip Popup void onIpPopupConnectButton(QString ip, bool saveAsDefault); // Login void onLoginLoginButton(QString username, QString password, bool saveAsDefault); // Signup void onSignupRegisterButton(QString username, QString passwordOne, QString passwordTwo, bool saveAsDefault); // Notifications void onDismissNotificationButton(int id); // Queueing void onReceivingQueueFileButton(QString fileName); void onReceivingDequeueFileButton(QString fileName); }; #endif // QMLHANDLER_H