mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
10ab833d7d
Secure that the slots/signals in uploadDiveLogsDE, which are without UI, can be used in DivelogsDeWebServices (to add the UI part). Signed-off-by: Jan Iversen <jan@casacondor.com>
38 lines
998 B
C++
38 lines
998 B
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef UPLOADDIVELOGSDE_H
|
|
#define UPLOADDIVELOGSDE_H
|
|
#include <QNetworkReply>
|
|
#include <QHttpMultiPart>
|
|
#include <QTimer>
|
|
|
|
|
|
class uploadDiveLogsDE : public QObject {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
static uploadDiveLogsDE *instance();
|
|
void doUpload(bool selected, const QString &userid, const QString &password);
|
|
|
|
// only to be used in desktop-widgets::subsurfacewebservices
|
|
bool prepareDives(const QString &tempfile, const bool selected);
|
|
|
|
private slots:
|
|
void updateProgressSlot(qint64 current, qint64 total);
|
|
void uploadFinishedSlot();
|
|
void uploadTimeoutSlot();
|
|
void uploadErrorSlot(QNetworkReply::NetworkError error);
|
|
|
|
signals:
|
|
void uploadFinish(bool success, const QString &text);
|
|
void uploadProgress(qreal percentage, qreal total);
|
|
|
|
private:
|
|
uploadDiveLogsDE();
|
|
|
|
void uploadDives(const QString &filename, const QString &userid, const QString &password);
|
|
|
|
QNetworkReply *reply;
|
|
QHttpMultiPart *multipart;
|
|
QTimer timeout;
|
|
};
|
|
#endif // UPLOADDIVELOGSDE_H
|