KShare/src/uploaders/uploadersingleton.hpp

47 lines
1.2 KiB
C++
Raw Normal View History

2017-04-23 15:05:48 +02:00
#ifndef UPLOADERSINGLETON_HPP
#define UPLOADERSINGLETON_HPP
#include "uploader.hpp"
2017-05-22 15:56:47 +02:00
#include <QDir>
2017-04-23 15:05:48 +02:00
#include <QMap>
2019-05-16 00:29:05 +02:00
#include <logs/screenshotfile.h>
2017-04-23 15:05:48 +02:00
2017-05-06 13:21:12 +02:00
class UploaderSingleton : public QObject {
Q_OBJECT
public:
static UploaderSingleton &inst() {
static UploaderSingleton inst;
return inst;
}
void registerUploader(Uploader *uploader);
2019-05-18 15:52:44 +02:00
void upload(QPixmap pixmap, bool save);
void upload(QPixmap pixmap);
void upload(QByteArray img, QString format);
void upload(QFile &img, QString format);
2019-05-11 15:00:12 +02:00
void upload(QFile &img);
void showSettings();
QList<Uploader *> uploaderList();
void set(QString uploader);
QString selectedUploader();
QList<std::runtime_error> errors();
2017-06-23 14:39:51 +02:00
QString currentUploader();
bool validate();
2017-06-23 14:39:51 +02:00
signals:
void newUploader(Uploader *u);
void uploaderChanged(QString newName);
2017-04-23 15:05:48 +02:00
private:
void updateSaveSettings();
2019-05-16 00:29:05 +02:00
QString getFormattedSubfolder();
ScreenshotFile getScreenshotFile(QFile &f);
2017-05-22 15:56:47 +02:00
QDir saveDir;
bool saveImages = true;
QMap<QString, Uploader *> uploaders;
QString uploader = "imgur";
QList<std::runtime_error> errs;
UploaderSingleton();
2017-04-23 15:05:48 +02:00
};
#endif // UPLOADERSINGLETON_HPP