From a35c9fa159173388d88ef77e1d31f53488aad094 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Fri, 3 Apr 2026 22:55:30 +0200 Subject: Generalize for all fediverse accounts --- .../fediversetransferplugin/fediverseuploader.h | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 transferengine-plugins/fediversetransferplugin/fediverseuploader.h (limited to 'transferengine-plugins/fediversetransferplugin/fediverseuploader.h') diff --git a/transferengine-plugins/fediversetransferplugin/fediverseuploader.h b/transferengine-plugins/fediversetransferplugin/fediverseuploader.h new file mode 100644 index 0000000..2343145 --- /dev/null +++ b/transferengine-plugins/fediversetransferplugin/fediverseuploader.h @@ -0,0 +1,59 @@ +/* + * SPDX-FileCopyrightText: 2013 - 2026 Jolla Ltd. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#ifndef FEDIVERSEUPLOADER_H +#define FEDIVERSEUPLOADER_H + +#include + +#include + +#include "fediverseshareservicestatus.h" + +class FediverseApi; + +class FediverseUploader : public MediaTransferInterface +{ + Q_OBJECT + +public: + FediverseUploader(QNetworkAccessManager *qnam, QObject *parent = 0); + ~FediverseUploader(); + + QString displayName() const; + QUrl serviceIcon() const; + bool cancelEnabled() const; + bool restartEnabled() const; + +public Q_SLOTS: + void start(); + void cancel(); + +private Q_SLOTS: + void startUploading(); + void transferFinished(); + void transferProgress(qreal progress); + void transferError(); + void transferCanceled(); + void credentialsExpired(); + +protected: + void setStatus(MediaTransferInterface::TransferStatus status); + +private: + void ensureApi(); + void postImage(); + void postStatus(); + + FediverseApi *m_api; + FediverseShareServiceStatus *m_fediverseShareServiceStatus; + QNetworkAccessManager *m_qnam; + FediverseShareServiceStatus::AccountDetails m_accountDetails; + bool m_useTmpFile; + QString m_filePath; +}; + +#endif // FEDIVERSEUPLOADER_H -- cgit v1.2.3