mirror of
https://github.com/nextcloud/desktop.git
synced 2024-10-24 13:25:52 +03:00
Shares do not have parents
Also some pointer cleanups
This commit is contained in:
parent
6d80f3d756
commit
12f7cfde87
4 changed files with 29 additions and 35 deletions
|
@ -20,9 +20,8 @@
|
|||
namespace OCC {
|
||||
|
||||
Share::Share(AccountPtr account, const QString& id, const QString& path, int shareType,
|
||||
int permissions, QObject *parent)
|
||||
: QObject(parent),
|
||||
_account(account),
|
||||
int permissions)
|
||||
: _account(account),
|
||||
_id(id),
|
||||
_path(path),
|
||||
_shareType(shareType),
|
||||
|
@ -86,9 +85,8 @@ LinkShare::LinkShare(AccountPtr account,
|
|||
int permissions,
|
||||
bool passwordSet,
|
||||
const QUrl& url,
|
||||
const QDate& expireDate,
|
||||
QObject *parent)
|
||||
: Share(account, id, path, shareType, permissions, parent),
|
||||
const QDate& expireDate)
|
||||
: Share(account, id, path, shareType, permissions),
|
||||
_passwordSet(passwordSet),
|
||||
_expireDate(expireDate),
|
||||
_url(url)
|
||||
|
@ -232,17 +230,16 @@ void ShareManager::slotSharesFetched(const QVariantMap &reply)
|
|||
|
||||
auto shareType = data.value("share_type").toInt();
|
||||
|
||||
Share *newShare = NULL;
|
||||
QSharedPointer<Share> newShare;
|
||||
|
||||
if (shareType == OcsShareJob::ShareType::Link) {
|
||||
newShare = parseLinkShare(data);
|
||||
} else {
|
||||
newShare = new Share(_account,
|
||||
newShare = QSharedPointer<Share>(new Share(_account,
|
||||
data.value("id").toString(),
|
||||
data.value("path").toString(),
|
||||
shareType,
|
||||
data.value("permissions").toInt(),
|
||||
this);
|
||||
data.value("permissions").toInt()));
|
||||
}
|
||||
|
||||
shares.append(QSharedPointer<Share>(newShare));
|
||||
|
@ -252,7 +249,7 @@ void ShareManager::slotSharesFetched(const QVariantMap &reply)
|
|||
emit sharesFetched(shares);
|
||||
}
|
||||
|
||||
LinkShare *ShareManager::parseLinkShare(const QVariantMap &data) {
|
||||
QSharedPointer<LinkShare> ShareManager::parseLinkShare(const QVariantMap &data) {
|
||||
QUrl url;
|
||||
|
||||
// From ownCloud server 8.2 the url field is always set for public shares
|
||||
|
@ -273,15 +270,14 @@ LinkShare *ShareManager::parseLinkShare(const QVariantMap &data) {
|
|||
expireDate = QDate::fromString(data.value("expiration").toString(), "yyyy-MM-dd 00:00:00");
|
||||
}
|
||||
|
||||
return new LinkShare(_account,
|
||||
return QSharedPointer<LinkShare>(new LinkShare(_account,
|
||||
data.value("id").toString(),
|
||||
data.value("path").toString(),
|
||||
data.value("share_type").toInt(),
|
||||
data.value("permissions").toInt(),
|
||||
data.value("share_with").isValid(),
|
||||
url,
|
||||
expireDate,
|
||||
this);
|
||||
expireDate));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -37,8 +37,7 @@ public:
|
|||
const QString& id,
|
||||
const QString& path,
|
||||
int shareType,
|
||||
int permissions,
|
||||
QObject *parent = NULL);
|
||||
int permissions);
|
||||
|
||||
/*
|
||||
* Get the id
|
||||
|
@ -104,8 +103,7 @@ public:
|
|||
int permissions,
|
||||
bool passwordSet,
|
||||
const QUrl& url,
|
||||
const QDate& expireDate,
|
||||
QObject *parent = NULL);
|
||||
const QDate& expireDate);
|
||||
|
||||
/*
|
||||
* Get the share link
|
||||
|
@ -202,9 +200,9 @@ public:
|
|||
void fetchShares(const QString& path);
|
||||
|
||||
signals:
|
||||
void linkShareCreated(const QSharedPointer<LinkShare> share);
|
||||
void linkShareCreated(const QSharedPointer<LinkShare> &share);
|
||||
void linkShareRequiresPassword();
|
||||
void sharesFetched(QList<QSharedPointer<Share>>);
|
||||
void sharesFetched(const QList<QSharedPointer<Share>> &shares);
|
||||
void serverError(int code, const QString &message);
|
||||
|
||||
private slots:
|
||||
|
@ -212,7 +210,7 @@ private slots:
|
|||
void slotLinkShareCreated(const QVariantMap &reply);
|
||||
|
||||
private:
|
||||
LinkShare *parseLinkShare(const QVariantMap &data);
|
||||
QSharedPointer<LinkShare> parseLinkShare(const QVariantMap &data);
|
||||
|
||||
AccountPtr _account;
|
||||
};
|
||||
|
|
|
@ -173,11 +173,11 @@ ShareDialog::ShareDialog(AccountPtr account, const QString &sharePath, const QSt
|
|||
/*
|
||||
* Create the share manager and connect it properly
|
||||
*/
|
||||
_manager = QSharedPointer<ShareManager>(new ShareManager(_account, this));
|
||||
_manager = new ShareManager(_account, this);
|
||||
|
||||
connect(_manager.data(), SIGNAL(sharesFetched(QList<QSharedPointer<Share>>)), this, SLOT(slotSharesFetched(QList<QSharedPointer<Share>>)));
|
||||
connect(_manager.data(), SIGNAL(linkShareCreated(const QSharedPointer<LinkShare>)), this, SLOT(slotCreateShareFetched(const QSharedPointer<LinkShare>)));
|
||||
connect(_manager.data(), SIGNAL(linkShareRequiresPassword()), this, SLOT(slotCreateShareRequiresPassword()));
|
||||
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()));
|
||||
}
|
||||
|
||||
void ShareDialog::done( int r ) {
|
||||
|
|
|
@ -96,7 +96,7 @@ private:
|
|||
QProgressIndicator *_pi_date;
|
||||
QProgressIndicator *_pi_editing;
|
||||
|
||||
QSharedPointer<ShareManager> _manager;
|
||||
ShareManager *_manager;
|
||||
QSharedPointer<LinkShare> _share;
|
||||
|
||||
bool _resharingAllowed;
|
||||
|
|
Loading…
Reference in a new issue