Shares do not have parents
authorRoeland Jago Douma <rullzer@owncloud.com>
Thu, 29 Oct 2015 13:27:49 +0000 (14:27 +0100)
committerRoeland Jago Douma <rullzer@owncloud.com>
Thu, 29 Oct 2015 14:42:25 +0000 (15:42 +0100)
Also some pointer cleanups

src/gui/share.cpp
src/gui/share.h
src/gui/sharedialog.cpp
src/gui/sharedialog.h

index fcd5cdb354b9a45a6adbc1a0885e7e4e35499f08..c8bc5de4f8cdd7c612ef143ec195649c77f18704 100644 (file)
@@ -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,
-                                 data.value("id").toString(),
-                                 data.value("path").toString(),
-                                 shareType,
-                                 data.value("permissions").toInt(),
-                                 this);
+            newShare = QSharedPointer<Share>(new Share(_account,
+                                                       data.value("id").toString(),
+                                                       data.value("path").toString(),
+                                                       shareType,
+                                                       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,
-                         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);
+    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));
 }
 
 }
index 3fb445831aa2637b9f0e0f8cd95729da9f145acb..9fbc4b1a17f3c9c7b54d6a91ced3cd51637823ac 100644 (file)
@@ -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;
 };
index 615ee44004c35ce562ca10fe4fbe70d89435f910..ded38b0b1e04cc3c28fc958f529c649616c65975 100644 (file)
@@ -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 ) {
index 3fc9ee311345d767a2dd0b932a1c9f31fca79fb7..7ffdee3b40933a790e7f26b2c321f219cb871e73 100644 (file)
@@ -96,7 +96,7 @@ private:
     QProgressIndicator *_pi_date;
     QProgressIndicator *_pi_editing;
 
-    QSharedPointer<ShareManager> _manager;
+    ShareManager *_manager;
     QSharedPointer<LinkShare> _share;
 
     bool _resharingAllowed;