diff options
author | Camila <hello@camila.codes> | 2021-09-20 16:31:03 +0300 |
---|---|---|
committer | Matthieu Gallien (Rebase PR Action) <matthieu_gallien@yahoo.fr> | 2021-09-21 13:01:20 +0300 |
commit | db447c4676d5717805f2e821ecfed4ba0c5b9b5e (patch) | |
tree | a097db1e48e701c7ed30466d34a0906d7bd5314e /src/gui/sharemanager.cpp | |
parent | ba8ec56e651f054cf5ae6c1bf64f34213f1a1c94 (diff) |
Refactor OcsShareJob creation.
Signed-off-by: Camila <hello@camila.codes>
Diffstat (limited to 'src/gui/sharemanager.cpp')
-rw-r--r-- | src/gui/sharemanager.cpp | 24 |
1 files changed, 10 insertions, 14 deletions
diff --git a/src/gui/sharemanager.cpp b/src/gui/sharemanager.cpp index fec6b1bef..4490ff067 100644 --- a/src/gui/sharemanager.cpp +++ b/src/gui/sharemanager.cpp @@ -235,18 +235,12 @@ QString LinkShare::getLabel() const void LinkShare::setName(const QString &name) { - auto *job = new OcsShareJob(_account); - connect(job, &OcsShareJob::shareJobFinished, this, &LinkShare::slotNameSet); - connect(job, &OcsJob::ocsError, this, &LinkShare::slotOcsError); - job->setName(getId(), name); + createShareJob(&LinkShare::slotNameSet)->setName(getId(), name); } void LinkShare::setNote(const QString ¬e) { - auto *job = new OcsShareJob(_account); - connect(job, &OcsShareJob::shareJobFinished, this, &LinkShare::slotNoteSet); - connect(job, &OcsJob::ocsError, this, &LinkShare::slotOcsError); - job->setNote(getId(), note); + createShareJob(&LinkShare::slotNoteSet)->setNote(getId(), note); } void LinkShare::slotNoteSet(const QJsonDocument &, const QVariant ¬e) @@ -262,18 +256,20 @@ QString LinkShare::getToken() const void LinkShare::setExpireDate(const QDate &date) { - auto *job = new OcsShareJob(_account); - connect(job, &OcsShareJob::shareJobFinished, this, &LinkShare::slotExpireDateSet); - connect(job, &OcsJob::ocsError, this, &LinkShare::slotOcsError); - job->setExpireDate(getId(), date); + createShareJob(&LinkShare::slotExpireDateSet)->setExpireDate(getId(), date); } void LinkShare::setLabel(const QString &label) { + createShareJob(&LinkShare::slotLabelSet)->setLabel(getId(), label); +} + +template <typename LinkShareSlot> +OcsShareJob *LinkShare::createShareJob(const LinkShareSlot slotFunction) { auto *job = new OcsShareJob(_account); - connect(job, &OcsShareJob::shareJobFinished, this, &LinkShare::slotLabelSet); + connect(job, &OcsShareJob::shareJobFinished, this, slotFunction); connect(job, &OcsJob::ocsError, this, &LinkShare::slotOcsError); - job->setLabel(getId(), label); + return job; } void LinkShare::slotExpireDateSet(const QJsonDocument &reply, const QVariant &value) |