MCPcopy Create free account
hub / github.com/ckaiser/Lightscreen / upload

Method upload

tools/uploader/uploader.cpp:75–117  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

73}
74
75void Uploader::upload(const QString &fileName, const QString &uploadService)
76{
77 if (fileName.isEmpty()) {
78 return;
79 }
80
81 auto uploader = ImageUploader::factory(uploadService);
82
83 connect(uploader, &ImageUploader::progressChanged, this , &Uploader::reportProgress);
84 connect(this , &Uploader::cancelAll , uploader, &ImageUploader::cancel);
85
86 connect(uploader, &ImageUploader::error, [&, uploader](ImageUploader::Error errorCode, const QString &errorString, const QString &fileName) {
87 mUploaders.removeAll(uploader);
88 uploader->deleteLater();
89
90 mProgress = 0; // TODO: ?
91
92 if (errorCode != ImageUploader::CancelError) {
93 if (errorString.isEmpty()) {
94 emit error(tr("Upload Error %1").arg(errorCode));
95 } else {
96 emit error(errorString);
97 }
98 }
99
100 emit done(fileName, "", "");
101 });
102
103 connect(uploader, &ImageUploader::uploaded, [&, uploader](const QString &file, const QString &url, const QString &deleteHash) {
104 mLastUrl = url;
105 mUploaders.removeAll(uploader);
106
107 if (mUploaders.isEmpty()) {
108 mProgress = 0;
109 }
110
111 uploader->deleteLater();
112 emit done(file, url, deleteHash);
113 });
114
115 mUploaders.append(uploader);
116 uploader->upload(fileName);
117}
118
119int Uploader::uploading() const
120{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected