file queue

This commit is contained in:
2026-04-27 17:38:50 +08:00
parent bfe271550e
commit 2556c2db83
3 changed files with 226 additions and 15 deletions

View File

@@ -21,6 +21,8 @@ class AppController : public QObject
Q_PROPERTY(bool quickSave READ quickSave WRITE setQuickSave NOTIFY quickSaveChanged)
Q_PROPERTY(bool sending READ sending NOTIFY sendingChanged)
Q_PROPERTY(double sendProgress READ sendProgress NOTIFY sendProgressChanged)
Q_PROPERTY(QVariantList pendingFiles READ pendingFiles NOTIFY pendingFilesChanged)
Q_PROPERTY(bool hasPendingFiles READ hasPendingFiles NOTIFY pendingFilesChanged)
public:
explicit AppController(QObject* parent = nullptr);
@@ -45,6 +47,8 @@ public:
bool sending() const;
double sendProgress() const;
QVariantList pendingFiles() const;
bool hasPendingFiles() const;
Q_INVOKABLE void startDiscovery();
Q_INVOKABLE void stopDiscovery();
@@ -54,7 +58,11 @@ public:
Q_INVOKABLE void declineReceive(const QString& sessionId);
Q_INVOKABLE void sendFiles(const QString& deviceFingerprint, const QStringList& filePaths);
Q_INVOKABLE void sendTo(const QString& deviceFingerprint);
Q_INVOKABLE void cancelSend();
Q_INVOKABLE void addFiles(const QStringList& filePaths);
Q_INVOKABLE void removePendingFile(int index);
Q_INVOKABLE void clearPendingFiles();
signals:
void aliasChanged();
@@ -65,6 +73,7 @@ signals:
void serverRunningChanged();
void sendingChanged();
void sendProgressChanged();
void pendingFilesChanged();
void receiveRequest(const QString& sessionId, const QString& senderAlias,
const QString& senderIp, const QVariantList& files);
void receiveProgress(const QString& sessionId, const QString& fileId, double progress);
@@ -106,7 +115,8 @@ private:
QString m_currentSendSessionId;
QString m_currentSendFileId;
QString m_currentSendDeviceFingerprint;
QStringList m_pendingFiles;
QStringList m_pendingSendPaths;
QVariantList m_pendingFilesList;
int m_currentFileIndex = 0;
double m_sendProgress = 0.0;