KShare/uploaders/uploadersingleton.hpp
ArsenArsen 9f57a10bb8
Make the project translatable
Jeeeesh that's alot
2017-07-29 17:22:17 +02:00

40 lines
966 B
C++

#ifndef UPLOADERSINGLETON_HPP
#define UPLOADERSINGLETON_HPP
#include "uploader.hpp"
#include <QDir>
#include <QMap>
class UploaderSingleton : public QObject {
Q_OBJECT
public:
static UploaderSingleton &inst() {
static UploaderSingleton inst;
return inst;
}
void registerUploader(Uploader *uploader);
void upload(QPixmap pixmap);
void upload(QByteArray img, QString format);
void upload(QFile &img, QString format);
void showSettings();
QList<Uploader *> uploaderList();
void set(QString uploader);
QString selectedUploader();
QList<std::runtime_error> errors();
QString currentUploader();
bool validate();
signals:
void newUploader(Uploader *u);
void uploaderChanged(QString newName);
private:
QDir saveDir;
QMap<QString, Uploader *> uploaders;
QString uploader = "imgur";
QList<std::runtime_error> errs;
UploaderSingleton();
};
#endif // UPLOADERSINGLETON_HPP