void Share::deleteShare()
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(jobFinished(QVariantMap)), this, SLOT(slotDeleted(QVariantMap)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotDeleted()));
+ connect(job, SIGNAL(ocsError(int, const QString &)), SLOT(slotOcsError(int, const QString &)));
job->deleteShare(getId());
}
-void Share::slotDeleted(const QVariantMap &reply)
+void Share::slotDeleted()
{
- QString message;
- int code = OcsShareJob::getJsonReturnCode(reply, message);
- if (code != 100) {
- //emit error!
- }
-
emit shareDeleted();
}
+void Share::slotOcsError(int statusCode, const QString &message)
+{
+ emit serverError(statusCode, message);
+}
+
QUrl LinkShare::getLink() const
{
return _url;
void LinkShare::setPublicUpload(bool publicUpload)
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), this, SLOT(slotPublicUploadSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotPublicUploadSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
job->setPublicUpload(getId(), publicUpload);
}
-void LinkShare::slotPublicUploadSet(const QVariantMap &reply, const QVariant &value)
+void LinkShare::slotPublicUploadSet(const QVariantMap&, const QVariant &value)
{
- qDebug() << Q_FUNC_INFO << reply;
- qDebug() << Q_FUNC_INFO << value;
-
- QString message;
- int code = OcsShareJob::getJsonReturnCode(reply, message);
- if (code != 100) {
- //emit error
- }
-
//TODO FIX permission with names
if (value.toBool()) {
_permissions = 7;
void LinkShare::setPassword(const QString &password)
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), this, SLOT(slotPasswordSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotPasswordSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
job->setPassword(getId(), password);
}
-void LinkShare::slotPasswordSet(const QVariantMap &reply, const QVariant &value)
+void LinkShare::slotPasswordSet(const QVariantMap&, const QVariant &value)
{
- QString message;
- int code = OcsShareJob::getJsonReturnCode(reply, message);
- if (code != 100) {
- //emit error
- }
-
_passwordSet = value.toString() == "";
emit passwordSet();
}
void LinkShare::setExpireDate(const QDate &date)
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), this, SLOT(slotExpireDateSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotExpireDateSet(QVariantMap, QVariant)));
+ connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
job->setExpireDate(getId(), date);
}
-void LinkShare::slotExpireDateSet(const QVariantMap &reply, const QVariant &value)
+void LinkShare::slotExpireDateSet(const QVariantMap&, const QVariant &value)
{
- QString message;
- int code = OcsShareJob::getJsonReturnCode(reply, message);
- if (code != 100) {
- //emit error
- }
-
_expireDate = value.toDate();
emit expireDateSet();
}
const QString &password)
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(jobFinished(QVariantMap)), this, SLOT(slotLinkShareCreated(QVariantMap)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotLinkShareCreated(QVariantMap)));
+ connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
job->createShare(path, OcsShareJob::ShareType::Link, password);
}
if (code == 403) {
emit linkShareRequiresPassword();
return;
- } else if (code != 100) {
- //emit error
- }
+ }
//Parse share
auto data = reply.value("ocs").toMap().value("data").toMap();
void ShareManager::fetchShares(const QString &path)
{
OcsShareJob *job = new OcsShareJob(_account, this);
- connect(job, SIGNAL(jobFinished(QVariantMap)), this, SLOT(slotSharesFetched(QVariantMap)));
+ connect(job, SIGNAL(shareJobFinished(QVariantMap, QVariant)), SLOT(slotSharesFetched(QVariantMap)));
+ connect(job, SIGNAL(ocsError(int, QString)), SLOT(slotOcsError(int, QString)));
job->getShares(path);
}
void ShareManager::slotSharesFetched(const QVariantMap &reply)
{
- QString message;
- int code = OcsShareJob::getJsonReturnCode(reply, message);
- if (code != 100 && code != 404) {
- //emit error!
- }
-
auto tmpShares = reply.value("ocs").toMap().value("data").toList();
const QString versionString = _account->serverVersion();
qDebug() << Q_FUNC_INFO << versionString << "Fetched" << tmpShares.count() << "shares";
expireDate));
}
+void ShareManager::slotOcsError(int statusCode, const QString &message)
+{
+ emit serverError(statusCode, message);
+}
+
}
*/
_manager = new ShareManager(_account, this);
- connect(_manager, SIGNAL(sharesFetched(QList<QSharedPointer<Share>>)), this, SLOT(slotSharesFetched(QList<QSharedPointer<Share>>)));
- connect(_manager, SIGNAL(linkShareCreated(const QSharedPointer<LinkShare>)), this, SLOT(slotCreateShareFetched(const QSharedPointer<LinkShare>)));
- connect(_manager, SIGNAL(linkShareRequiresPassword()), this, SLOT(slotCreateShareRequiresPassword()));
+ connect(_manager, SIGNAL(sharesFetched(QList<QSharedPointer<Share>>)), SLOT(slotSharesFetched(QList<QSharedPointer<Share>>)));
+ connect(_manager, SIGNAL(linkShareCreated(QSharedPointer<LinkShare>)), SLOT(slotCreateShareFetched(const QSharedPointer<LinkShare>)));
+ connect(_manager, SIGNAL(linkShareRequiresPassword()), SLOT(slotCreateShareRequiresPassword()));
+ connect(_manager, SIGNAL(serverError(int, QString)), SLOT(displayError(int, QString)));
}
void ShareDialog::done( int r ) {
_ui->pushButton_copy->setEnabled(true);
// Connect all shares signals to gui slots
- connect(_share.data(), SIGNAL(expireDateSet()), this, SLOT(slotExpireSet()));
- connect(_share.data(), SIGNAL(publicUploadSet()), this, SLOT(slotPublicUploadSet()));
- connect(_share.data(), SIGNAL(passwordSet()), this, SLOT(slotPasswordSet()));
- connect(_share.data(), SIGNAL(shareDeleted()), this, SLOT(slotDeleteShareFetched()));
+ connect(_share.data(), SIGNAL(expireDateSet()), SLOT(slotExpireSet()));
+ connect(_share.data(), SIGNAL(publicUploadSet()), SLOT(slotPublicUploadSet()));
+ connect(_share.data(), SIGNAL(passwordSet()), SLOT(slotPasswordSet()));
+ connect(_share.data(), SIGNAL(shareDeleted()), SLOT(slotDeleteShareFetched()));
+ connect(_share.data(), SIGNAL(serverError(int, QString)), SLOT(displayError(int, QString)));
break;
}
}
+void ShareDialog::displayError(int code, const QString &message)
+{
+ const QString arg = QString("%1, %2").arg(code).arg(message);
+ const QString errMsg = tr("OCS API error code: %1").arg(arg);
+ displayError(errMsg);
+}
+
void ShareDialog::displayError(const QString& errMsg)
{
_ui->errorLabel->setText( errMsg );