some fixes about uploading, some error handling
This commit is contained in:
parent
166a7ac83a
commit
326eef864b
11 changed files with 200 additions and 56 deletions
|
@ -662,14 +662,17 @@ void Core::Account::sendMessage(const Shared::Message& data, const QString& path
|
|||
um->requestUploadSlot(file);
|
||||
}
|
||||
} else {
|
||||
emit onFileUploadError(data.getId(), "Uploading file dissapeared or your system user has no permission to read it");
|
||||
qDebug() << "Requested upload slot in account" << name << "for file" << path << "but the file doesn't exist or is not readable";
|
||||
}
|
||||
} else {
|
||||
emit onFileUploadError(data.getId(), "Your server doesn't support file upload service, or it's prohibited for your account");
|
||||
qDebug() << "Requested upload slot in account" << name << "for file" << path << "but upload manager didn't discover any upload services";
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
emit onFileUploadError(data.getId(), "Account is offline or reconnecting");
|
||||
qDebug() << "An attempt to send message with not connected account " << name << ", skipping";
|
||||
}
|
||||
}
|
||||
|
@ -1639,6 +1642,7 @@ void Core::Account::onUploadSlotRequestFailed(const QXmppHttpUploadRequestIq& re
|
|||
} else {
|
||||
const std::pair<QString, Shared::Message>& pair = uploadingSlotsQueue.front();
|
||||
qDebug() << "Error requesting upload slot for file" << pair.first << "in account" << name << ":" << request.error().text();
|
||||
emit uploadFileError(pair.second.getId(), "Error requesting slot to upload file: " + request.error().text());
|
||||
|
||||
if (uploadingSlotsQueue.size() > 0) {
|
||||
um->requestUploadSlot(uploadingSlotsQueue.front().first);
|
||||
|
|
|
@ -118,6 +118,7 @@ signals:
|
|||
void removeRoomParticipant(const QString& jid, const QString& nickName);
|
||||
void receivedVCard(const QString& jid, const Shared::VCard& card);
|
||||
void uploadFile(const QFileInfo& file, const QUrl& set, const QUrl& get, QMap<QString, QString> headers);
|
||||
void uploadFileError(const QString& messageId, const QString& error);
|
||||
|
||||
private:
|
||||
QString name;
|
||||
|
|
|
@ -137,6 +137,8 @@ void Core::Squawk::addAccount(const QString& login, const QString& server, const
|
|||
|
||||
connect(acc, &Account::receivedVCard, this, &Squawk::responseVCard);
|
||||
|
||||
connect(acc, &Account::uploadFileError, this, &Squawk::uploadFileError);
|
||||
|
||||
QMap<QString, QVariant> map = {
|
||||
{"login", login},
|
||||
{"server", server},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue