Use [[nodiscard]] more broadly in methods returning values, and respect it elsewhere
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Fri, 30 Sep 2022 23:13:41 +0000 (01:13 +0200)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 31 Oct 2022 17:06:07 +0000 (18:06 +0100)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/fileactivitylistmodel.h
src/gui/filedetails/filedetails.cpp
src/gui/filedetails/filedetails.h
src/gui/filedetails/shareemodel.h
src/gui/filedetails/sharemodel.h
src/gui/filedetails/sortedsharemodel.h

index 4134dc0c746c243d0a503388ee1536f4ac0c634d..a11197405aa4b10bdfe8b365742720b30e0665a1 100644 (file)
@@ -27,7 +27,7 @@ class FileActivityListModel : public ActivityListModel
 public:
     explicit FileActivityListModel(QObject *parent = nullptr);
 
-    QString localPath() const;
+    [[nodiscard]] QString localPath() const;
 
 signals:
     void localPathChanged();
index b7fa88a18d2f638f838e4056e2e56444dcd26ac1..2f0e29a104b669fbc76011a4dabe5d7d4a458867 100644 (file)
@@ -19,6 +19,8 @@
 
 namespace OCC {
 
+Q_LOGGING_CATEGORY(lcFileDetails, "nextcloud.gui.filedetails", QtInfoMsg)
+
 FileDetails::FileDetails(QObject *parent)
     : QObject(parent)
 {
@@ -61,7 +63,11 @@ void FileDetails::setLocalPath(const QString &localPath)
     const auto folder = FolderMan::instance()->folderForPath(_localPath);
     const auto file = _localPath.mid(folder->cleanPath().length() + 1);
 
-    folder->journalDb()->getFileRecord(file, &_fileRecord);
+    if (!folder->journalDb()->getFileRecord(file, &_fileRecord)) {
+        qCWarning(lcFileDetails) << "Invalid file record for path:"
+                                 << _localPath
+                                 << "will not load file details.";
+    }
 
     _filelockState = _fileRecord._lockstate;
     updateLockExpireString();
index 7b338470900f96b273281a9ef3ddc2f9a12e62e7..3a5d1e529dcefa37d8a2a5748467c8ac0c5a2599 100644 (file)
@@ -37,13 +37,13 @@ class FileDetails : public QObject
 public:
     explicit FileDetails(QObject *parent = nullptr);
 
-    QString localPath() const;
-    QString name() const;
-    QString sizeString() const;
-    QString lastChangedString() const;
-    QString iconUrl() const;
-    QString lockExpireString() const;
-    bool isFolder() const;
+    [[nodiscard]] QString localPath() const;
+    [[nodiscard]] QString name() const;
+    [[nodiscard]] QString sizeString() const;
+    [[nodiscard]] QString lastChangedString() const;
+    [[nodiscard]] QString iconUrl() const;
+    [[nodiscard]] QString lockExpireString() const;
+    [[nodiscard]] bool isFolder() const;
 
 public slots:
     void setLocalPath(const QString &localPath);
index 954f10ad7d8fd9def82716bf9153c946934e9dd1..8029ee76563d3b95247862e6c35e737f2c2b649c 100644 (file)
@@ -51,15 +51,15 @@ public:
 
     using ShareeSet = QVector<ShareePtr>; // FIXME: make it a QSet<Sharee> when Sharee can be compared
 
-    int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-    QHash<int, QByteArray> roleNames() const override;
-    QVariant data(const QModelIndex &index, const int role) const override;
+    [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
+    [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
+    [[nodiscard]] QVariant data(const QModelIndex &index, const int role) const override;
 
-    AccountState *accountState() const;
-    bool shareItemIsFolder() const;
-    QString searchString() const;
-    bool fetchOngoing() const;
-    LookupMode lookupMode() const;
+    [[nodiscard]] AccountState *accountState() const;
+    [[nodiscard]] bool shareItemIsFolder() const;
+    [[nodiscard]] QString searchString() const;
+    [[nodiscard]] bool fetchOngoing() const;
+    [[nodiscard]] LookupMode lookupMode() const;
 
 signals:
     void accountStateChanged();
@@ -83,7 +83,7 @@ private slots:
      void shareesFetched(const QJsonDocument &reply);
 
 private:
-    ShareePtr parseSharee(const QJsonObject &data) const;
+    [[nodiscard]] ShareePtr parseSharee(const QJsonObject &data) const;
 
     QTimer _userStoppedTypingTimer;
 
index 4328aeff1d10bcd423b90b88f03e33e8d8ec71a0..5262bdf4bcbd52df65623e8f16a31f8376ac0ac9 100644 (file)
@@ -78,21 +78,21 @@ public:
 
     explicit ShareModel(QObject *parent = nullptr);
 
-    QVariant data(const QModelIndex &index, const int role) const override;
-    int rowCount(const QModelIndex &parent = QModelIndex()) const override;
-    QHash<int, QByteArray> roleNames() const override;
+    [[nodiscard]] QVariant data(const QModelIndex &index, const int role) const override;
+    [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override;
+    [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
 
-    AccountState *accountState() const;
-    QString localPath() const;
+    [[nodiscard]] AccountState *accountState() const;
+    [[nodiscard]] QString localPath() const;
 
-    bool accountConnected() const;
-    bool sharingEnabled() const;
-    bool publicLinkSharesEnabled() const;
-    bool userGroupSharingEnabled() const;
-    bool canShare() const;
+    [[nodiscard]] bool accountConnected() const;
+    [[nodiscard]] bool sharingEnabled() const;
+    [[nodiscard]] bool publicLinkSharesEnabled() const;
+    [[nodiscard]] bool userGroupSharingEnabled() const;
+    [[nodiscard]] bool canShare() const;
 
-    bool fetchOngoing() const;
-    bool hasInitialShareFetchCompleted() const;
+    [[nodiscard]] bool fetchOngoing() const;
+    [[nodiscard]] bool hasInitialShareFetchCompleted() const;
 
 signals:
     void localPathChanged();
@@ -167,11 +167,11 @@ private slots:
     void slotShareExpireDateSet(const QString &shareId);
 
 private:
-    QString displayStringForShare(const SharePtr &share) const;
-    QString iconUrlForShare(const SharePtr &share) const;
-    QString avatarUrlForShare(const SharePtr &share) const;
-    long long enforcedMaxExpireDateForShare(const SharePtr &share) const;
-    bool expireDateEnforcedForShare(const SharePtr &share) const;
+    [[nodiscard]] QString displayStringForShare(const SharePtr &share) const;
+    [[nodiscard]] QString iconUrlForShare(const SharePtr &share) const;
+    [[nodiscard]] QString avatarUrlForShare(const SharePtr &share) const;
+    [[nodiscard]] long long enforcedMaxExpireDateForShare(const SharePtr &share) const;
+    [[nodiscard]] bool expireDateEnforcedForShare(const SharePtr &share) const;
 
     bool _fetchOngoing = false;
     bool _hasInitialShareFetchCompleted = false;
index c5cdbb975eabd897aa2c068fd0d2189a681c5798..a9acc1d58cdc80ef694b7804a7dc435df62daa43 100644 (file)
@@ -27,7 +27,7 @@ class SortedShareModel : public QSortFilterProxyModel
 public:
     explicit SortedShareModel(QObject *parent = nullptr);
 
-    ShareModel *shareModel() const;
+    [[nodiscard]] ShareModel *shareModel() const;
 
 signals:
     void shareModelChanged();
@@ -36,7 +36,7 @@ public slots:
     void setShareModel(ShareModel *shareModel);
 
 protected:
-    bool lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight) const override;
+    [[nodiscard]] bool lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight) const override;
 
 private slots:
     void sortModel();