diff --git a/shell_integration/dolphin/ownclouddolphinpluginhelper.h b/shell_integration/dolphin/ownclouddolphinpluginhelper.h index f6659e417a1f9..67119ba702e22 100644 --- a/shell_integration/dolphin/ownclouddolphinpluginhelper.h +++ b/shell_integration/dolphin/ownclouddolphinpluginhelper.h @@ -30,25 +30,25 @@ class OWNCLOUDDOLPHINPLUGINHELPER_EXPORT OwncloudDolphinPluginHelper : public QO public: static OwncloudDolphinPluginHelper *instance(); - bool isConnected() const; + [[nodiscard]] bool isConnected() const; void sendCommand(const char *data); - QVector paths() const { return _paths; } + [[nodiscard]] QVector paths() const { return _paths; } - QString contextMenuTitle() const + [[nodiscard]] QString contextMenuTitle() const { return _strings.value("CONTEXT_MENU_TITLE", APPLICATION_NAME); } - QString shareActionTitle() const + [[nodiscard]] QString shareActionTitle() const { return _strings.value("SHARE_MENU_TITLE", "Share …"); } - QString contextMenuIconName() const + [[nodiscard]] QString contextMenuIconName() const { return _strings.value("CONTEXT_MENU_ICON", APPLICATION_ICON_NAME); } - QString copyPrivateLinkTitle() const { return _strings["COPY_PRIVATE_LINK_MENU_TITLE"]; } - QString emailPrivateLinkTitle() const { return _strings["EMAIL_PRIVATE_LINK_MENU_TITLE"]; } + [[nodiscard]] QString copyPrivateLinkTitle() const { return _strings["COPY_PRIVATE_LINK_MENU_TITLE"]; } + [[nodiscard]] QString emailPrivateLinkTitle() const { return _strings["EMAIL_PRIVATE_LINK_MENU_TITLE"]; } QByteArray version() { return _version; } diff --git a/src/3rdparty/QProgressIndicator/QProgressIndicator.h b/src/3rdparty/QProgressIndicator/QProgressIndicator.h index 5365161063973..f71946e8b14f4 100644 --- a/src/3rdparty/QProgressIndicator/QProgressIndicator.h +++ b/src/3rdparty/QProgressIndicator/QProgressIndicator.h @@ -48,27 +48,27 @@ class QProgressIndicator : public QWidget \return The number of milliseconds between animation steps. By default, the animation delay is set to 40 milliseconds. \sa setAnimationDelay */ - int animationDelay() const { return m_delay; } + [[nodiscard]] int animationDelay() const { return m_delay; } /*! Returns a Boolean value indicating whether the component is currently animated. \return Animation state. \sa startAnimation stopAnimation */ - bool isAnimated () const; + [[nodiscard]] bool isAnimated () const; /*! Returns a Boolean value indicating whether the receiver shows itself even when it is not animating. \return Return true if the progress indicator shows itself even when it is not animating. By default, it returns false. \sa setDisplayedWhenStopped */ - bool isDisplayedWhenStopped() const; + [[nodiscard]] bool isDisplayedWhenStopped() const; /*! Returns the color of the component. \sa setColor */ - const QColor & color() const { return m_color; } + [[nodiscard]] const QColor & color() const { return m_color; } - QSize sizeHint() const override; - int heightForWidth(int w) const override; + [[nodiscard]] QSize sizeHint() const override; + [[nodiscard]] int heightForWidth(int w) const override; public slots: /*! Starts the spin animation. \sa stopAnimation isAnimated diff --git a/src/3rdparty/kirigami/wheelhandler.h b/src/3rdparty/kirigami/wheelhandler.h index 114869465c8d8..41f6fb954ec64 100644 --- a/src/3rdparty/kirigami/wheelhandler.h +++ b/src/3rdparty/kirigami/wheelhandler.h @@ -111,13 +111,13 @@ class KirigamiWheelEvent : public QObject void initializeFromEvent(QWheelEvent *event); - qreal x() const; - qreal y() const; - QPointF angleDelta() const; - QPointF pixelDelta() const; - int buttons() const; - int modifiers() const; - bool inverted() const; + [[nodiscard]] qreal x() const; + [[nodiscard]] qreal y() const; + [[nodiscard]] QPointF angleDelta() const; + [[nodiscard]] QPointF pixelDelta() const; + [[nodiscard]] int buttons() const; + [[nodiscard]] int modifiers() const; + [[nodiscard]] bool inverted() const; bool isAccepted(); void setAccepted(bool accepted); @@ -192,7 +192,7 @@ class WheelHandler : public QObject explicit WheelHandler(QObject *parent = nullptr); ~WheelHandler() override; - QQuickItem *target() const; + [[nodiscard]] QQuickItem *target() const; void setTarget(QQuickItem *target); Q_SIGNALS: diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.cpp b/src/3rdparty/kmessagewidget/kmessagewidget.cpp index 595a5fa339532..29666a6c41261 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.cpp +++ b/src/3rdparty/kmessagewidget/kmessagewidget.cpp @@ -61,7 +61,7 @@ class KMessageWidgetPrivate void slotTimeLineChanged(qreal); void slotTimeLineFinished(); - int bestContentHeight() const; + [[nodiscard]] int bestContentHeight() const; }; void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.h b/src/3rdparty/kmessagewidget/kmessagewidget.h index cc2767bf960f6..6ace579c91977 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.h +++ b/src/3rdparty/kmessagewidget/kmessagewidget.h @@ -138,7 +138,7 @@ class KMessageWidget : public QFrame * Get the text of this message widget. * @see setText() */ - QString text() const; + [[nodiscard]] QString text() const; /** * Check whether word wrap is enabled. @@ -149,14 +149,14 @@ class KMessageWidget : public QFrame * * @see setWordWrap() */ - bool wordWrap() const; + [[nodiscard]] bool wordWrap() const; /** * Check whether the close button is visible. * * @see setCloseButtonVisible() */ - bool isCloseButtonVisible() const; + [[nodiscard]] bool isCloseButtonVisible() const; /** * Get the type of this message. @@ -164,7 +164,7 @@ class KMessageWidget : public QFrame * * @see KMessageWidget::MessageType, setMessageType() */ - MessageType messageType() const; + [[nodiscard]] MessageType messageType() const; /** * Add @p action to the message widget. @@ -187,24 +187,24 @@ class KMessageWidget : public QFrame /** * Returns the preferred size of the message widget. */ - QSize sizeHint() const override; + [[nodiscard]] QSize sizeHint() const override; /** * Returns the minimum size of the message widget. */ - QSize minimumSizeHint() const override; + [[nodiscard]] QSize minimumSizeHint() const override; /** * Returns the required height for @p width. * @param width the width in pixels */ - int heightForWidth(int width) const override; + [[nodiscard]] int heightForWidth(int width) const override; /** * The icon shown on the left of the text. By default, no icon is shown. * @since 4.11 */ - QIcon icon() const; + [[nodiscard]] QIcon icon() const; /** * Check whether the hide animation started by calling animatedHide() @@ -214,7 +214,7 @@ class KMessageWidget : public QFrame * @see animatedHide(), hideAnimationFinished() * @since 5.0 */ - bool isHideAnimationRunning() const; + [[nodiscard]] bool isHideAnimationRunning() const; /** * Check whether the show animation started by calling animatedShow() @@ -224,7 +224,7 @@ class KMessageWidget : public QFrame * @see animatedShow(), showAnimationFinished() * @since 5.0 */ - bool isShowAnimationRunning() const; + [[nodiscard]] bool isShowAnimationRunning() const; public Q_SLOTS: /** diff --git a/src/3rdparty/qtlockedfile/qtlockedfile.h b/src/3rdparty/qtlockedfile/qtlockedfile.h index 128cbf0ff9007..5e1b487a214f9 100644 --- a/src/3rdparty/qtlockedfile/qtlockedfile.h +++ b/src/3rdparty/qtlockedfile/qtlockedfile.h @@ -61,8 +61,8 @@ class QT_QTLOCKEDFILE_EXPORT QtLockedFile : public QFile bool lock(LockMode mode, bool block = true); bool unlock(); - bool isLocked() const; - LockMode lockMode() const; + [[nodiscard]] bool isLocked() const; + [[nodiscard]] LockMode lockMode() const; private: #ifdef Q_OS_WIN diff --git a/src/3rdparty/qtokenizer/qtokenizer.h b/src/3rdparty/qtokenizer/qtokenizer.h index c317c42a918fe..0eda45a660500 100644 --- a/src/3rdparty/qtokenizer/qtokenizer.h +++ b/src/3rdparty/qtokenizer/qtokenizer.h @@ -71,11 +71,11 @@ struct QTokenizerPrivate { { } - bool isDelimiter(char_type c) const { + [[nodiscard]] bool isDelimiter(char_type c) const { return delimiters.contains(c); } - bool isQuote(char_type c) const { + [[nodiscard]] bool isQuote(char_type c) const { return quotes.contains(c); } @@ -212,14 +212,14 @@ class QTokenizer { Returns true if the current token is a delimiter, if one more more delimiting characters have been set. */ - bool isDelimiter() const { return d->isDelim; } + [[nodiscard]] bool isDelimiter() const { return d->isDelim; } /*! Returns the current token. Use \c hasNext() to fetch the next token. */ - T next() const { + [[nodiscard]] T next() const { int len = std::distance(d->tokenBegin, d->tokenEnd); const_iterator tmpStart = d->tokenBegin; if (!d->returnQuotes && len > 1 && d->isQuote(*d->tokenBegin)) { diff --git a/src/3rdparty/qtsingleapplication/qtlocalpeer.h b/src/3rdparty/qtsingleapplication/qtlocalpeer.h index ce93a5e0ae9c3..684dfe8b1e075 100644 --- a/src/3rdparty/qtsingleapplication/qtlocalpeer.h +++ b/src/3rdparty/qtsingleapplication/qtlocalpeer.h @@ -43,7 +43,7 @@ class QtLocalPeer : public QObject explicit QtLocalPeer(QObject *parent = nullptr, const QString &appId = QString()); bool isClient(); bool sendMessage(const QString &message, int timeout, bool block); - QString applicationId() const + [[nodiscard]] QString applicationId() const { return id; } static QString appSessionId(const QString &appId); diff --git a/src/3rdparty/qtsingleapplication/qtsingleapplication.h b/src/3rdparty/qtsingleapplication/qtsingleapplication.h index 1fa8d9131491a..cb9c80b5dba89 100644 --- a/src/3rdparty/qtsingleapplication/qtsingleapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsingleapplication.h @@ -49,9 +49,9 @@ class QtSingleApplication : public QApplication bool isRunning(qint64 pid = -1); void setActivationWindow(QWidget* aw, bool activateOnMessage = true); - QWidget* activationWindow() const; + [[nodiscard]] QWidget* activationWindow() const; - QString applicationId() const; + [[nodiscard]] QString applicationId() const; void setBlock(bool value); public Q_SLOTS: diff --git a/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h b/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h index 15750321215e2..139f9d8587e30 100644 --- a/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h @@ -42,7 +42,7 @@ class QtSingleCoreApplication : public QCoreApplication QtSingleCoreApplication(const QString &id, int &argc, char **argv); bool isRunning(); - QString id() const; + [[nodiscard]] QString id() const; void setBlock(bool value); public Q_SLOTS: diff --git a/src/common/checksums.h b/src/common/checksums.h index 4fd40d78b9998..3c0e5528f2400 100644 --- a/src/common/checksums.h +++ b/src/common/checksums.h @@ -169,8 +169,8 @@ class OCSYNC_EXPORT ValidateChecksumHeader : public QObject */ void start(std::unique_ptr device, const QByteArray &checksumHeader); - QByteArray calculatedChecksumType() const; - QByteArray calculatedChecksum() const; + [[nodiscard]] QByteArray calculatedChecksumType() const; + [[nodiscard]] QByteArray calculatedChecksum() const; signals: void validated(const QByteArray &checksumType, const QByteArray &checksum); diff --git a/src/common/ownsql.h b/src/common/ownsql.h index d409dc827997e..47c87b2e893ac 100644 --- a/src/common/ownsql.h +++ b/src/common/ownsql.h @@ -50,7 +50,7 @@ class OCSYNC_EXPORT SqlDatabase bool transaction(); bool commit(); void close(); - QString error() const; + [[nodiscard]] QString error() const; sqlite3 *sqliteDb(); private: @@ -111,8 +111,8 @@ class OCSYNC_EXPORT SqlQuery int prepare(const QByteArray &sql, bool allow_failure = false); ~SqlQuery(); - QString error() const; - int errorId() const; + [[nodiscard]] QString error() const; + [[nodiscard]] int errorId() const; /// Checks whether the value at the given column index is NULL bool nullValue(int index); @@ -152,7 +152,7 @@ class OCSYNC_EXPORT SqlQuery bindValueInternal(pos, value); } - const QByteArray &lastQuery() const; + [[nodiscard]] const QByteArray &lastQuery() const; int numRowsAffected(); void reset_and_clear_bindings(); diff --git a/src/common/remotepermissions.h b/src/common/remotepermissions.h index e02738a602c2c..6d7c5663324c6 100644 --- a/src/common/remotepermissions.h +++ b/src/common/remotepermissions.h @@ -63,10 +63,10 @@ class OCSYNC_EXPORT RemotePermissions RemotePermissions() = default; /// array with one character per permission, "" is null, " " is non-null but empty - QByteArray toDbValue() const; + [[nodiscard]] QByteArray toDbValue() const; /// output for display purposes, no defined format (same as toDbValue in practice) - QString toString() const; + [[nodiscard]] QString toString() const; /// read value that was written with toDbValue() static RemotePermissions fromDbValue(const QByteArray &); @@ -74,7 +74,7 @@ class OCSYNC_EXPORT RemotePermissions /// read a permissions string received from the server, never null static RemotePermissions fromServerString(const QString &); - bool hasPermission(Permissions p) const + [[nodiscard]] bool hasPermission(Permissions p) const { return _value & (1 << static_cast(p)); } @@ -87,7 +87,7 @@ class OCSYNC_EXPORT RemotePermissions _value &= ~(1 << static_cast(p)); } - bool isNull() const { return !(_value & notNullMask); } + [[nodiscard]] bool isNull() const { return !(_value & notNullMask); } friend bool operator==(RemotePermissions a, RemotePermissions b) { return a._value == b._value; diff --git a/src/common/result.h b/src/common/result.h index 77a9d121c1227..129efa108164f 100644 --- a/src/common/result.h +++ b/src/common/result.h @@ -117,13 +117,13 @@ class Result return &_result; } - const T &get() const + [[nodiscard]] const T &get() const { ASSERT(!_isError) return _result; } - const Error &error() const & + [[nodiscard]] const Error &error() const & { ASSERT(_isError); return _error; @@ -134,7 +134,7 @@ class Result return std::move(_error); } - bool isValid() const { return !_isError; } + [[nodiscard]] bool isValid() const { return !_isError; } }; namespace detail { diff --git a/src/common/syncfilestatus.h b/src/common/syncfilestatus.h index 87ebb57e8279c..801fd9204f0aa 100644 --- a/src/common/syncfilestatus.h +++ b/src/common/syncfilestatus.h @@ -43,12 +43,12 @@ class OCSYNC_EXPORT SyncFileStatus SyncFileStatus(SyncFileStatusTag); void set(SyncFileStatusTag tag); - SyncFileStatusTag tag() const; + [[nodiscard]] SyncFileStatusTag tag() const; void setShared(bool isShared); - bool shared() const; + [[nodiscard]] bool shared() const; - QString toSocketAPIString() const; + [[nodiscard]] QString toSocketAPIString() const; private: SyncFileStatusTag _tag = StatusNone; diff --git a/src/common/syncjournaldb.h b/src/common/syncjournaldb.h index 327348ecbf8fb..a68a5d741ae27 100644 --- a/src/common/syncjournaldb.h +++ b/src/common/syncjournaldb.h @@ -93,7 +93,7 @@ class OCSYNC_EXPORT SyncJournalDb : public QObject bool exists(); void walCheckpoint(); - QString databaseFilePath() const; + [[nodiscard]] QString databaseFilePath() const; static qint64 getPHash(const QByteArray &); @@ -124,7 +124,7 @@ class OCSYNC_EXPORT SyncJournalDb : public QObject * (As opposed to a small file transfer which is stored in the db so we can detect the case * when the upload succeeded, but the connection was dropped before we got the answer) */ - bool isChunked() const { return _transferid != 0; } + [[nodiscard]] bool isChunked() const { return _transferid != 0; } }; struct PollInfo diff --git a/src/common/syncjournalfilerecord.h b/src/common/syncjournalfilerecord.h index 9f3e0b5187d48..13cf3ef8ae636 100644 --- a/src/common/syncjournalfilerecord.h +++ b/src/common/syncjournalfilerecord.h @@ -48,7 +48,7 @@ struct SyncJournalFileLockInfo { class OCSYNC_EXPORT SyncJournalFileRecord { public: - bool isValid() const + [[nodiscard]] bool isValid() const { return !_path.isEmpty(); } @@ -59,14 +59,14 @@ class OCSYNC_EXPORT SyncJournalFileRecord * * It is used in the construction of private links. */ - QByteArray numericFileId() const; - QDateTime modDateTime() const { return Utility::qDateTimeFromTime_t(_modtime); } + [[nodiscard]] QByteArray numericFileId() const; + [[nodiscard]] QDateTime modDateTime() const { return Utility::qDateTimeFromTime_t(_modtime); } - bool isDirectory() const { return _type == ItemTypeDirectory; } - bool isFile() const { return _type == ItemTypeFile || _type == ItemTypeVirtualFileDehydration; } - bool isVirtualFile() const { return _type == ItemTypeVirtualFile || _type == ItemTypeVirtualFileDownload; } - QString path() const { return QString::fromUtf8(_path); } - QString e2eMangledName() const { return QString::fromUtf8(_e2eMangledName); } + [[nodiscard]] bool isDirectory() const { return _type == ItemTypeDirectory; } + [[nodiscard]] bool isFile() const { return _type == ItemTypeFile || _type == ItemTypeVirtualFileDehydration; } + [[nodiscard]] bool isVirtualFile() const { return _type == ItemTypeVirtualFile || _type == ItemTypeVirtualFileDownload; } + [[nodiscard]] QString path() const { return QString::fromUtf8(_path); } + [[nodiscard]] QString e2eMangledName() const { return QString::fromUtf8(_e2eMangledName); } QByteArray _path; quint64 _inode = 0; @@ -120,7 +120,7 @@ class OCSYNC_EXPORT SyncJournalErrorBlacklistRecord /// The last X-Request-ID of the request that failled QByteArray _requestId; - bool isValid() const; + [[nodiscard]] bool isValid() const; }; /** Represents a conflict in the conflicts table. @@ -165,7 +165,7 @@ class OCSYNC_EXPORT ConflictRecord QByteArray initialBasePath; - bool isValid() const { return !path.isEmpty(); } + [[nodiscard]] bool isValid() const { return !path.isEmpty(); } }; } diff --git a/src/common/utility.cpp b/src/common/utility.cpp index 3adb9a4dec27b..b024822f70059 100644 --- a/src/common/utility.cpp +++ b/src/common/utility.cpp @@ -321,7 +321,7 @@ namespace { const char *name; quint64 msec; - QString description(quint64 value) const + [[nodiscard]] QString description(quint64 value) const { return QCoreApplication::translate("Utility", name, nullptr, value); } diff --git a/src/common/utility.h b/src/common/utility.h index 6179be9d53061..d4b1f2f2a7216 100644 --- a/src/common/utility.h +++ b/src/common/utility.h @@ -185,9 +185,9 @@ namespace Utility { void reset(); // out helpers, return the measured times. - QDateTime startTime() const; - QDateTime timeOfLap(const QString &lapName) const; - quint64 durationOfLap(const QString &lapName) const; + [[nodiscard]] QDateTime startTime() const; + [[nodiscard]] QDateTime timeOfLap(const QString &lapName) const; + [[nodiscard]] quint64 durationOfLap(const QString &lapName) const; }; /** diff --git a/src/common/vfs.h b/src/common/vfs.h index 572c297a4333b..f0d717079f779 100644 --- a/src/common/vfs.h +++ b/src/common/vfs.h @@ -131,13 +131,13 @@ class OCSYNC_EXPORT Vfs : public QObject explicit Vfs(QObject* parent = nullptr); ~Vfs() override; - virtual Mode mode() const = 0; + [[nodiscard]] virtual Mode mode() const = 0; /// For WithSuffix modes: the suffix (including the dot) - virtual QString fileSuffix() const = 0; + [[nodiscard]] virtual QString fileSuffix() const = 0; /// Access to the parameters the instance was start()ed with. - const VfsSetupParams ¶ms() const { return _setupParams; } + [[nodiscard]] const VfsSetupParams ¶ms() const { return _setupParams; } /** Initializes interaction with the VFS provider. @@ -158,13 +158,13 @@ class OCSYNC_EXPORT Vfs : public QObject * Some plugins might provide alternate shell integration, making the normal * context menu actions redundant. */ - virtual bool socketApiPinStateActionsShown() const = 0; + [[nodiscard]] virtual bool socketApiPinStateActionsShown() const = 0; /** Return true when download of a file's data is currently ongoing. * * See also the beginHydrating() and doneHydrating() signals. */ - virtual bool isHydrating() const = 0; + [[nodiscard]] virtual bool isHydrating() const = 0; /** Update placeholder metadata during discovery. * @@ -296,15 +296,15 @@ class OCSYNC_EXPORT VfsOff : public Vfs VfsOff(QObject* parent = nullptr); ~VfsOff() override; - Mode mode() const override { return Vfs::Off; } + [[nodiscard]] Mode mode() const override { return Vfs::Off; } - QString fileSuffix() const override { return QString(); } + [[nodiscard]] QString fileSuffix() const override { return QString(); } void stop() override {} void unregisterFolder() override {} - bool socketApiPinStateActionsShown() const override { return false; } - bool isHydrating() const override { return false; } + [[nodiscard]] bool socketApiPinStateActionsShown() const override { return false; } + [[nodiscard]] bool isHydrating() const override { return false; } Result updateMetadata(const QString &, time_t, qint64, const QByteArray &) override { return {}; } Result createPlaceholder(const SyncFileItem &) override { return {}; } diff --git a/src/csync/csync_exclude.h b/src/csync/csync_exclude.h index 558dea30b73de..d701401afe90b 100644 --- a/src/csync/csync_exclude.h +++ b/src/csync/csync_exclude.h @@ -94,7 +94,7 @@ class OCSYNC_EXPORT ExcludedFiles : public QObject * @param filePath the absolute path to the file * @param basePath folder path from which to apply exclude rules, ends with a / */ - bool isExcluded( + [[nodiscard]] bool isExcluded( const QString &filePath, const QString &basePath, bool excludeHidden) const; @@ -168,7 +168,7 @@ public slots: * * Would enable the "myexclude" pattern only for versions before 2.5.0. */ - bool versionDirectiveKeepNextLine(const QByteArray &directive) const; + [[nodiscard]] bool versionDirectiveKeepNextLine(const QByteArray &directive) const; /** * @brief Match the exclude pattern against the full path. @@ -178,7 +178,7 @@ public slots: * Note that this only matches patterns. It does not check whether the file * or directory pointed to is hidden (or whether it even exists). */ - CSYNC_EXCLUDE_TYPE fullPatternMatch(const QString &path, ItemType filetype) const; + [[nodiscard]] CSYNC_EXCLUDE_TYPE fullPatternMatch(const QString &path, ItemType filetype) const; // Our BasePath need to end with '/' class BasePathString : public QString diff --git a/src/gui/accountmanager.h b/src/gui/accountmanager.h index 0cec19053dc7a..2440f91a9bcc0 100644 --- a/src/gui/accountmanager.h +++ b/src/gui/accountmanager.h @@ -58,7 +58,7 @@ class AccountManager : public QObject * Return a list of all accounts. * (this is a list of QSharedPointer for internal reasons, one should normally not keep a copy of them) */ - QList accounts() const; + [[nodiscard]] QList accounts() const; /** * Return the account state pointer for an account identified by its display name @@ -89,8 +89,8 @@ class AccountManager : public QObject bool restoreFromLegacySettings(); - bool isAccountIdAvailable(const QString &id) const; - QString generateFreeAccountId() const; + [[nodiscard]] bool isAccountIdAvailable(const QString &id) const; + [[nodiscard]] QString generateFreeAccountId() const; // Adds an account to the tracked list, emitting accountAdded() void addAccountState(AccountState *accountState); diff --git a/src/gui/accountsettings.h b/src/gui/accountsettings.h index a9908138f99fc..8a2db31efc053 100644 --- a/src/gui/accountsettings.h +++ b/src/gui/accountsettings.h @@ -56,7 +56,7 @@ class AccountSettings : public QWidget public: explicit AccountSettings(AccountState *accountState, QWidget *parent = nullptr); ~AccountSettings() override; - QSize sizeHint() const override { return ownCloudGui::settingsDialogSize(); } + [[nodiscard]] QSize sizeHint() const override { return ownCloudGui::settingsDialogSize(); } bool canEncryptOrDecrypt(const FolderStatusModel::SubFolderInfo* folderInfo); signals: @@ -120,7 +120,7 @@ protected slots: void customizeStyle(); /// Returns the alias of the selected folder, empty string if none - QString selectedFolderAlias() const; + [[nodiscard]] QString selectedFolderAlias() const; Ui::AccountSettings *_ui; diff --git a/src/gui/accountstate.h b/src/gui/accountstate.h index 2e47fcf6e13aa..1c386e5117b8c 100644 --- a/src/gui/accountstate.h +++ b/src/gui/accountstate.h @@ -271,10 +271,10 @@ class AccountApp : public QObject const QString &id, const QUrl &iconUrl, QObject* parent = nullptr); - QString name() const; - QUrl url() const; - QString id() const; - QUrl iconUrl() const; + [[nodiscard]] QString name() const; + [[nodiscard]] QUrl url() const; + [[nodiscard]] QString id() const; + [[nodiscard]] QUrl iconUrl() const; private: QString _name; diff --git a/src/gui/application.h b/src/gui/application.h index edbb0b7121398..6c00f6a506c58 100644 --- a/src/gui/application.h +++ b/src/gui/application.h @@ -64,13 +64,13 @@ class Application : public SharedTools::QtSingleApplication void showHelp(); void showHint(std::string errorHint); bool debugMode(); - bool backgroundMode() const; + [[nodiscard]] bool backgroundMode() const; bool versionOnly(); // only display the version? void showVersion(); void showMainDialog(); - ownCloudGui *gui() const; + [[nodiscard]] ownCloudGui *gui() const; bool event(QEvent *event) override; diff --git a/src/gui/authenticationdialog.h b/src/gui/authenticationdialog.h index 3bd2183d785eb..8eb94db0e7585 100644 --- a/src/gui/authenticationdialog.h +++ b/src/gui/authenticationdialog.h @@ -31,8 +31,8 @@ class AuthenticationDialog : public QDialog public: AuthenticationDialog(const QString &realm, const QString &domain, QWidget *parent = nullptr); - QString user() const; - QString password() const; + [[nodiscard]] QString user() const; + [[nodiscard]] QString password() const; private: QLineEdit *_user; diff --git a/src/gui/callstatechecker.h b/src/gui/callstatechecker.h index 630099630e050..a599d2d6f6b13 100644 --- a/src/gui/callstatechecker.h +++ b/src/gui/callstatechecker.h @@ -32,9 +32,9 @@ class CallStateChecker : public QObject public: explicit CallStateChecker(QObject *parent = nullptr); - QString token() const; - AccountState* accountState() const; - bool checking() const; + [[nodiscard]] QString token() const; + [[nodiscard]] AccountState* accountState() const; + [[nodiscard]] bool checking() const; signals: void tokenChanged(); @@ -57,7 +57,7 @@ private slots: private: void setup(); void startCallStateCheck(); - bool isAccountServerVersion22OrLater() const; + [[nodiscard]] bool isAccountServerVersion22OrLater() const; AccountState *_accountState = nullptr; QString _token; diff --git a/src/gui/conflictdialog.h b/src/gui/conflictdialog.h index 5c5b763b48f89..b102b8de7797f 100644 --- a/src/gui/conflictdialog.h +++ b/src/gui/conflictdialog.h @@ -32,9 +32,9 @@ class ConflictDialog : public QDialog explicit ConflictDialog(QWidget *parent = nullptr); ~ConflictDialog() override; - QString baseFilename() const; - QString localVersionFilename() const; - QString remoteVersionFilename() const; + [[nodiscard]] QString baseFilename() const; + [[nodiscard]] QString localVersionFilename() const; + [[nodiscard]] QString remoteVersionFilename() const; public slots: void setBaseFilename(const QString &baseFilename); diff --git a/src/gui/conflictsolver.h b/src/gui/conflictsolver.h index caf4f2286742c..b000e78dcc2f7 100644 --- a/src/gui/conflictsolver.h +++ b/src/gui/conflictsolver.h @@ -35,8 +35,8 @@ class ConflictSolver : public QObject explicit ConflictSolver(QWidget *parent = nullptr); - QString localVersionFilename() const; - QString remoteVersionFilename() const; + [[nodiscard]] QString localVersionFilename() const; + [[nodiscard]] QString remoteVersionFilename() const; bool exec(Solution solution); diff --git a/src/gui/creds/flow2auth.h b/src/gui/creds/flow2auth.h index 3ac1cd0cd1595..890a04f3062b3 100644 --- a/src/gui/creds/flow2auth.h +++ b/src/gui/creds/flow2auth.h @@ -51,7 +51,7 @@ class Flow2Auth : public QObject void start(); void openBrowser(); void copyLinkToClipboard(); - QUrl authorisationLink() const; + [[nodiscard]] QUrl authorisationLink() const; signals: /** diff --git a/src/gui/creds/httpcredentialsgui.h b/src/gui/creds/httpcredentialsgui.h index fd4161dbb2a02..df059a0a7b3ac 100644 --- a/src/gui/creds/httpcredentialsgui.h +++ b/src/gui/creds/httpcredentialsgui.h @@ -54,7 +54,7 @@ class HttpCredentialsGui : public HttpCredentials * In case of oauth, return an URL to the link to open the browser. * An invalid URL otherwise */ - QUrl authorisationLink() const { return _asyncAuth ? _asyncAuth->authorisationLink() : QUrl(); } + [[nodiscard]] QUrl authorisationLink() const { return _asyncAuth ? _asyncAuth->authorisationLink() : QUrl(); } static QString requestAppPasswordText(const Account *account); diff --git a/src/gui/creds/oauth.h b/src/gui/creds/oauth.h index 0fa543b5e1889..c07cdbc8697ee 100644 --- a/src/gui/creds/oauth.h +++ b/src/gui/creds/oauth.h @@ -55,7 +55,7 @@ class OAuth : public QObject Q_ENUM(Result); void start(); bool openBrowser(); - QUrl authorisationLink() const; + [[nodiscard]] QUrl authorisationLink() const; signals: /** diff --git a/src/gui/creds/webflowcredentials.h b/src/gui/creds/webflowcredentials.h index 4bdf445f27be1..fffc11330fb47 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -43,12 +43,12 @@ class WebFlowCredentials : public AbstractCredentials const QSslKey &key = QSslKey(), const QList &caCertificates = QList()); - QString authType() const override; - QString user() const override; - QString password() const override; - QNetworkAccessManager *createQNAM() const override; + [[nodiscard]] QString authType() const override; + [[nodiscard]] QString user() const override; + [[nodiscard]] QString password() const override; + [[nodiscard]] QNetworkAccessManager *createQNAM() const override; - bool ready() const override; + [[nodiscard]] bool ready() const override; void fetchFromKeychain() override; void askFromUser() override; diff --git a/src/gui/creds/webflowcredentialsdialog.h b/src/gui/creds/webflowcredentialsdialog.h index 35fb6b3bb6aa0..a965dcbde8fcd 100644 --- a/src/gui/creds/webflowcredentialsdialog.h +++ b/src/gui/creds/webflowcredentialsdialog.h @@ -28,7 +28,7 @@ class WebFlowCredentialsDialog : public QDialog void setInfo(const QString &msg); void setError(const QString &error); - bool isUsingFlow2() const { + [[nodiscard]] bool isUsingFlow2() const { return _useFlow2; } diff --git a/src/gui/elidedlabel.h b/src/gui/elidedlabel.h index e101a65dae4cf..7938ff5251795 100644 --- a/src/gui/elidedlabel.h +++ b/src/gui/elidedlabel.h @@ -28,10 +28,10 @@ class ElidedLabel : public QLabel explicit ElidedLabel(const QString &text, QWidget *parent = nullptr); void setText(const QString &text); - const QString &text() const { return _text; } + [[nodiscard]] const QString &text() const { return _text; } void setElideMode(Qt::TextElideMode elideMode); - Qt::TextElideMode elideMode() const { return _elideMode; } + [[nodiscard]] Qt::TextElideMode elideMode() const { return _elideMode; } protected: void resizeEvent(QResizeEvent *event) override; diff --git a/src/gui/emojimodel.h b/src/gui/emojimodel.h index 2d35305d4644f..f67d9569db7f6 100644 --- a/src/gui/emojimodel.h +++ b/src/gui/emojimodel.h @@ -62,9 +62,9 @@ struct Emoji class EmojiCategoriesModel : public QAbstractListModel { public: - QVariant data(const QModelIndex &index, int role) const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QHash roleNames() const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QHash roleNames() const override; private: enum Roles { @@ -105,11 +105,11 @@ class EmojiModel : public QObject { } - Q_INVOKABLE QVariantList history() const; + Q_INVOKABLE [[nodiscard]] QVariantList history() const; Q_INVOKABLE void setCategory(const QString &category); Q_INVOKABLE void emojiUsed(const QVariant &modelData); - QVariantList model() const; + [[nodiscard]] QVariantList model() const; QAbstractListModel *emojiCategoriesModel(); signals: diff --git a/src/gui/folder.h b/src/gui/folder.h index 87e4e7a4c8ca2..21766831150e7 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -92,7 +92,7 @@ class FolderDefinition static QString prepareTargetPath(const QString &path); /// journalPath relative to localPath. - QString absoluteJournalPath() const; + [[nodiscard]] QString absoluteJournalPath() const; /// Returns the relative journal path that's appropriate for this folder and account. QString defaultJournalPath(AccountPtr account); diff --git a/src/gui/folderman.h b/src/gui/folderman.h index 985fcb50b7293..9c4e9544ed480 100644 --- a/src/gui/folderman.h +++ b/src/gui/folderman.h @@ -83,7 +83,7 @@ class FolderMan : public QObject */ static void backwardMigrationSettingsKeys(QStringList *deleteKeys, QStringList *ignoreKeys); - const Folder::Map &map() const; + [[nodiscard]] const Folder::Map &map() const; /** Adds a folder for an account, ensures the journal is gone and saves it in the settings. */ @@ -144,7 +144,7 @@ class FolderMan : public QObject * * @returns an empty string and PathValidityResult::Valid if it is allowed, or an error if it is not allowed */ - QPair checkPathValidityForNewFolder(const QString &path, const QUrl &serverUrl = QUrl()) const; + [[nodiscard]] QPair checkPathValidityForNewFolder(const QString &path, const QUrl &serverUrl = QUrl()) const; /** * Attempts to find a non-existing, acceptable path for creating a new sync folder. @@ -155,7 +155,7 @@ class FolderMan : public QObject * subfolder of ~ would be a good candidate. When that happens \a basePath * is returned. */ - QString findGoodPathForNewSyncFolder(const QString &basePath, const QUrl &serverUrl) const; + [[nodiscard]] QString findGoodPathForNewSyncFolder(const QString &basePath, const QUrl &serverUrl) const; /** * While ignoring hidden files can theoretically be switched per folder, @@ -163,13 +163,13 @@ class FolderMan : public QObject * at once. * These helper functions can be removed once it's properly per-folder. */ - bool ignoreHiddenFiles() const; + [[nodiscard]] bool ignoreHiddenFiles() const; void setIgnoreHiddenFiles(bool ignore); /** * Access to the current queue of scheduled folders. */ - QQueue scheduleQueue() const; + [[nodiscard]] QQueue scheduleQueue() const; /** * Access to the currently syncing folder. @@ -179,7 +179,7 @@ class FolderMan : public QObject * * See also isAnySyncRunning() */ - Folder *currentSyncFolder() const; + [[nodiscard]] Folder *currentSyncFolder() const; /** * Returns true if any folder is currently syncing. @@ -187,7 +187,7 @@ class FolderMan : public QObject * This might be a FolderMan-scheduled sync, or a externally * managed sync like a placeholder hydration. */ - bool isAnySyncRunning() const; + [[nodiscard]] bool isAnySyncRunning() const; /** Removes all folders */ int unloadAndDeleteAllFolders(); @@ -324,7 +324,7 @@ private slots: // finds all folder configuration files // and create the folders - QString getBackupName(QString fullPathName) const; + [[nodiscard]] QString getBackupName(QString fullPathName) const; // makes the folder known to the socket api void registerFolderWithSocketApi(Folder *folder); @@ -339,7 +339,7 @@ private slots: bool pushNotificationsFilesReady(Account *account); - bool isSwitchToVfsNeeded(const FolderDefinition &folderDefinition) const; + [[nodiscard]] bool isSwitchToVfsNeeded(const FolderDefinition &folderDefinition) const; QSet _disabledFolders; Folder::Map _folderMap; diff --git a/src/gui/folderstatusdelegate.h b/src/gui/folderstatusdelegate.h index 63c2903a882a1..a8ed1c41de3b4 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -52,7 +52,7 @@ class FolderStatusDelegate : public QStyledItemDelegate }; void paint(QPainter *, const QStyleOptionViewItem &, const QModelIndex &) const override; - QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const override; + [[nodiscard]] QSize sizeHint(const QStyleOptionViewItem &, const QModelIndex &) const override; bool editorEvent(QEvent *event, QAbstractItemModel *model, const QStyleOptionViewItem &option, const QModelIndex &index) override; diff --git a/src/gui/folderstatusmodel.h b/src/gui/folderstatusmodel.h index 9896d5644efc8..914406f3acec9 100644 --- a/src/gui/folderstatusmodel.h +++ b/src/gui/folderstatusmodel.h @@ -45,17 +45,17 @@ class FolderStatusModel : public QAbstractItemModel ~FolderStatusModel() override; void setAccountState(const AccountState *accountState); - Qt::ItemFlags flags(const QModelIndex &) const override; - QVariant data(const QModelIndex &index, int role) const override; + [[nodiscard]] Qt::ItemFlags flags(const QModelIndex &) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role) const override; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; - int columnCount(const QModelIndex &parent = QModelIndex()) const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override; - QModelIndex parent(const QModelIndex &child) const override; - bool canFetchMore(const QModelIndex &parent) const override; + [[nodiscard]] int columnCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QModelIndex index(int row, int column = 0, const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QModelIndex parent(const QModelIndex &child) const override; + [[nodiscard]] bool canFetchMore(const QModelIndex &parent) const override; void fetchMore(const QModelIndex &parent) override; void resetAndFetch(const QModelIndex &parent); - bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] bool hasChildren(const QModelIndex &parent = QModelIndex()) const override; struct SubFolderInfo { @@ -81,14 +81,14 @@ class FolderStatusModel : public QAbstractItemModel Qt::CheckState _checked = Qt::Checked; // Whether this has a FetchLabel subrow - bool hasLabel() const; + [[nodiscard]] bool hasLabel() const; // Reset all subfolders and fetch status void resetSubs(FolderStatusModel *model, QModelIndex index); struct Progress { - bool isNull() const + [[nodiscard]] bool isNull() const { return _progressString.isEmpty() && _warningCount == 0 && _overallSyncString.isEmpty(); } @@ -106,9 +106,9 @@ class FolderStatusModel : public QAbstractItemModel SubFolder, AddButton, FetchLabel }; - ItemType classify(const QModelIndex &index) const; - SubFolderInfo *infoForIndex(const QModelIndex &index) const; - bool isAnyAncestorEncrypted(const QModelIndex &index) const; + [[nodiscard]] ItemType classify(const QModelIndex &index) const; + [[nodiscard]] SubFolderInfo *infoForIndex(const QModelIndex &index) const; + [[nodiscard]] bool isAnyAncestorEncrypted(const QModelIndex &index) const; // If the selective sync check boxes were changed bool isDirty() { return _dirty; } @@ -142,7 +142,7 @@ private slots: void slotShowFetchProgress(); private: - QStringList createBlackList(const OCC::FolderStatusModel::SubFolderInfo &root, + [[nodiscard]] QStringList createBlackList(const OCC::FolderStatusModel::SubFolderInfo &root, const QStringList &oldBlackList) const; const AccountState *_accountState = nullptr; bool _dirty = false; // If the selective sync checkboxes were changed diff --git a/src/gui/folderstatusview.h b/src/gui/folderstatusview.h index c4efe38830ce1..f123672f69fd7 100644 --- a/src/gui/folderstatusview.h +++ b/src/gui/folderstatusview.h @@ -30,8 +30,8 @@ class FolderStatusView : public QTreeView public: explicit FolderStatusView(QWidget *parent = nullptr); - QModelIndex indexAt(const QPoint &point) const override; - QRect visualRect(const QModelIndex &index) const override; + [[nodiscard]] QModelIndex indexAt(const QPoint &point) const override; + [[nodiscard]] QRect visualRect(const QModelIndex &index) const override; }; } // namespace OCC diff --git a/src/gui/folderwatcher.h b/src/gui/folderwatcher.h index 9972dd50f0ffe..957f8a0359a24 100644 --- a/src/gui/folderwatcher.h +++ b/src/gui/folderwatcher.h @@ -70,7 +70,7 @@ class FolderWatcher : public QObject * For example, this can happen on linux if the inotify user limit from * /proc/sys/fs/inotify/max_user_watches is exceeded. */ - bool isReliable() const; + [[nodiscard]] bool isReliable() const; /** * Triggers a change in the path and verifies a notification arrives. @@ -81,7 +81,7 @@ class FolderWatcher : public QObject void startNotificatonTest(const QString &path); /// For testing linux behavior only - int testLinuxWatchCount() const; + [[nodiscard]] int testLinuxWatchCount() const; signals: /** Emitted when one of the watched directories or one diff --git a/src/gui/folderwatcher_linux.h b/src/gui/folderwatcher_linux.h index 620e037ed94ea..f251456eab813 100644 --- a/src/gui/folderwatcher_linux.h +++ b/src/gui/folderwatcher_linux.h @@ -39,7 +39,7 @@ class FolderWatcherPrivate : public QObject FolderWatcherPrivate(FolderWatcher *p, const QString &path); ~FolderWatcherPrivate() override; - int testWatchCount() const { return _pathToWatch.size(); } + [[nodiscard]] int testWatchCount() const { return _pathToWatch.size(); } /// On linux the watcher is ready when the ctor finished. bool _ready = true; diff --git a/src/gui/folderwizard.h b/src/gui/folderwizard.h index 72b83e3e3a1f2..fb60caca39eb6 100644 --- a/src/gui/folderwizard.h +++ b/src/gui/folderwizard.h @@ -41,7 +41,7 @@ class FormatWarningsWizardPage : public QWizardPage { Q_OBJECT protected: - QString formatWarnings(const QStringList &warnings) const; + [[nodiscard]] QString formatWarnings(const QStringList &warnings) const; }; /** @@ -55,7 +55,7 @@ class FolderWizardLocalPath : public FormatWarningsWizardPage explicit FolderWizardLocalPath(const AccountPtr &account); ~FolderWizardLocalPath() override; - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; void initializePage() override; void cleanupPage() override; @@ -88,7 +88,7 @@ class FolderWizardRemotePath : public FormatWarningsWizardPage explicit FolderWizardRemotePath(const AccountPtr &account); ~FolderWizardRemotePath() override; - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; void initializePage() override; void cleanupPage() override; diff --git a/src/gui/generalsettings.h b/src/gui/generalsettings.h index acc8793a9e794..94688c078b860 100644 --- a/src/gui/generalsettings.h +++ b/src/gui/generalsettings.h @@ -39,7 +39,7 @@ class GeneralSettings : public QWidget public: explicit GeneralSettings(QWidget *parent = nullptr); ~GeneralSettings() override; - QSize sizeHint() const override; + [[nodiscard]] QSize sizeHint() const override; public slots: void slotStyleChanged(); diff --git a/src/gui/navigationpanehelper.h b/src/gui/navigationpanehelper.h index bb2510ddf635c..4a0d493ba10d2 100644 --- a/src/gui/navigationpanehelper.h +++ b/src/gui/navigationpanehelper.h @@ -29,7 +29,7 @@ class NavigationPaneHelper : public QObject public: NavigationPaneHelper(FolderMan *folderMan); - bool showInExplorerNavigationPane() const { return _showInExplorerNavigationPane; } + [[nodiscard]] bool showInExplorerNavigationPane() const { return _showInExplorerNavigationPane; } void setShowInExplorerNavigationPane(bool show); void scheduleUpdateCloudStorageRegistry(); diff --git a/src/gui/networksettings.h b/src/gui/networksettings.h index 97b892731b1b8..8e3a97c446b6d 100644 --- a/src/gui/networksettings.h +++ b/src/gui/networksettings.h @@ -35,7 +35,7 @@ class NetworkSettings : public QWidget public: explicit NetworkSettings(QWidget *parent = nullptr); ~NetworkSettings() override; - QSize sizeHint() const override; + [[nodiscard]] QSize sizeHint() const override; private slots: void saveProxySettings(); diff --git a/src/gui/passwordinputdialog.h b/src/gui/passwordinputdialog.h index 50528a252c964..614bcbdf74c9a 100644 --- a/src/gui/passwordinputdialog.h +++ b/src/gui/passwordinputdialog.h @@ -30,7 +30,7 @@ class PasswordInputDialog : public QDialog explicit PasswordInputDialog(const QString &description, const QString &error, QWidget *parent = nullptr); ~PasswordInputDialog() override; - QString password() const; + [[nodiscard]] QString password() const; private: std::unique_ptr _ui; diff --git a/src/gui/proxyauthdialog.h b/src/gui/proxyauthdialog.h index 63a262b8a4c1f..75b2ff70a532f 100644 --- a/src/gui/proxyauthdialog.h +++ b/src/gui/proxyauthdialog.h @@ -38,8 +38,8 @@ class ProxyAuthDialog : public QDialog void setProxyAddress(const QString &address); - QString username() const; - QString password() const; + [[nodiscard]] QString username() const; + [[nodiscard]] QString password() const; /// Resets the dialog for new credential entry. void reset(); diff --git a/src/gui/proxyauthhandler.h b/src/gui/proxyauthhandler.h index 06d28a62affea..df9d133c416fa 100644 --- a/src/gui/proxyauthhandler.h +++ b/src/gui/proxyauthhandler.h @@ -77,8 +77,8 @@ private slots: int &counter, const QEventLoop::ProcessEventsFlags flags = QEventLoop::AllEvents); - QString keychainUsernameKey() const; - QString keychainPasswordKey() const; + [[nodiscard]] QString keychainUsernameKey() const; + [[nodiscard]] QString keychainPasswordKey() const; /// The hostname:port of the current proxy, used for detecting switches /// to a different proxy. diff --git a/src/gui/selectivesyncdialog.h b/src/gui/selectivesyncdialog.h index d4ecd07e8522c..d44b957c5d58f 100644 --- a/src/gui/selectivesyncdialog.h +++ b/src/gui/selectivesyncdialog.h @@ -43,7 +43,7 @@ class SelectiveSyncWidget : public QWidget /** Returns the oldBlackList passed into setFolderInfo(), except that * a "/" entry is expanded to all top-level folder names. */ - QStringList oldBlackList() const; + [[nodiscard]] QStringList oldBlackList() const; // Estimates the total size of checked items (recursively) qint64 estimatedSize(QTreeWidgetItem *root = nullptr); @@ -52,7 +52,7 @@ class SelectiveSyncWidget : public QWidget void setFolderInfo(const QString &folderPath, const QString &rootName, const QStringList &oldBlackList = QStringList()); - QSize sizeHint() const override; + [[nodiscard]] QSize sizeHint() const override; private slots: void slotUpdateDirectories(QStringList); @@ -102,8 +102,8 @@ class SelectiveSyncDialog : public QDialog void accept() override; - QStringList createBlackList() const; - QStringList oldBlackList() const; + [[nodiscard]] QStringList createBlackList() const; + [[nodiscard]] QStringList oldBlackList() const; // Estimate the size of the total of sync'ed files from the server qint64 estimatedSize(); diff --git a/src/gui/sharee.h b/src/gui/sharee.h index 2e69552c8eedc..b1aa8f2c2c17f 100644 --- a/src/gui/sharee.h +++ b/src/gui/sharee.h @@ -50,10 +50,10 @@ class Sharee const QString displayName, const Type type); - QString format() const; - QString shareWith() const; - QString displayName() const; - Type type() const; + [[nodiscard]] QString format() const; + [[nodiscard]] QString shareWith() const; + [[nodiscard]] QString displayName() const; + [[nodiscard]] Type type() const; private: QString _shareWith; @@ -75,12 +75,12 @@ class ShareeModel : public QAbstractListModel using ShareeSet = QVector>; // FIXME: make it a QSet when Sharee can be compared void fetch(const QString &search, const ShareeSet &blacklist, LookupMode lookupMode); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role) const override; QSharedPointer getSharee(int at); - QString currentSearch() const { return _search; } + [[nodiscard]] QString currentSearch() const { return _search; } signals: void shareesReady(); diff --git a/src/gui/sharelinkwidget.h b/src/gui/sharelinkwidget.h index 186b6fe2b4e3a..7ecd9691e443e 100644 --- a/src/gui/sharelinkwidget.h +++ b/src/gui/sharelinkwidget.h @@ -113,7 +113,7 @@ private slots: void confirmAndDeleteShare(); /** Retrieve a share's name, accounting for _namesSupported */ - QString shareName() const; + [[nodiscard]] QString shareName() const; void customizeStyle(); diff --git a/src/gui/sharemanager.h b/src/gui/sharemanager.h index a69ec449d985e..16d2e47c3ded4 100644 --- a/src/gui/sharemanager.h +++ b/src/gui/sharemanager.h @@ -70,39 +70,39 @@ class Share : public QObject /** * The account the share is defined on. */ - AccountPtr account() const; + [[nodiscard]] AccountPtr account() const; - QString path() const; + [[nodiscard]] QString path() const; /* * Get the id */ - QString getId() const; + [[nodiscard]] QString getId() const; /* * Get the uid_owner */ - QString getUidOwner() const; + [[nodiscard]] QString getUidOwner() const; /* * Get the owner display name */ - QString getOwnerDisplayName() const; + [[nodiscard]] QString getOwnerDisplayName() const; /* * Get the shareType */ - ShareType getShareType() const; + [[nodiscard]] ShareType getShareType() const; /* * Get the shareWith */ - QSharedPointer getShareWith() const; + [[nodiscard]] QSharedPointer getShareWith() const; /* * Get permissions */ - Permissions getPermissions() const; + [[nodiscard]] Permissions getPermissions() const; /* * Set the permissions of a share @@ -120,7 +120,7 @@ class Share : public QObject */ void setPassword(const QString &password); - bool isPasswordSet() const; + [[nodiscard]] bool isPasswordSet() const; /* * Deletes a share @@ -189,37 +189,37 @@ class LinkShare : public Share /* * Get the share link */ - QUrl getLink() const; + [[nodiscard]] QUrl getLink() const; /* * The share's link for direct downloading. */ - QUrl getDirectDownloadLink() const; + [[nodiscard]] QUrl getDirectDownloadLink() const; /* * Get the publicUpload status of this share */ - bool getPublicUpload() const; + [[nodiscard]] bool getPublicUpload() const; /* * Whether directory listings are available (READ permission) */ - bool getShowFileListing() const; + [[nodiscard]] bool getShowFileListing() const; /* * Returns the name of the link share. Can be empty. */ - QString getName() const; + [[nodiscard]] QString getName() const; /* * Returns the note of the link share. */ - QString getNote() const; + [[nodiscard]] QString getNote() const; /* * Returns the label of the link share. */ - QString getLabel() const; + [[nodiscard]] QString getLabel() const; /* * Set the name of the link share. @@ -236,12 +236,12 @@ class LinkShare : public Share /* * Returns the token of the link share. */ - QString getToken() const; + [[nodiscard]] QString getToken() const; /* * Get the expiration date */ - QDate getExpireDate() const; + [[nodiscard]] QDate getExpireDate() const; /* * Set the expiration date @@ -302,13 +302,13 @@ class UserGroupShare : public Share void setNote(const QString ¬e); - QString getNote() const; + [[nodiscard]] QString getNote() const; void slotNoteSet(const QJsonDocument &, const QVariant ¬e); void setExpireDate(const QDate &date); - QDate getExpireDate() const; + [[nodiscard]] QDate getExpireDate() const; void slotExpireDateSet(const QJsonDocument &reply, const QVariant &value); diff --git a/src/gui/shareusergroupwidget.h b/src/gui/shareusergroupwidget.h index 512c5f7cab9bf..96132005e5f55 100644 --- a/src/gui/shareusergroupwidget.h +++ b/src/gui/shareusergroupwidget.h @@ -150,7 +150,7 @@ class ShareUserLine : public QWidget QWidget *parent = nullptr); ~ShareUserLine() override; - QSharedPointer share() const; + [[nodiscard]] QSharedPointer share() const; signals: void visualDeletionDone(); @@ -194,8 +194,8 @@ private slots: void setDefaultAvatar(int avatarSize); void customizeStyle(); - QPixmap pixmapForShareeType(Sharee::Type type, const QColor &backgroundColor = QColor()) const; - QColor backgroundColorForShareeType(Sharee::Type type) const; + [[nodiscard]] QPixmap pixmapForShareeType(Sharee::Type type, const QColor &backgroundColor = QColor()) const; + [[nodiscard]] QColor backgroundColorForShareeType(Sharee::Type type) const; void showNoteOptions(bool show); void toggleNoteOptions(bool enable); @@ -211,8 +211,8 @@ private slots: void enableProgessIndicatorAnimation(bool enable); void disableProgessIndicatorAnimation(); - QDate maxExpirationDateForShare(const Share::ShareType type, const QDate &fallbackDate) const; - bool enforceExpirationDateForShare(const Share::ShareType type) const; + [[nodiscard]] QDate maxExpirationDateForShare(const Share::ShareType type, const QDate &fallbackDate) const; + [[nodiscard]] bool enforceExpirationDateForShare(const Share::ShareType type) const; Ui::ShareUserLine *_ui; AccountPtr _account; diff --git a/src/gui/shellextensionsserver.h b/src/gui/shellextensionsserver.h index 0699219bae168..50df905ac0509 100644 --- a/src/gui/shellextensionsserver.h +++ b/src/gui/shellextensionsserver.h @@ -29,7 +29,7 @@ class ShellExtensionsServer : public QObject QSize size; QString folderAlias; - bool isValid() const { return !path.isEmpty() && !size.isEmpty() && !folderAlias.isEmpty(); } + [[nodiscard]] bool isValid() const { return !path.isEmpty() && !size.isEmpty() && !folderAlias.isEmpty(); } }; Q_OBJECT diff --git a/src/gui/socketapi/socketapi.h b/src/gui/socketapi/socketapi.h index 1f36d6cef08fb..f3529f870d492 100644 --- a/src/gui/socketapi/socketapi.h +++ b/src/gui/socketapi/socketapi.h @@ -83,12 +83,12 @@ private slots: struct FileData { static FileData get(const QString &localFile); - SyncFileStatus syncFileStatus() const; - SyncJournalFileRecord journalRecord() const; - FileData parentFolder() const; + [[nodiscard]] SyncFileStatus syncFileStatus() const; + [[nodiscard]] SyncJournalFileRecord journalRecord() const; + [[nodiscard]] FileData parentFolder() const; // Relative path of the file locally, without any vfs suffix - QString folderRelativePathNoVfsSuffix() const; + [[nodiscard]] QString folderRelativePathNoVfsSuffix() const; Folder *folder; // Absolute path of the file locally. (May be a virtual file) diff --git a/src/gui/socketapi/socketapi_p.h b/src/gui/socketapi/socketapi_p.h index 91724d6da16d0..729608c25601e 100644 --- a/src/gui/socketapi/socketapi_p.h +++ b/src/gui/socketapi/socketapi_p.h @@ -47,7 +47,7 @@ class BloomFilter hashBits.setBit((hash & 0xFFFF) % NumBits); // NOLINT it's uint all the way and the modulo puts us back in the 0..1023 range hashBits.setBit((hash >> 16) % NumBits); // NOLINT } - bool isHashMaybeStored(uint hash) const + [[nodiscard]] bool isHashMaybeStored(uint hash) const { return hashBits.testBit((hash & 0xFFFF) % NumBits) // NOLINT && hashBits.testBit((hash >> 16) % NumBits); // NOLINT @@ -147,8 +147,8 @@ class SocketApiJobV2 : public QObject void success(const QJsonObject &response) const; void failure(const QString &error) const; - const QJsonObject &arguments() const { return _arguments; } - QByteArray command() const { return _command; } + [[nodiscard]] const QJsonObject &arguments() const { return _arguments; } + [[nodiscard]] QByteArray command() const { return _command; } Q_SIGNALS: void finished() const; diff --git a/src/gui/sslerrordialog.h b/src/gui/sslerrordialog.h index 3275732609d73..597227e76ca75 100644 --- a/src/gui/sslerrordialog.h +++ b/src/gui/sslerrordialog.h @@ -52,13 +52,13 @@ class SslErrorDialog : public QDialog ~SslErrorDialog() override; bool checkFailingCertsKnown(const QList &errors); bool trustConnection(); - QList unknownCerts() const { return _unknownCerts; } + [[nodiscard]] QList unknownCerts() const { return _unknownCerts; } private: - QString styleSheet() const; + [[nodiscard]] QString styleSheet() const; bool _allTrusted; - QString certDiv(QSslCertificate) const; + [[nodiscard]] QString certDiv(QSslCertificate) const; QList _unknownCerts; QString _customConfigHandle; diff --git a/src/gui/systray.h b/src/gui/systray.h index 2b1db4ce2ad21..d8afe80662f18 100644 --- a/src/gui/systray.h +++ b/src/gui/systray.h @@ -140,16 +140,16 @@ private slots: void setupContextMenu(); - QScreen *currentScreen() const; - QRect currentScreenRect() const; - QPoint computeWindowReferencePoint() const; - QPoint computeNotificationReferencePoint(int spacing = 20, NotificationPosition position = NotificationPosition::Default) const; - QPoint calcTrayIconCenter() const; - TaskBarPosition taskbarOrientation() const; - QRect taskbarGeometry() const; - QRect computeWindowRect(int spacing, const QPoint &topLeft, const QPoint &bottomRight) const; - QPoint computeWindowPosition(int width, int height) const; - QPoint computeNotificationPosition(int width, int height, int spacing = 20, NotificationPosition position = NotificationPosition::Default) const; + [[nodiscard]] QScreen *currentScreen() const; + [[nodiscard]] QRect currentScreenRect() const; + [[nodiscard]] QPoint computeWindowReferencePoint() const; + [[nodiscard]] QPoint computeNotificationReferencePoint(int spacing = 20, NotificationPosition position = NotificationPosition::Default) const; + [[nodiscard]] QPoint calcTrayIconCenter() const; + [[nodiscard]] TaskBarPosition taskbarOrientation() const; + [[nodiscard]] QRect taskbarGeometry() const; + [[nodiscard]] QRect computeWindowRect(int spacing, const QPoint &topLeft, const QPoint &bottomRight) const; + [[nodiscard]] QPoint computeWindowPosition(int width, int height) const; + [[nodiscard]] QPoint computeNotificationPosition(int width, int height, int spacing = 20, NotificationPosition position = NotificationPosition::Default) const; bool _isOpen = false; bool _syncIsPaused = true; diff --git a/src/gui/tray/activitydata.h b/src/gui/tray/activitydata.h index 1a04049dd442c..f9d0562b313cb 100644 --- a/src/gui/tray/activitydata.h +++ b/src/gui/tray/activitydata.h @@ -158,7 +158,7 @@ class Activity */ - Identifier ident() const; + [[nodiscard]] Identifier ident() const; }; bool operator==(const Activity &rhs, const Activity &lhs); diff --git a/src/gui/tray/activitylistmodel.h b/src/gui/tray/activitylistmodel.h index 3274863ff5ef7..1c070487da918 100644 --- a/src/gui/tray/activitylistmodel.h +++ b/src/gui/tray/activitylistmodel.h @@ -83,25 +83,25 @@ class ActivityListModel : public QAbstractListModel explicit ActivityListModel(AccountState *accountState, QObject *parent = nullptr); - QVariant data(const QModelIndex &index, int role) const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; - bool canFetchMore(const QModelIndex &) const override; + [[nodiscard]] bool canFetchMore(const QModelIndex &) const override; void fetchMore(const QModelIndex &) override; ActivityList activityList() { return _finalList; } ActivityList errorsList() { return _notificationErrorsLists; } - AccountState *accountState() const; + [[nodiscard]] AccountState *accountState() const; - int currentItem() const; + [[nodiscard]] int currentItem() const; static constexpr quint32 maxActionButtons() { return MaxActionButtons; } - QString replyMessageSent(const Activity &activity) const; + [[nodiscard]] QString replyMessageSent(const Activity &activity) const; public slots: void slotRefreshActivity(); @@ -127,11 +127,11 @@ public slots: void sendNotificationRequest(const QString &accountName, const QString &link, const QByteArray &verb, int row); protected: - QHash roleNames() const override; + [[nodiscard]] QHash roleNames() const override; - bool currentlyFetching() const; + [[nodiscard]] bool currentlyFetching() const; - const ActivityList &finalList() const; // added for unit tests + [[nodiscard]] const ActivityList &finalList() const; // added for unit tests protected slots: void activitiesReceived(const QJsonDocument &json, int statusCode); @@ -151,7 +151,7 @@ private slots: static QVariantList convertLinksToActionButtons(const Activity &activity); static QVariant convertLinkToActionButton(const ActivityLink &activityLink); - bool canFetchActivities() const; + [[nodiscard]] bool canFetchActivities() const; void ingestActivities(const QJsonArray &activities); void appendMoreActivitiesAvailableEntry(); diff --git a/src/gui/tray/asyncimageresponse.h b/src/gui/tray/asyncimageresponse.h index c3327c4c0c857..e27c7b99c394a 100644 --- a/src/gui/tray/asyncimageresponse.h +++ b/src/gui/tray/asyncimageresponse.h @@ -22,7 +22,7 @@ class AsyncImageResponse : public QQuickImageResponse public: AsyncImageResponse(const QString &id, const QSize &requestedSize); void setImageAndEmitFinished(const QImage &image = {}); - QQuickTextureFactory *textureFactory() const override; + [[nodiscard]] QQuickTextureFactory *textureFactory() const override; private: void processNextImage(); diff --git a/src/gui/tray/sortedactivitylistmodel.h b/src/gui/tray/sortedactivitylistmodel.h index dc72a5f6370f3..4b69669213dc8 100644 --- a/src/gui/tray/sortedactivitylistmodel.h +++ b/src/gui/tray/sortedactivitylistmodel.h @@ -28,7 +28,7 @@ class SortedActivityListModel : public QSortFilterProxyModel public: explicit SortedActivityListModel(QObject *parent = nullptr); - ActivityListModel *activityListModel() const; + [[nodiscard]] ActivityListModel *activityListModel() const; signals: void activityListModelChanged(); @@ -37,7 +37,7 @@ public slots: void setActivityListModel(ActivityListModel *activityListModel); 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(); diff --git a/src/gui/tray/syncstatussummary.h b/src/gui/tray/syncstatussummary.h index b4d1bb91b899a..60138350879a2 100644 --- a/src/gui/tray/syncstatussummary.h +++ b/src/gui/tray/syncstatussummary.h @@ -39,11 +39,11 @@ class SyncStatusSummary : public QObject public: explicit SyncStatusSummary(QObject *parent = nullptr); - double syncProgress() const; - QUrl syncIcon() const; - bool syncing() const; - QString syncStatusString() const; - QString syncStatusDetailString() const; + [[nodiscard]] double syncProgress() const; + [[nodiscard]] QUrl syncIcon() const; + [[nodiscard]] bool syncing() const; + [[nodiscard]] QString syncStatusString() const; + [[nodiscard]] QString syncStatusDetailString() const; signals: void syncProgressChanged(); @@ -66,7 +66,7 @@ public slots: void setSyncStateForFolder(const Folder *folder); void markFolderAsError(const Folder *folder); void markFolderAsSuccess(const Folder *folder); - bool folderErrors() const; + [[nodiscard]] bool folderErrors() const; bool folderError(const Folder *folder) const; void clearFolderErrors(); void setSyncStateToConnectedState(); diff --git a/src/gui/tray/unifiedsearchresultslistmodel.h b/src/gui/tray/unifiedsearchresultslistmodel.h index c69a4ee8adfdd..4feadf2a333cc 100644 --- a/src/gui/tray/unifiedsearchresultslistmodel.h +++ b/src/gui/tray/unifiedsearchresultslistmodel.h @@ -70,20 +70,20 @@ class UnifiedSearchResultsListModel : public QAbstractListModel explicit UnifiedSearchResultsListModel(AccountState *accountState, QObject *parent = nullptr); - QVariant data(const QModelIndex &index, int role) const override; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; - bool isSearchInProgress() const; + [[nodiscard]] bool isSearchInProgress() const; - QString currentFetchMoreInProgressProviderId() const; - QString searchTerm() const; - QString errorString() const; - bool waitingForSearchTermEditEnd() const; + [[nodiscard]] QString currentFetchMoreInProgressProviderId() const; + [[nodiscard]] QString searchTerm() const; + [[nodiscard]] QString errorString() const; + [[nodiscard]] bool waitingForSearchTermEditEnd() const; Q_INVOKABLE void resultClicked(const QString &providerId, const QUrl &resourceUrl) const; Q_INVOKABLE void fetchMoreTriggerClicked(const QString &providerId); - QHash roleNames() const override; + [[nodiscard]] QHash roleNames() const override; private: void startSearch(); diff --git a/src/gui/tray/usermodel.h b/src/gui/tray/usermodel.h index 054802e3e71c5..5735eb995db73 100644 --- a/src/gui/tray/usermodel.h +++ b/src/gui/tray/usermodel.h @@ -41,37 +41,37 @@ class User : public QObject public: User(AccountStatePtr &account, const bool &isCurrent = false, QObject *parent = nullptr); - AccountPtr account() const; - AccountStatePtr accountState() const; + [[nodiscard]] AccountPtr account() const; + [[nodiscard]] AccountStatePtr accountState() const; - bool isConnected() const; - bool isCurrentUser() const; + [[nodiscard]] bool isConnected() const; + [[nodiscard]] bool isCurrentUser() const; void setCurrentUser(const bool &isCurrent); - Folder *getFolder() const; + [[nodiscard]] Folder *getFolder() const; ActivityListModel *getActivityModel(); - UnifiedSearchResultsListModel *getUnifiedSearchResultsListModel() const; + [[nodiscard]] UnifiedSearchResultsListModel *getUnifiedSearchResultsListModel() const; void openLocalFolder(); - QString name() const; - QString server(bool shortened = true) const; - bool hasLocalFolder() const; - bool serverHasTalk() const; - bool serverHasUserStatus() const; - AccountApp *talkApp() const; - bool hasActivities() const; - QColor accentColor() const; - QColor headerColor() const; - QColor headerTextColor() const; - AccountAppList appList() const; - QImage avatar() const; + [[nodiscard]] QString name() const; + [[nodiscard]] QString server(bool shortened = true) const; + [[nodiscard]] bool hasLocalFolder() const; + [[nodiscard]] bool serverHasTalk() const; + [[nodiscard]] bool serverHasUserStatus() const; + [[nodiscard]] AccountApp *talkApp() const; + [[nodiscard]] bool hasActivities() const; + [[nodiscard]] QColor accentColor() const; + [[nodiscard]] QColor headerColor() const; + [[nodiscard]] QColor headerTextColor() const; + [[nodiscard]] AccountAppList appList() const; + [[nodiscard]] QImage avatar() const; void login() const; void logout() const; void removeAccount() const; - QString avatarUrl() const; - bool isDesktopNotificationsAllowed() const; - UserStatus::OnlineStatus status() const; - QString statusMessage() const; - QUrl statusIcon() const; - QString statusEmoji() const; + [[nodiscard]] QString avatarUrl() const; + [[nodiscard]] bool isDesktopNotificationsAllowed() const; + [[nodiscard]] UserStatus::OnlineStatus status() const; + [[nodiscard]] QString statusMessage() const; + [[nodiscard]] QUrl statusIcon() const; + [[nodiscard]] QString statusEmoji() const; void processCompletedSyncItem(const Folder *folder, const SyncFileItemPtr &item); signals: @@ -117,10 +117,10 @@ public slots: void slotCheckExpiredActivities(); void connectPushNotifications() const; - bool checkPushNotificationsAreReady() const; + [[nodiscard]] bool checkPushNotificationsAreReady() const; bool isActivityOfCurrentAccount(const Folder *folder) const; - bool isUnsolvableConflict(const SyncFileItemPtr &item) const; + [[nodiscard]] bool isUnsolvableConflict(const SyncFileItemPtr &item) const; void showDesktopNotification(const QString &title, const QString &message, const long notificationId); @@ -156,18 +156,18 @@ class UserModel : public QAbstractListModel void addUser(AccountStatePtr &user, const bool &isCurrent = false); int currentUserIndex(); - int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; QImage avatarById(const int id); - User *currentUser() const; + [[nodiscard]] User *currentUser() const; int findUserIdForAccount(AccountState *account) const; Q_INVOKABLE int numUsers(); Q_INVOKABLE QString currentUserServer(); - int currentUserId() const; + [[nodiscard]] int currentUserId() const; Q_INVOKABLE bool isUserConnected(const int id); @@ -189,7 +189,7 @@ class UserModel : public QAbstractListModel IdRole }; - AccountAppList appList() const; + [[nodiscard]] AccountAppList appList() const; signals: void addAccount(); @@ -206,7 +206,7 @@ public slots: void removeAccount(const int id); protected: - QHash roleNames() const override; + [[nodiscard]] QHash roleNames() const override; private: static UserModel *_instance; @@ -232,9 +232,9 @@ class UserAppsModel : public QAbstractListModel static UserAppsModel *instance(); ~UserAppsModel() override = default; - int rowCount(const QModelIndex &parent = QModelIndex()) const override; + [[nodiscard]] int rowCount(const QModelIndex &parent = QModelIndex()) const override; - QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; + [[nodiscard]] QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; enum UserAppsRoles { NameRole = Qt::UserRole + 1, @@ -248,7 +248,7 @@ public slots: void openAppUrl(const QUrl &url); protected: - QHash roleNames() const override; + [[nodiscard]] QHash roleNames() const override; private: static UserAppsModel *_instance; diff --git a/src/gui/updater/ocupdater.h b/src/gui/updater/ocupdater.h index 15680f7988fc8..f857bb8325214 100644 --- a/src/gui/updater/ocupdater.h +++ b/src/gui/updater/ocupdater.h @@ -110,8 +110,8 @@ class OCUpdater : public Updater void checkForUpdate() override; - QString statusString(UpdateStatusStringFormat format = PlainText) const; - int downloadState() const; + [[nodiscard]] QString statusString(UpdateStatusStringFormat format = PlainText) const; + [[nodiscard]] int downloadState() const; void setDownloadState(DownloadState state); signals: @@ -133,9 +133,9 @@ private slots: protected: virtual void versionInfoArrived(const UpdateInfo &info) = 0; - bool updateSucceeded() const; - QNetworkAccessManager *qnam() const { return _accessManager; } - UpdateInfo updateInfo() const { return _updateInfo; } + [[nodiscard]] bool updateSucceeded() const; + [[nodiscard]] QNetworkAccessManager *qnam() const { return _accessManager; } + [[nodiscard]] UpdateInfo updateInfo() const { return _updateInfo; } private: QUrl _updateUrl; diff --git a/src/gui/updater/updateinfo.h b/src/gui/updater/updateinfo.h index a57c6f040205a..af2148f469beb 100644 --- a/src/gui/updater/updateinfo.h +++ b/src/gui/updater/updateinfo.h @@ -12,13 +12,13 @@ class UpdateInfo { public: void setVersion(const QString &v); - QString version() const; + [[nodiscard]] QString version() const; void setVersionString(const QString &v); - QString versionString() const; + [[nodiscard]] QString versionString() const; void setWeb(const QString &v); - QString web() const; + [[nodiscard]] QString web() const; void setDownloadUrl(const QString &v); - QString downloadUrl() const; + [[nodiscard]] QString downloadUrl() const; /** Parse XML object from DOM element. */ diff --git a/src/gui/userinfo.h b/src/gui/userinfo.h index c02ebabd941e1..1d2b8d27ac22e 100644 --- a/src/gui/userinfo.h +++ b/src/gui/userinfo.h @@ -70,8 +70,8 @@ class UserInfo : public QObject public: explicit UserInfo(OCC::AccountState *accountState, bool allowDisconnectedAccountState, bool fetchAvatarImage, QObject *parent = nullptr); - qint64 lastQuotaTotalBytes() const { return _lastQuotaTotalBytes; } - qint64 lastQuotaUsedBytes() const { return _lastQuotaUsedBytes; } + [[nodiscard]] qint64 lastQuotaTotalBytes() const { return _lastQuotaTotalBytes; } + [[nodiscard]] qint64 lastQuotaUsedBytes() const { return _lastQuotaUsedBytes; } /** * When the quotainfo is active, it requests the quota at regular interval. @@ -94,7 +94,7 @@ private Q_SLOTS: void fetchedLastInfo(UserInfo *userInfo); private: - bool canGetInfo() const; + [[nodiscard]] bool canGetInfo() const; QPointer _accountState; bool _allowDisconnectedAccountState; diff --git a/src/gui/userstatusselectormodel.h b/src/gui/userstatusselectormodel.h index 9137986416b9b..97d94478cd75a 100644 --- a/src/gui/userstatusselectormodel.h +++ b/src/gui/userstatusselectormodel.h @@ -89,11 +89,11 @@ class UserStatusSelectorModel : public QObject Q_REQUIRED_RESULT QString userStatusEmoji() const; void setUserStatusEmoji(const QString &emoji); - QVector predefinedStatuses() const; + [[nodiscard]] QVector predefinedStatuses() const; Q_REQUIRED_RESULT QVariantList clearStageTypes() const; Q_REQUIRED_RESULT QString clearAtDisplayString() const; - Q_INVOKABLE QString clearAtReadable(const UserStatus &status) const; + Q_INVOKABLE [[nodiscard]] QString clearAtReadable(const UserStatus &status) const; Q_REQUIRED_RESULT QString errorMessage() const; diff --git a/src/gui/wizard/abstractcredswizardpage.h b/src/gui/wizard/abstractcredswizardpage.h index d50a581089b73..a12ff6bea6018 100644 --- a/src/gui/wizard/abstractcredswizardpage.h +++ b/src/gui/wizard/abstractcredswizardpage.h @@ -29,7 +29,7 @@ class AbstractCredentialsWizardPage : public QWizardPage { public: void cleanupPage() override; - virtual AbstractCredentials *getCredentials() const = 0; + [[nodiscard]] virtual AbstractCredentials *getCredentials() const = 0; }; } // namespace OCC diff --git a/src/gui/wizard/flow2authcredspage.h b/src/gui/wizard/flow2authcredspage.h index 61f7317aa2630..1a87137689710 100644 --- a/src/gui/wizard/flow2authcredspage.h +++ b/src/gui/wizard/flow2authcredspage.h @@ -38,13 +38,13 @@ class Flow2AuthCredsPage : public AbstractCredentialsWizardPage public: Flow2AuthCredsPage(); - AbstractCredentials *getCredentials() const override; + [[nodiscard]] AbstractCredentials *getCredentials() const override; void initializePage() override; void cleanupPage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; void setConnected(); - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; public Q_SLOTS: void slotFlow2AuthResult(Flow2Auth::Result, const QString &errorString, const QString &user, const QString &appPassword); diff --git a/src/gui/wizard/owncloudadvancedsetuppage.h b/src/gui/wizard/owncloudadvancedsetuppage.h index 0a715d27c3bcf..4de4b593e4918 100644 --- a/src/gui/wizard/owncloudadvancedsetuppage.h +++ b/src/gui/wizard/owncloudadvancedsetuppage.h @@ -38,14 +38,14 @@ class OwncloudAdvancedSetupPage : public QWizardPage public: OwncloudAdvancedSetupPage(OwncloudWizard *wizard); - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; void initializePage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; bool validatePage() override; - QString localFolder() const; - QStringList selectiveSyncBlacklist() const; - bool useVirtualFileSync() const; - bool isConfirmBigFolderChecked() const; + [[nodiscard]] QString localFolder() const; + [[nodiscard]] QStringList selectiveSyncBlacklist() const; + [[nodiscard]] bool useVirtualFileSync() const; + [[nodiscard]] bool isConfirmBigFolderChecked() const; void setRemoteFolder(const QString &remoteFolder); void setMultipleFoldersExist(bool exist); void directoriesCreated(); @@ -72,9 +72,9 @@ private slots: bool dataChanged(); void startSpinner(); void stopSpinner(); - QUrl serverUrl() const; - qint64 availableLocalSpace() const; - QString checkLocalSpace(qint64 remoteSize) const; + [[nodiscard]] QUrl serverUrl() const; + [[nodiscard]] qint64 availableLocalSpace() const; + [[nodiscard]] QString checkLocalSpace(qint64 remoteSize) const; void customizeStyle(); void setServerAddressLabelUrl(const QUrl &url); void styleSyncLogo(); diff --git a/src/gui/wizard/owncloudhttpcredspage.h b/src/gui/wizard/owncloudhttpcredspage.h index adc46117d91b8..915482b97513a 100644 --- a/src/gui/wizard/owncloudhttpcredspage.h +++ b/src/gui/wizard/owncloudhttpcredspage.h @@ -34,12 +34,12 @@ class OwncloudHttpCredsPage : public AbstractCredentialsWizardPage public: OwncloudHttpCredsPage(QWidget *parent); - AbstractCredentials *getCredentials() const override; + [[nodiscard]] AbstractCredentials *getCredentials() const override; void initializePage() override; void cleanupPage() override; bool validatePage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; void setConnected(); void setErrorString(const QString &err); diff --git a/src/gui/wizard/owncloudoauthcredspage.h b/src/gui/wizard/owncloudoauthcredspage.h index efbc9a69b3b22..339e97b025c4d 100644 --- a/src/gui/wizard/owncloudoauthcredspage.h +++ b/src/gui/wizard/owncloudoauthcredspage.h @@ -36,13 +36,13 @@ class OwncloudOAuthCredsPage : public AbstractCredentialsWizardPage public: OwncloudOAuthCredsPage(); - AbstractCredentials *getCredentials() const override; + [[nodiscard]] AbstractCredentials *getCredentials() const override; void initializePage() override; void cleanupPage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; void setConnected(); - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; public Q_SLOTS: void asyncAuthResult(OAuth::Result, const QString &user, const QString &token, diff --git a/src/gui/wizard/owncloudsetuppage.h b/src/gui/wizard/owncloudsetuppage.h index b4cee856da954..590bc289f6303 100644 --- a/src/gui/wizard/owncloudsetuppage.h +++ b/src/gui/wizard/owncloudsetuppage.h @@ -45,14 +45,14 @@ class OwncloudSetupPage : public QWizardPage OwncloudSetupPage(QWidget *parent = nullptr); ~OwncloudSetupPage() override; - bool isComplete() const override; + [[nodiscard]] bool isComplete() const override; void initializePage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; void setServerUrl(const QString &); void setAllowPasswordStorage(bool); bool validatePage() override; - QString url() const; - QString localFolder() const; + [[nodiscard]] QString url() const; + [[nodiscard]] QString localFolder() const; void setRemoteFolder(const QString &remoteFolder); void setMultipleFoldersExist(bool exist); void setAuthType(DetermineAuthTypeJob::AuthType type); diff --git a/src/gui/wizard/owncloudwizard.h b/src/gui/wizard/owncloudwizard.h index a23aed748becb..d21e8bf0d5709 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -56,20 +56,20 @@ class OwncloudWizard : public QWizard OwncloudWizard(QWidget *parent = nullptr); void setAccount(AccountPtr account); - AccountPtr account() const; + [[nodiscard]] AccountPtr account() const; void setOCUrl(const QString &); bool registration(); void setRegistration(bool registration); void setupCustomMedia(QVariant, QLabel *); - QString ocUrl() const; - QString localFolder() const; - QStringList selectiveSyncBlacklist() const; - bool useVirtualFileSync() const; - bool isConfirmBigFolderChecked() const; + [[nodiscard]] QString ocUrl() const; + [[nodiscard]] QString localFolder() const; + [[nodiscard]] QStringList selectiveSyncBlacklist() const; + [[nodiscard]] bool useVirtualFileSync() const; + [[nodiscard]] bool isConfirmBigFolderChecked() const; void displayError(const QString &, bool retryHTTPonly); - AbstractCredentials *getCredentials() const; + [[nodiscard]] AbstractCredentials *getCredentials() const; void bringToTop(); void centerWindow(); @@ -115,8 +115,8 @@ public slots: private: void customizeStyle(); - QSize calculateLargestSizeOfWizardPages(const QList &pageSizes) const; - QList calculateWizardPageSizes() const; + [[nodiscard]] QSize calculateLargestSizeOfWizardPages(const QList &pageSizes) const; + [[nodiscard]] QList calculateWizardPageSizes() const; AccountPtr _account; WelcomePage *_welcomePage; diff --git a/src/gui/wizard/postfixlineedit.h b/src/gui/wizard/postfixlineedit.h index 1e8078f05e075..b32c3f637d1b1 100644 --- a/src/gui/wizard/postfixlineedit.h +++ b/src/gui/wizard/postfixlineedit.h @@ -36,9 +36,9 @@ class PostfixLineEdit : public QLineEdit /** @brief sets an optional postfix shown greyed out */ void setPostfix(const QString &postfix); /** @brief retrives the postfix */ - QString postfix() const; + [[nodiscard]] QString postfix() const; /** @brief retrieves combined text() and postfix() */ - QString fullText() const; + [[nodiscard]] QString fullText() const; /** @brief sets text() from full text, discarding prefix() */ void setFullText(const QString &text); diff --git a/src/gui/wizard/slideshow.h b/src/gui/wizard/slideshow.h index 65743ec1fad2f..19169d4f15816 100644 --- a/src/gui/wizard/slideshow.h +++ b/src/gui/wizard/slideshow.h @@ -37,15 +37,15 @@ class SlideShow : public QWidget void addSlide(const QPixmap &pixmap, const QString &label); - bool isActive() const; + [[nodiscard]] bool isActive() const; - int interval() const; + [[nodiscard]] int interval() const; void setInterval(int interval); - int currentSlide() const; + [[nodiscard]] int currentSlide() const; void setCurrentSlide(int index); - QSize sizeHint() const override; + [[nodiscard]] QSize sizeHint() const override; public slots: void startShow(int interval = 0); diff --git a/src/gui/wizard/webviewpage.h b/src/gui/wizard/webviewpage.h index db4febec17f6a..23667975e44c5 100644 --- a/src/gui/wizard/webviewpage.h +++ b/src/gui/wizard/webviewpage.h @@ -18,10 +18,10 @@ class WebViewPage : public AbstractCredentialsWizardPage void initializePage() override; void cleanupPage() override; - int nextId() const override; - bool isComplete() const override; + [[nodiscard]] int nextId() const override; + [[nodiscard]] bool isComplete() const override; - AbstractCredentials* getCredentials() const override; + [[nodiscard]] AbstractCredentials* getCredentials() const override; void setConnected(); signals: diff --git a/src/gui/wizard/welcomepage.h b/src/gui/wizard/welcomepage.h index 9d0aa1c0a8495..bef31f7756072 100644 --- a/src/gui/wizard/welcomepage.h +++ b/src/gui/wizard/welcomepage.h @@ -33,7 +33,7 @@ class WelcomePage : public QWizardPage public: explicit WelcomePage(OwncloudWizard *ocWizard); ~WelcomePage() override; - int nextId() const override; + [[nodiscard]] int nextId() const override; void initializePage() override; void setLoginButtonDefault(); diff --git a/src/libsync/abstractnetworkjob.h b/src/libsync/abstractnetworkjob.h index aadbc3872c222..6af5b207c21ae 100644 --- a/src/libsync/abstractnetworkjob.h +++ b/src/libsync/abstractnetworkjob.h @@ -45,16 +45,16 @@ class OWNCLOUDSYNC_EXPORT AbstractNetworkJob : public QObject virtual void start(); - AccountPtr account() const { return _account; } + [[nodiscard]] AccountPtr account() const { return _account; } void setPath(const QString &path); - QString path() const { return _path; } + [[nodiscard]] QString path() const { return _path; } void setReply(QNetworkReply *reply); - QNetworkReply *reply() const { return _reply; } + [[nodiscard]] QNetworkReply *reply() const { return _reply; } void setIgnoreCredentialFailure(bool ignore); - bool ignoreCredentialFailure() const { return _ignoreCredentialFailure; } + [[nodiscard]] bool ignoreCredentialFailure() const { return _ignoreCredentialFailure; } /** Whether to handle redirects transparently. * @@ -67,17 +67,17 @@ class OWNCLOUDSYNC_EXPORT AbstractNetworkJob : public QObject * requests where custom handling is necessary. */ void setFollowRedirects(bool follow); - bool followRedirects() const { return _followRedirects; } + [[nodiscard]] bool followRedirects() const { return _followRedirects; } QByteArray responseTimestamp(); /* Content of the X-Request-ID header. (Only set after the request is sent) */ QByteArray requestId(); - qint64 timeoutMsec() const { return _timer.interval(); } - bool timedOut() const { return _timedout; } + [[nodiscard]] qint64 timeoutMsec() const { return _timer.interval(); } + [[nodiscard]] bool timedOut() const { return _timedout; } /** Returns an error message, if any. */ - virtual QString errorString() const; + [[nodiscard]] virtual QString errorString() const; /** Like errorString, but also checking the reply body for information. * @@ -159,12 +159,12 @@ public slots: virtual void newReplyHook(QNetworkReply *) {} /// Creates a url for the account from a relative path - QUrl makeAccountUrl(const QString &relativePath) const; + [[nodiscard]] QUrl makeAccountUrl(const QString &relativePath) const; /// Like makeAccountUrl() but uses the account's dav base path - QUrl makeDavUrl(const QString &relativePath) const; + [[nodiscard]] QUrl makeDavUrl(const QString &relativePath) const; - int maxRedirects() const { return 10; } + [[nodiscard]] int maxRedirects() const { return 10; } /** Called at the end of QNetworkReply::finished processing. * diff --git a/src/libsync/abstractpropagateremotedeleteencrypted.h b/src/libsync/abstractpropagateremotedeleteencrypted.h index 68db266aa0789..3d3dd83425d7a 100644 --- a/src/libsync/abstractpropagateremotedeleteencrypted.h +++ b/src/libsync/abstractpropagateremotedeleteencrypted.h @@ -34,8 +34,8 @@ class AbstractPropagateRemoteDeleteEncrypted : public QObject AbstractPropagateRemoteDeleteEncrypted(OwncloudPropagator *propagator, SyncFileItemPtr item, QObject *parent); ~AbstractPropagateRemoteDeleteEncrypted() override = default; - QNetworkReply::NetworkError networkError() const; - QString errorString() const; + [[nodiscard]] QNetworkReply::NetworkError networkError() const; + [[nodiscard]] QString errorString() const; virtual void start() = 0; diff --git a/src/libsync/account.h b/src/libsync/account.h index 4c1429f0a9ae1..d4a7858a06a74 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -91,7 +91,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject AccountPtr sharedFromThis(); - AccountPtr sharedFromThis() const; + [[nodiscard]] AccountPtr sharedFromThis() const; /** * The user that can be used in dav url. @@ -99,30 +99,30 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject * This can very well be different frome the login user that's * stored in credentials()->user(). */ - QString davUser() const; + [[nodiscard]] QString davUser() const; void setDavUser(const QString &newDavUser); - QString davDisplayName() const; + [[nodiscard]] QString davDisplayName() const; void setDavDisplayName(const QString &newDisplayName); #ifndef TOKEN_AUTH_ONLY - QImage avatar() const; + [[nodiscard]] QImage avatar() const; void setAvatar(const QImage &img); #endif /// The name of the account as shown in the toolbar - QString displayName() const; + [[nodiscard]] QString displayName() const; - QColor accentColor() const; - QColor headerColor() const; - QColor headerTextColor() const; + [[nodiscard]] QColor accentColor() const; + [[nodiscard]] QColor headerColor() const; + [[nodiscard]] QColor headerTextColor() const; /// The internal id of the account. - QString id() const; + [[nodiscard]] QString id() const; /** Server url of the account */ void setUrl(const QUrl &url); - QUrl url() const { return _url; } + [[nodiscard]] QUrl url() const { return _url; } /// Adjusts _userVisibleUrl once the host to use is discovered. void setUserVisibleHost(const QString &host); @@ -132,20 +132,20 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject * a trailing slash. * @returns the (themeable) dav path for the account. */ - QString davPath() const; + [[nodiscard]] QString davPath() const; /** Returns webdav entry URL, based on url() */ - QUrl davUrl() const; + [[nodiscard]] QUrl davUrl() const; /** Returns the legacy permalink url for a file. * * This uses the old way of manually building the url. New code should * use the "privatelink" property accessible via PROPFIND. */ - QUrl deprecatedPrivateLinkUrl(const QByteArray &numericFileId) const; + [[nodiscard]] QUrl deprecatedPrivateLinkUrl(const QByteArray &numericFileId) const; /** Holds the accounts credentials */ - AbstractCredentials *credentials() const; + [[nodiscard]] AbstractCredentials *credentials() const; void setCredentials(AbstractCredentials *cred); /** Create a network request on the account's QNAM. @@ -176,7 +176,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject /** The ssl configuration during the first connection */ QSslConfiguration getOrCreateSslConfig(); - QSslConfiguration sslConfiguration() const { return _sslConfiguration; } + [[nodiscard]] QSslConfiguration sslConfiguration() const { return _sslConfiguration; } void setSslConfiguration(const QSslConfiguration &config); // Because of bugs in Qt, we use this to store info needed for the SSL Button QSslCipher _sessionCipher; @@ -185,7 +185,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject /** The certificates of the account */ - QList approvedCerts() const { return _approvedCerts; } + [[nodiscard]] QList approvedCerts() const { return _approvedCerts; } void setApprovedCerts(const QList certs); void addApprovedCerts(const QList certs); @@ -198,14 +198,14 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject void setSslErrorHandler(AbstractSslErrorHandler *handler); // To be called by credentials only, for storing username and the like - QVariant credentialSetting(const QString &key) const; + [[nodiscard]] QVariant credentialSetting(const QString &key) const; void setCredentialSetting(const QString &key, const QVariant &value); /** Assign a client certificate */ void setCertificate(const QByteArray certficate = QByteArray(), const QString privateKey = QString()); /** Access the server capabilities */ - const Capabilities &capabilities() const; + [[nodiscard]] const Capabilities &capabilities() const; void setCapabilities(const QVariantMap &caps); /** Access the server version @@ -213,7 +213,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject * For servers >= 10.0.0, this can be the empty string until capabilities * have been received. */ - QString serverVersion() const; + [[nodiscard]] QString serverVersion() const; /** Server version for easy comparison. * @@ -221,7 +221,7 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject * * Will be 0 if the version is not available yet. */ - int serverVersionInt() const; + [[nodiscard]] int serverVersionInt() const; static constexpr int makeServerVersion(const int majorVersion, const int minorVersion, const int patchVersion) { return (majorVersion << 16) + (minorVersion << 8) + patchVersion; @@ -239,13 +239,13 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject * * This function returns true if the server is beyond the weak limit. */ - bool serverVersionUnsupported() const; + [[nodiscard]] bool serverVersionUnsupported() const; - bool isUsernamePrefillSupported() const; + [[nodiscard]] bool isUsernamePrefillSupported() const; - bool isChecksumRecalculateRequestSupported() const; + [[nodiscard]] bool isChecksumRecalculateRequestSupported() const; - int checksumRecalculateServerVersionMinSupportedMajor() const; + [[nodiscard]] int checksumRecalculateServerVersionMinSupportedMajor() const; /** True when the server connection is using HTTP2 */ bool isHttp2Supported() { return _http2Supported; } @@ -277,10 +277,10 @@ class OWNCLOUDSYNC_EXPORT Account : public QObject void setupUserStatusConnector(); void trySetupPushNotifications(); - PushNotifications *pushNotifications() const; + [[nodiscard]] PushNotifications *pushNotifications() const; void setPushNotificationsReconnectInterval(int interval); - std::shared_ptr userStatusConnector() const; + [[nodiscard]] std::shared_ptr userStatusConnector() const; void setLockFileState(const QString &serverRelativePath, SyncJournalDb * const journal, diff --git a/src/libsync/bulkpropagatorjob.h b/src/libsync/bulkpropagatorjob.h index 1502332e30620..e363ca6ee8bf5 100644 --- a/src/libsync/bulkpropagatorjob.h +++ b/src/libsync/bulkpropagatorjob.h @@ -111,7 +111,7 @@ private slots: const QString &errorString); /** Bases headers that need to be sent on the PUT, or in the MOVE for chunking-ng */ - QMap headers(SyncFileItemPtr item) const; + [[nodiscard]] QMap headers(SyncFileItemPtr item) const; void abortWithError(SyncFileItemPtr item, SyncFileItem::Status status, diff --git a/src/libsync/capabilities.h b/src/libsync/capabilities.h index bbc2fd1b60a85..1029bcc5e4fb3 100644 --- a/src/libsync/capabilities.h +++ b/src/libsync/capabilities.h @@ -46,54 +46,54 @@ class OWNCLOUDSYNC_EXPORT Capabilities public: Capabilities(const QVariantMap &capabilities); - bool shareAPI() const; - bool shareEmailPasswordEnabled() const; - bool shareEmailPasswordEnforced() const; - bool sharePublicLink() const; - bool sharePublicLinkAllowUpload() const; - bool sharePublicLinkSupportsUploadOnly() const; - bool sharePublicLinkAskOptionalPassword() const; - bool sharePublicLinkEnforcePassword() const; - bool sharePublicLinkEnforceExpireDate() const; - int sharePublicLinkExpireDateDays() const; - bool shareInternalEnforceExpireDate() const; - int shareInternalExpireDateDays() const; - bool shareRemoteEnforceExpireDate() const; - int shareRemoteExpireDateDays() const; - bool sharePublicLinkMultiple() const; - bool shareResharing() const; - int shareDefaultPermissions() const; - bool chunkingNg() const; - bool bulkUpload() const; - bool filesLockAvailable() const; - bool userStatus() const; - bool userStatusSupportsEmoji() const; - QColor serverColor() const; - QColor serverTextColor() const; + [[nodiscard]] bool shareAPI() const; + [[nodiscard]] bool shareEmailPasswordEnabled() const; + [[nodiscard]] bool shareEmailPasswordEnforced() const; + [[nodiscard]] bool sharePublicLink() const; + [[nodiscard]] bool sharePublicLinkAllowUpload() const; + [[nodiscard]] bool sharePublicLinkSupportsUploadOnly() const; + [[nodiscard]] bool sharePublicLinkAskOptionalPassword() const; + [[nodiscard]] bool sharePublicLinkEnforcePassword() const; + [[nodiscard]] bool sharePublicLinkEnforceExpireDate() const; + [[nodiscard]] int sharePublicLinkExpireDateDays() const; + [[nodiscard]] bool shareInternalEnforceExpireDate() const; + [[nodiscard]] int shareInternalExpireDateDays() const; + [[nodiscard]] bool shareRemoteEnforceExpireDate() const; + [[nodiscard]] int shareRemoteExpireDateDays() const; + [[nodiscard]] bool sharePublicLinkMultiple() const; + [[nodiscard]] bool shareResharing() const; + [[nodiscard]] int shareDefaultPermissions() const; + [[nodiscard]] bool chunkingNg() const; + [[nodiscard]] bool bulkUpload() const; + [[nodiscard]] bool filesLockAvailable() const; + [[nodiscard]] bool userStatus() const; + [[nodiscard]] bool userStatusSupportsEmoji() const; + [[nodiscard]] QColor serverColor() const; + [[nodiscard]] QColor serverTextColor() const; /// Returns which kind of push notfications are available - PushNotificationTypes availablePushNotifications() const; + [[nodiscard]] PushNotificationTypes availablePushNotifications() const; /// Websocket url for files push notifications if available - QUrl pushNotificationsWebSocketUrl() const; + [[nodiscard]] QUrl pushNotificationsWebSocketUrl() const; /// disable parallel upload in chunking - bool chunkingParallelUploadDisabled() const; + [[nodiscard]] bool chunkingParallelUploadDisabled() const; /// Whether the "privatelink" DAV property is available - bool privateLinkPropertyAvailable() const; + [[nodiscard]] bool privateLinkPropertyAvailable() const; /// returns true if the capabilities report notifications - bool notificationsAvailable() const; + [[nodiscard]] bool notificationsAvailable() const; /// returns true if the server supports client side encryption - bool clientSideEncryptionAvailable() const; + [[nodiscard]] bool clientSideEncryptionAvailable() const; /// returns true if the capabilities are loaded already. - bool isValid() const; + [[nodiscard]] bool isValid() const; /// return true if the activity app is enabled - bool hasActivities() const; + [[nodiscard]] bool hasActivities() const; /** * Returns the checksum types the server understands. @@ -106,7 +106,7 @@ class OWNCLOUDSYNC_EXPORT Capabilities * Default: [] * Possible entries: "Adler32", "MD5", "SHA1" */ - QList supportedChecksumTypes() const; + [[nodiscard]] QList supportedChecksumTypes() const; /** * The checksum algorithm that the server recommends for file uploads. @@ -116,14 +116,14 @@ class OWNCLOUDSYNC_EXPORT Capabilities * Default: empty, meaning "no preference" * Possible values: empty or any of the supportedTypes */ - QByteArray preferredUploadChecksumType() const; + [[nodiscard]] QByteArray preferredUploadChecksumType() const; /** * Helper that returns the preferredUploadChecksumType() if set, or one * of the supportedChecksumTypes() if it isn't. May return an empty * QByteArray if no checksum types are supported. */ - QByteArray uploadChecksumType() const; + [[nodiscard]] QByteArray uploadChecksumType() const; /** * List of HTTP error codes should be guaranteed to eventually reset @@ -142,7 +142,7 @@ class OWNCLOUDSYNC_EXPORT Capabilities * Default: [] * Example: [503, 500] */ - QList httpErrorCodesThatResetFailingChunkedUploads() const; + [[nodiscard]] QList httpErrorCodesThatResetFailingChunkedUploads() const; /** * Regex that, if contained in a filename, will result in it not being uploaded. @@ -153,17 +153,17 @@ class OWNCLOUDSYNC_EXPORT Capabilities * * Note that it just needs to be contained. The regex [ab] is contained in "car". */ - QString invalidFilenameRegex() const; + [[nodiscard]] QString invalidFilenameRegex() const; /** * return the list of filename that should not be uploaded */ - QStringList blacklistedFiles() const; + [[nodiscard]] QStringList blacklistedFiles() const; /** * Whether conflict files should remain local (default) or should be uploaded. */ - bool uploadConflictFiles() const; + [[nodiscard]] bool uploadConflictFiles() const; // Direct Editing void addDirectEditor(DirectEditor* directEditor); @@ -171,7 +171,7 @@ class OWNCLOUDSYNC_EXPORT Capabilities DirectEditor* getDirectEditorForOptionalMimetype(const QMimeType &mimeType); private: - QMap serverThemingMap() const; + [[nodiscard]] QMap serverThemingMap() const; QVariantMap _capabilities; @@ -192,11 +192,11 @@ class OWNCLOUDSYNC_EXPORT DirectEditor : public QObject bool hasMimetype(const QMimeType &mimeType); bool hasOptionalMimetype(const QMimeType &mimeType); - QString id() const; - QString name() const; + [[nodiscard]] QString id() const; + [[nodiscard]] QString name() const; - QList mimeTypes() const; - QList optionalMimeTypes() const; + [[nodiscard]] QList mimeTypes() const; + [[nodiscard]] QList optionalMimeTypes() const; private: QString _id; diff --git a/src/libsync/clientsideencryption.h b/src/libsync/clientsideencryption.h index 751c7d4c824ff..b628492b8f64a 100644 --- a/src/libsync/clientsideencryption.h +++ b/src/libsync/clientsideencryption.h @@ -99,8 +99,8 @@ class OWNCLOUDSYNC_EXPORT StreamingDecryptor QByteArray chunkDecryption(const char *input, quint64 chunkSize); - bool isInitialized() const; - bool isFinished() const; + [[nodiscard]] bool isInitialized() const; + [[nodiscard]] bool isFinished() const; private: Q_DISABLE_COPY(StreamingDecryptor) @@ -127,7 +127,7 @@ class OWNCLOUDSYNC_EXPORT ClientSideEncryption : public QObject { public: void forgetSensitiveData(const AccountPtr &account); - bool newMnemonicGenerated() const; + [[nodiscard]] bool newMnemonicGenerated() const; public slots: void slotRequestMnemonic(); @@ -150,8 +150,8 @@ private slots: void fetchFromKeyChain(const AccountPtr &account); - bool checkPublicKeyValidity(const AccountPtr &account) const; - bool checkServerPublicKeyValidity(const QByteArray &serverPublicKeyString) const; + [[nodiscard]] bool checkPublicKeyValidity(const AccountPtr &account) const; + [[nodiscard]] bool checkServerPublicKeyValidity(const QByteArray &serverPublicKeyString) const; void writePrivateKey(const AccountPtr &account); void writeCertificate(const AccountPtr &account); void writeMnemonic(const AccountPtr &account); @@ -186,7 +186,7 @@ class OWNCLOUDSYNC_EXPORT FolderMetadata { void addEncryptedFile(const EncryptedFile& f); void removeEncryptedFile(const EncryptedFile& f); void removeAllEncryptedFiles(); - QVector files() const; + [[nodiscard]] QVector files() const; private: @@ -196,11 +196,11 @@ class OWNCLOUDSYNC_EXPORT FolderMetadata { void setupEmptyMetadata(); void setupExistingMetadata(const QByteArray& metadata); - QByteArray encryptMetadataKey(const QByteArray& metadataKey) const; - QByteArray decryptMetadataKey(const QByteArray& encryptedKey) const; + [[nodiscard]] QByteArray encryptMetadataKey(const QByteArray& metadataKey) const; + [[nodiscard]] QByteArray decryptMetadataKey(const QByteArray& encryptedKey) const; - QByteArray encryptJsonObject(const QByteArray& obj, const QByteArray pass) const; - QByteArray decryptJsonObject(const QByteArray& encryptedJsonBlob, const QByteArray& pass) const; + [[nodiscard]] QByteArray encryptJsonObject(const QByteArray& obj, const QByteArray pass) const; + [[nodiscard]] QByteArray decryptJsonObject(const QByteArray& encryptedJsonBlob, const QByteArray& pass) const; QVector _files; QMap _metadataKeys; diff --git a/src/libsync/configfile.h b/src/libsync/configfile.h index cf57167701c32..e731f3016eed7 100644 --- a/src/libsync/configfile.h +++ b/src/libsync/configfile.h @@ -43,9 +43,9 @@ class OWNCLOUDSYNC_EXPORT ConfigFile enum Scope { UserScope, SystemScope }; - QString configPath() const; - QString configFile() const; - QString excludeFile(Scope scope) const; + [[nodiscard]] QString configPath() const; + [[nodiscard]] QString configFile() const; + [[nodiscard]] QString excludeFile(Scope scope) const; static QString excludeFileFromSystem(); // doesn't access config dir /** @@ -53,11 +53,11 @@ class OWNCLOUDSYNC_EXPORT ConfigFile * * Returns the path of the new backup. */ - QString backup() const; + [[nodiscard]] QString backup() const; bool exists(); - QString defaultConnection() const; + [[nodiscard]] QString defaultConnection() const; // the certs do not depend on a connection. QByteArray caCerts(); @@ -66,49 +66,49 @@ class OWNCLOUDSYNC_EXPORT ConfigFile bool passwordStorageAllowed(const QString &connection = QString()); /* Server poll interval in milliseconds */ - std::chrono::milliseconds remotePollInterval(const QString &connection = QString()) const; + [[nodiscard]] std::chrono::milliseconds remotePollInterval(const QString &connection = QString()) const; /* Set poll interval. Value in milliseconds has to be larger than 5000 */ void setRemotePollInterval(std::chrono::milliseconds interval, const QString &connection = QString()); /* Interval to check for new notifications */ - std::chrono::milliseconds notificationRefreshInterval(const QString &connection = QString()) const; + [[nodiscard]] std::chrono::milliseconds notificationRefreshInterval(const QString &connection = QString()) const; /* Force sync interval, in milliseconds */ - std::chrono::milliseconds forceSyncInterval(const QString &connection = QString()) const; + [[nodiscard]] std::chrono::milliseconds forceSyncInterval(const QString &connection = QString()) const; /** * Interval in milliseconds within which full local discovery is required * * Use -1 to disable regular full local discoveries. */ - std::chrono::milliseconds fullLocalDiscoveryInterval() const; + [[nodiscard]] std::chrono::milliseconds fullLocalDiscoveryInterval() const; - bool monoIcons() const; + [[nodiscard]] bool monoIcons() const; void setMonoIcons(bool); - bool promptDeleteFiles() const; + [[nodiscard]] bool promptDeleteFiles() const; void setPromptDeleteFiles(bool promptDeleteFiles); - bool crashReporter() const; + [[nodiscard]] bool crashReporter() const; void setCrashReporter(bool enabled); - bool automaticLogDir() const; + [[nodiscard]] bool automaticLogDir() const; void setAutomaticLogDir(bool enabled); - QString logDir() const; + [[nodiscard]] QString logDir() const; void setLogDir(const QString &dir); - bool logDebug() const; + [[nodiscard]] bool logDebug() const; void setLogDebug(bool enabled); - int logExpire() const; + [[nodiscard]] int logExpire() const; void setLogExpire(int hours); - bool logFlush() const; + [[nodiscard]] bool logFlush() const; void setLogFlush(bool enabled); // Whether experimental UI options should be shown - bool showExperimentalOptions() const; + [[nodiscard]] bool showExperimentalOptions() const; // proxy settings void setProxyType(int proxyType, @@ -117,86 +117,86 @@ class OWNCLOUDSYNC_EXPORT ConfigFile const QString &user = QString(), const QString &pass = QString()); - int proxyType() const; - QString proxyHostName() const; - int proxyPort() const; - bool proxyNeedsAuth() const; - QString proxyUser() const; - QString proxyPassword() const; + [[nodiscard]] int proxyType() const; + [[nodiscard]] QString proxyHostName() const; + [[nodiscard]] int proxyPort() const; + [[nodiscard]] bool proxyNeedsAuth() const; + [[nodiscard]] QString proxyUser() const; + [[nodiscard]] QString proxyPassword() const; /** 0: no limit, 1: manual, >0: automatic */ - int useUploadLimit() const; - int useDownloadLimit() const; + [[nodiscard]] int useUploadLimit() const; + [[nodiscard]] int useDownloadLimit() const; void setUseUploadLimit(int); void setUseDownloadLimit(int); /** in kbyte/s */ - int uploadLimit() const; - int downloadLimit() const; + [[nodiscard]] int uploadLimit() const; + [[nodiscard]] int downloadLimit() const; void setUploadLimit(int kbytes); void setDownloadLimit(int kbytes); /** [checked, size in MB] **/ - QPair newBigFolderSizeLimit() const; + [[nodiscard]] QPair newBigFolderSizeLimit() const; void setNewBigFolderSizeLimit(bool isChecked, qint64 mbytes); - bool useNewBigFolderSizeLimit() const; - bool confirmExternalStorage() const; + [[nodiscard]] bool useNewBigFolderSizeLimit() const; + [[nodiscard]] bool confirmExternalStorage() const; void setConfirmExternalStorage(bool); /** If we should move the files deleted on the server in the trash */ - bool moveToTrash() const; + [[nodiscard]] bool moveToTrash() const; void setMoveToTrash(bool); - bool showMainDialogAsNormalWindow() const; + [[nodiscard]] bool showMainDialogAsNormalWindow() const; static bool setConfDir(const QString &value); - bool optionalServerNotifications() const; + [[nodiscard]] bool optionalServerNotifications() const; void setOptionalServerNotifications(bool show); - bool showCallNotifications() const; + [[nodiscard]] bool showCallNotifications() const; void setShowCallNotifications(bool show); - bool showInExplorerNavigationPane() const; + [[nodiscard]] bool showInExplorerNavigationPane() const; void setShowInExplorerNavigationPane(bool show); - int timeout() const; - qint64 chunkSize() const; - qint64 maxChunkSize() const; - qint64 minChunkSize() const; - std::chrono::milliseconds targetChunkUploadDuration() const; + [[nodiscard]] int timeout() const; + [[nodiscard]] qint64 chunkSize() const; + [[nodiscard]] qint64 maxChunkSize() const; + [[nodiscard]] qint64 minChunkSize() const; + [[nodiscard]] std::chrono::milliseconds targetChunkUploadDuration() const; void saveGeometry(QWidget *w); void restoreGeometry(QWidget *w); // how often the check about new versions runs - std::chrono::milliseconds updateCheckInterval(const QString &connection = QString()) const; + [[nodiscard]] std::chrono::milliseconds updateCheckInterval(const QString &connection = QString()) const; // skipUpdateCheck completely disables the updater and hides its UI - bool skipUpdateCheck(const QString &connection = QString()) const; + [[nodiscard]] bool skipUpdateCheck(const QString &connection = QString()) const; void setSkipUpdateCheck(bool, const QString &); // autoUpdateCheck allows the user to make the choice in the UI - bool autoUpdateCheck(const QString &connection = QString()) const; + [[nodiscard]] bool autoUpdateCheck(const QString &connection = QString()) const; void setAutoUpdateCheck(bool, const QString &); /** Query-parameter 'updatesegment' for the update check, value between 0 and 99. Used to throttle down desktop release rollout in order to keep the update servers alive at peak times. See: https://github.com/nextcloud/client_updater_server/pull/36 */ - int updateSegment() const; + [[nodiscard]] int updateSegment() const; - QString updateChannel() const; + [[nodiscard]] QString updateChannel() const; void setUpdateChannel(const QString &channel); void saveGeometryHeader(QHeaderView *header); void restoreGeometryHeader(QHeaderView *header); - QString certificatePath() const; + [[nodiscard]] QString certificatePath() const; void setCertificatePath(const QString &cPath); - QString certificatePasswd() const; + [[nodiscard]] QString certificatePasswd() const; void setCertificatePasswd(const QString &cPasswd); /** The client version that last used this settings file. Updated by configVersionMigration() at client startup. */ - QString clientVersionString() const; + [[nodiscard]] QString clientVersionString() const; void setClientVersionString(const QString &version); /** Returns a new settings pre-set in a specific group. The Settings will be created @@ -207,18 +207,18 @@ class OWNCLOUDSYNC_EXPORT ConfigFile static void setupDefaultExcludeFilePaths(ExcludedFiles &excludedFiles); protected: - QVariant getPolicySetting(const QString &policy, const QVariant &defaultValue = QVariant()) const; + [[nodiscard]] QVariant getPolicySetting(const QString &policy, const QVariant &defaultValue = QVariant()) const; void storeData(const QString &group, const QString &key, const QVariant &value); - QVariant retrieveData(const QString &group, const QString &key) const; + [[nodiscard]] QVariant retrieveData(const QString &group, const QString &key) const; void removeData(const QString &group, const QString &key); - bool dataExists(const QString &group, const QString &key) const; + [[nodiscard]] bool dataExists(const QString &group, const QString &key) const; private: - QVariant getValue(const QString ¶m, const QString &group = QString(), + [[nodiscard]] QVariant getValue(const QString ¶m, const QString &group = QString(), const QVariant &defaultValue = QVariant()) const; void setValue(const QString &key, const QVariant &value); - QString keychainProxyPasswordKey() const; + [[nodiscard]] QString keychainProxyPasswordKey() const; private: using SharedCreds = QSharedPointer; diff --git a/src/libsync/cookiejar.h b/src/libsync/cookiejar.h index 6d3703aaa1ff6..23aed009cb128 100644 --- a/src/libsync/cookiejar.h +++ b/src/libsync/cookiejar.h @@ -32,7 +32,7 @@ class OWNCLOUDSYNC_EXPORT CookieJar : public QNetworkCookieJar explicit CookieJar(QObject *parent = nullptr); ~CookieJar() override; bool setCookiesFromUrl(const QList &cookieList, const QUrl &url) override; - QList cookiesForUrl(const QUrl &url) const override; + [[nodiscard]] QList cookiesForUrl(const QUrl &url) const override; void clearSessionCookies(); diff --git a/src/libsync/creds/abstractcredentials.h b/src/libsync/creds/abstractcredentials.h index 720caf0d22c22..6dfb9af6bfbc7 100644 --- a/src/libsync/creds/abstractcredentials.h +++ b/src/libsync/creds/abstractcredentials.h @@ -43,16 +43,16 @@ class OWNCLOUDSYNC_EXPORT AbstractCredentials : public QObject */ virtual void setAccount(Account *account); - virtual QString authType() const = 0; - virtual QString user() const = 0; - virtual QString password() const = 0; - virtual QNetworkAccessManager *createQNAM() const = 0; + [[nodiscard]] virtual QString authType() const = 0; + [[nodiscard]] virtual QString user() const = 0; + [[nodiscard]] virtual QString password() const = 0; + [[nodiscard]] virtual QNetworkAccessManager *createQNAM() const = 0; /** Whether there are credentials that can be used for a connection attempt. */ - virtual bool ready() const = 0; + [[nodiscard]] virtual bool ready() const = 0; /** Whether fetchFromKeychain() was called before. */ - bool wasFetched() const { return _wasFetched; } + [[nodiscard]] bool wasFetched() const { return _wasFetched; } /** Trigger (async) fetching of credential information * diff --git a/src/libsync/creds/dummycredentials.h b/src/libsync/creds/dummycredentials.h index 80aa041094394..30537fef1403f 100644 --- a/src/libsync/creds/dummycredentials.h +++ b/src/libsync/creds/dummycredentials.h @@ -26,11 +26,11 @@ class OWNCLOUDSYNC_EXPORT DummyCredentials : public AbstractCredentials public: QString _user; QString _password; - QString authType() const override; - QString user() const override; - QString password() const override; - QNetworkAccessManager *createQNAM() const override; - bool ready() const override; + [[nodiscard]] QString authType() const override; + [[nodiscard]] QString user() const override; + [[nodiscard]] QString password() const override; + [[nodiscard]] QNetworkAccessManager *createQNAM() const override; + [[nodiscard]] bool ready() const override; bool stillValid(QNetworkReply *reply) override; void fetchFromKeychain() override; void askFromUser() override; diff --git a/src/libsync/creds/httpcredentials.h b/src/libsync/creds/httpcredentials.h index 18d460cc98556..a2dbb5c1f36df 100644 --- a/src/libsync/creds/httpcredentials.h +++ b/src/libsync/creds/httpcredentials.h @@ -83,15 +83,15 @@ class OWNCLOUDSYNC_EXPORT HttpCredentials : public AbstractCredentials explicit HttpCredentials(const QString &user, const QString &password, const QByteArray &clientCertBundle = QByteArray(), const QByteArray &clientCertPassword = QByteArray()); - QString authType() const override; - QNetworkAccessManager *createQNAM() const override; - bool ready() const override; + [[nodiscard]] QString authType() const override; + [[nodiscard]] QNetworkAccessManager *createQNAM() const override; + [[nodiscard]] bool ready() const override; void fetchFromKeychain() override; bool stillValid(QNetworkReply *reply) override; void persist() override; - QString user() const override; + [[nodiscard]] QString user() const override; // the password or token - QString password() const override; + [[nodiscard]] QString password() const override; void invalidateToken() override; void forgetSensitiveData() override; QString fetchUser(); @@ -106,7 +106,7 @@ class OWNCLOUDSYNC_EXPORT HttpCredentials : public AbstractCredentials void setAccount(Account *account) override; // Whether we are using OAuth - bool isUsingOAuth() const { return !_refreshToken.isNull(); } + [[nodiscard]] bool isUsingOAuth() const { return !_refreshToken.isNull(); } bool retryIfNeeded(AbstractNetworkJob *) override; diff --git a/src/libsync/creds/keychainchunk.h b/src/libsync/creds/keychainchunk.h index 0e86843728e70..b6bc50e458fb2 100644 --- a/src/libsync/creds/keychainchunk.h +++ b/src/libsync/creds/keychainchunk.h @@ -47,13 +47,13 @@ class OWNCLOUDSYNC_EXPORT Job : public QObject ~Job() override; - QKeychain::Error error() const; - QString errorString() const; + [[nodiscard]] QKeychain::Error error() const; + [[nodiscard]] QString errorString() const; - QByteArray binaryData() const; - QString textData() const; + [[nodiscard]] QByteArray binaryData() const; + [[nodiscard]] QString textData() const; - bool insecureFallback() const; + [[nodiscard]] bool insecureFallback() const; // If we use it but don't support insecure fallback, give us nice compilation errors ;p #if defined(KEYCHAINCHUNK_ENABLE_INSECURE_FALLBACK) @@ -64,7 +64,7 @@ class OWNCLOUDSYNC_EXPORT Job : public QObject * @return Whether this job autodeletes itself once finished() has been emitted. Default is true. * @see setAutoDelete() */ - bool autoDelete() const; + [[nodiscard]] bool autoDelete() const; /** * Set whether this job should autodelete itself once finished() has been emitted. diff --git a/src/libsync/datetimeprovider.h b/src/libsync/datetimeprovider.h index 1525a2e3d85e7..f836c5c973fb2 100644 --- a/src/libsync/datetimeprovider.h +++ b/src/libsync/datetimeprovider.h @@ -11,8 +11,8 @@ class OWNCLOUDSYNC_EXPORT DateTimeProvider public: virtual ~DateTimeProvider(); - virtual QDateTime currentDateTime() const; + [[nodiscard]] virtual QDateTime currentDateTime() const; - virtual QDate currentDate() const; + [[nodiscard]] virtual QDate currentDate() const; }; } diff --git a/src/libsync/deletejob.h b/src/libsync/deletejob.h index 9f192c78ec212..4bc6351e5c5e3 100644 --- a/src/libsync/deletejob.h +++ b/src/libsync/deletejob.h @@ -32,7 +32,7 @@ class DeleteJob : public SimpleFileJob void start() override; - QByteArray folderToken() const; + [[nodiscard]] QByteArray folderToken() const; void setFolderToken(const QByteArray &folderToken); private: diff --git a/src/libsync/discovery.h b/src/libsync/discovery.h index 3e18d81d2c0af..1b1ec4a10cc21 100644 --- a/src/libsync/discovery.h +++ b/src/libsync/discovery.h @@ -96,7 +96,7 @@ class ProcessDirectoryJob : public QObject _isInsideEncryptedTree = isInsideEncryptedTree; } - bool isInsideEncryptedTree() const + [[nodiscard]] bool isInsideEncryptedTree() const { return _isInsideEncryptedTree; } @@ -135,7 +135,7 @@ class ProcessDirectoryJob : public QObject { return base.isEmpty() ? name : base + QLatin1Char('/') + name; } - PathTuple addName(const QString &name) const + [[nodiscard]] PathTuple addName(const QString &name) const { PathTuple result; result._original = pathAppend(_original, name); @@ -190,9 +190,9 @@ class ProcessDirectoryJob : public QObject */ bool checkPermissions(const SyncFileItemPtr &item); - bool isAnyParentBeingRestored(const QString &file) const; + [[nodiscard]] bool isAnyParentBeingRestored(const QString &file) const; - bool isRename(const QString &originalPath) const; + [[nodiscard]] bool isRename(const QString &originalPath) const; struct MovePermissionResult { @@ -217,11 +217,11 @@ class ProcessDirectoryJob : public QObject void dbError(); void addVirtualFileSuffix(QString &str) const; - bool hasVirtualFileSuffix(const QString &str) const; + [[nodiscard]] bool hasVirtualFileSuffix(const QString &str) const; void chopVirtualFileSuffix(QString &str) const; /** Convenience to detect suffix-vfs modes */ - bool isVfsWithSuffix() const; + [[nodiscard]] bool isVfsWithSuffix() const; /** Start a remote discovery network job * diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h index f4bb42704c11f..d1f7233995cca 100644 --- a/src/libsync/discoveryphase.h +++ b/src/libsync/discoveryphase.h @@ -61,7 +61,7 @@ struct RemoteInfo bool isE2eEncrypted = false; QString e2eMangledName; - bool isValid() const { return !name.isNull(); } + [[nodiscard]] bool isValid() const { return !name.isNull(); } QString directDownloadUrl; QString directDownloadCookies; @@ -88,7 +88,7 @@ struct LocalInfo bool isHidden = false; bool isVirtualFile = false; bool isSymLink = false; - bool isValid() const { return !name.isNull(); } + [[nodiscard]] bool isValid() const { return !name.isNull(); } }; /** @@ -222,7 +222,7 @@ class DiscoveryPhase : public QObject * Useful for avoiding processing of items that have already been claimed in * a rename (would otherwise be discovered as deletions). */ - bool isRenamed(const QString &p) const { return _renamedItemsLocal.contains(p) || _renamedItemsRemote.contains(p); } + [[nodiscard]] bool isRenamed(const QString &p) const { return _renamedItemsLocal.contains(p) || _renamedItemsRemote.contains(p); } int _currentlyActiveJobs = 0; @@ -232,7 +232,7 @@ class DiscoveryPhase : public QObject void scheduleMoreJobs(); - bool isInSelectiveSyncBlackList(const QString &path) const; + [[nodiscard]] bool isInSelectiveSyncBlackList(const QString &path) const; // Check if the new folder should be deselected or not. // May be async. "Return" via the callback, true if the item is blacklisted @@ -244,7 +244,7 @@ class DiscoveryPhase : public QObject * Note that it only considers parent directory renames. So if A/B got renamed to C/D, * checking A/B/file would yield C/D/file, but checking A/B would yield A/B. */ - QString adjustRenamedPath(const QString &original, SyncFileItem::Direction) const; + [[nodiscard]] QString adjustRenamedPath(const QString &original, SyncFileItem::Direction) const; /** If the db-path is scheduled for deletion, abort it. * diff --git a/src/libsync/encryptfolderjob.h b/src/libsync/encryptfolderjob.h index 75293b81d5a6e..1a8646f64c41c 100644 --- a/src/libsync/encryptfolderjob.h +++ b/src/libsync/encryptfolderjob.h @@ -33,7 +33,7 @@ class OWNCLOUDSYNC_EXPORT EncryptFolderJob : public QObject explicit EncryptFolderJob(const AccountPtr &account, SyncJournalDb *journal, const QString &path, const QByteArray &fileId, QObject *parent = nullptr); void start(); - QString errorString() const; + [[nodiscard]] QString errorString() const; signals: void finished(int status); diff --git a/src/libsync/localdiscoverytracker.h b/src/libsync/localdiscoverytracker.h index b813ea97eb780..ea6c7a765f04a 100644 --- a/src/libsync/localdiscoverytracker.h +++ b/src/libsync/localdiscoverytracker.h @@ -66,7 +66,7 @@ class OWNCLOUDSYNC_EXPORT LocalDiscoveryTracker : public QObject void startSyncPartialDiscovery(); /** Access list of files that shall be locally rediscovered. */ - const std::set &localDiscoveryPaths() const; + [[nodiscard]] const std::set &localDiscoveryPaths() const; public slots: /** diff --git a/src/libsync/networkjobs.h b/src/libsync/networkjobs.h index c169e056ec7de..644244a10a2a7 100644 --- a/src/libsync/networkjobs.h +++ b/src/libsync/networkjobs.h @@ -150,7 +150,7 @@ class OWNCLOUDSYNC_EXPORT LsColJob : public AbstractNetworkJob * e.g. "ns:with:colons:bar", which is "bar" in the "ns:with:colons" namespace */ void setProperties(QList properties); - QList properties() const; + [[nodiscard]] QList properties() const; signals: void directoryListingSubfolders(const QStringList &items); @@ -192,7 +192,7 @@ class OWNCLOUDSYNC_EXPORT PropfindJob : public AbstractNetworkJob * e.g. "ns:with:colons:bar", which is "bar" in the "ns:with:colons" namespace */ void setProperties(QList properties); - QList properties() const; + [[nodiscard]] QList properties() const; signals: void result(const QVariantMap &values); @@ -268,7 +268,7 @@ class OWNCLOUDSYNC_EXPORT ProppatchJob : public AbstractNetworkJob * e.g. "ns:with:colons:bar", which is "bar" in the "ns:with:colons" namespace */ void setProperties(QMap properties); - QMap properties() const; + [[nodiscard]] QMap properties() const; signals: void success(); @@ -456,7 +456,7 @@ public slots: Verb _verb = Verb::Get; - QByteArray verbToString() const; + [[nodiscard]] QByteArray verbToString() const; }; /** diff --git a/src/libsync/ocsprofileconnector.h b/src/libsync/ocsprofileconnector.h index 69cd60116d6e3..aeb82d87c68ca 100644 --- a/src/libsync/ocsprofileconnector.h +++ b/src/libsync/ocsprofileconnector.h @@ -34,7 +34,7 @@ class OWNCLOUDSYNC_EXPORT OcsProfileConnector : public QObject explicit OcsProfileConnector(AccountPtr account, QObject *parent = nullptr); void fetchHovercard(const QString &userId); - const Hovercard &hovercard() const; + [[nodiscard]] const Hovercard &hovercard() const; signals: void error(); diff --git a/src/libsync/ocsuserstatusconnector.h b/src/libsync/ocsuserstatusconnector.h index 0d366419fe042..3f42a72308c22 100644 --- a/src/libsync/ocsuserstatusconnector.h +++ b/src/libsync/ocsuserstatusconnector.h @@ -37,7 +37,7 @@ class OWNCLOUDSYNC_EXPORT OcsUserStatusConnector : public UserStatusConnector void clearMessage() override; - UserStatus userStatus() const override; + [[nodiscard]] UserStatus userStatus() const override; private: void onUserStatusFetched(const QJsonDocument &json, int statusCode); diff --git a/src/libsync/owncloudpropagator.h b/src/libsync/owncloudpropagator.h index 951a63d5a80f5..6138d7bb982c7 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -110,7 +110,7 @@ class PropagatorJob : public QObject * Note that this does *not* include the disk space that's already * in use by running jobs for things like a download-in-progress. */ - virtual qint64 committedDiskSpace() const { return 0; } + [[nodiscard]] virtual qint64 committedDiskSpace() const { return 0; } /** Set the associated composite job * @@ -145,7 +145,7 @@ public slots: */ void abortFinished(SyncFileItem::Status status = SyncFileItem::NormalError); protected: - OwncloudPropagator *propagator() const; + [[nodiscard]] OwncloudPropagator *propagator() const; /** If this job gets added to a composite job, this will point to the parent. * @@ -171,7 +171,7 @@ class PropagateItemJob : public PropagatorJob * set a custom restore job message that is used if the restore job succeeded. * It is displayed in the activity view. */ - QString restoreJobMsg() const + [[nodiscard]] QString restoreJobMsg() const { return _item->_isRestoration ? _item->_errorString : QString(); } @@ -181,7 +181,7 @@ class PropagateItemJob : public PropagatorJob _item->_errorString = msg; } - bool hasEncryptedAncestor() const; + [[nodiscard]] bool hasEncryptedAncestor() const; protected slots: void slotRestoreJobFinished(SyncFileItem::Status status); @@ -279,7 +279,7 @@ class PropagatorCompositeJob : public PropagatorJob } } - qint64 committedDiskSpace() const override; + [[nodiscard]] qint64 committedDiskSpace() const override; private slots: void slotSubJobAbortFinished(); @@ -342,7 +342,7 @@ class OWNCLOUDSYNC_EXPORT PropagateDirectory : public PropagatorJob } - qint64 committedDiskSpace() const override + [[nodiscard]] qint64 committedDiskSpace() const override { return _subJobs.committedDiskSpace(); } @@ -373,7 +373,7 @@ class OWNCLOUDSYNC_EXPORT PropagateRootDirectory : public PropagateDirectory JobParallelism parallelism() override; void abort(PropagatorJob::AbortType abortType) override; - qint64 committedDiskSpace() const override; + [[nodiscard]] qint64 committedDiskSpace() const override; private slots: void slotSubJobsFinished(SyncFileItem::Status status) override; @@ -453,7 +453,7 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject QString &removedDirectory, QString &maybeConflictDirectory); - const SyncOptions &syncOptions() const; + [[nodiscard]] const SyncOptions &syncOptions() const; void setSyncOptions(const SyncOptions &syncOptions); int _downloadLimit = 0; @@ -518,14 +518,14 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject bool hasCaseClashAccessibilityProblem(const QString &relfile); Q_REQUIRED_RESULT QString fullLocalPath(const QString &tmp_file_name) const; - QString localPath() const; + [[nodiscard]] QString localPath() const; /** * Returns the full remote path including the folder root of a * folder sync path. */ Q_REQUIRED_RESULT QString fullRemotePath(const QString &tmp_file_name) const; - QString remotePath() const; + [[nodiscard]] QString remotePath() const; /** Creates the job for an item. */ @@ -556,7 +556,7 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject } } - AccountPtr account() const; + [[nodiscard]] AccountPtr account() const; enum DiskSpaceResult { DiskSpaceOk, @@ -567,7 +567,7 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject /** Checks whether there's enough disk space available to complete * all jobs that are currently running. */ - DiskSpaceResult diskSpaceCheck() const; + [[nodiscard]] DiskSpaceResult diskSpaceCheck() const; /** Handles a conflict by renaming the file 'item'. * @@ -583,7 +583,7 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject // Map original path (as in the DB) to target final path QMap _renamedDirectories; - QString adjustRenamedPath(const QString &original) const; + [[nodiscard]] QString adjustRenamedPath(const QString &original) const; /** Update the database for an item. * @@ -619,7 +619,7 @@ class OWNCLOUDSYNC_EXPORT OwncloudPropagator : public QObject void removeFromBulkUploadBlackList(const QString &file); - bool isInBulkUploadBlackList(const QString &file) const; + [[nodiscard]] bool isInBulkUploadBlackList(const QString &file) const; private slots: diff --git a/src/libsync/progressdispatcher.h b/src/libsync/progressdispatcher.h index 3e34fdd8f4efa..3cde3916e3f7e 100644 --- a/src/libsync/progressdispatcher.h +++ b/src/libsync/progressdispatcher.h @@ -68,7 +68,7 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject Done }; - Status status() const; + [[nodiscard]] Status status() const; /** * Called when propagation starts. @@ -84,21 +84,21 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject * is about to start via the transmissionProgress() signal. The * first ProgressInfo will have isUpdatingEstimates() == false. */ - bool isUpdatingEstimates() const; + [[nodiscard]] bool isUpdatingEstimates() const; /** * Increase the file and size totals by the amount indicated in item. */ void adjustTotalsForFile(const SyncFileItem &item); - qint64 totalFiles() const; - qint64 completedFiles() const; + [[nodiscard]] qint64 totalFiles() const; + [[nodiscard]] qint64 completedFiles() const; - qint64 totalSize() const; - qint64 completedSize() const; + [[nodiscard]] qint64 totalSize() const; + [[nodiscard]] qint64 completedSize() const; /** Number of a file that is currently in progress. */ - qint64 currentFile() const; + [[nodiscard]] qint64 currentFile() const; /** Return true if the size needs to be taken in account in the total amount of time */ static inline bool isSizeDependent(const SyncFileItem &item) @@ -131,10 +131,10 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject struct OWNCLOUDSYNC_EXPORT Progress { /** Returns the estimates about progress per second and eta. */ - Estimates estimates() const; + [[nodiscard]] Estimates estimates() const; - qint64 completed() const; - qint64 remaining() const; + [[nodiscard]] qint64 completed() const; + [[nodiscard]] qint64 remaining() const; private: /** @@ -185,7 +185,7 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject /** * Get the total completion estimate */ - Estimates totalProgress() const; + [[nodiscard]] Estimates totalProgress() const; /** * Get the optimistic eta. @@ -193,7 +193,7 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject * This value is based on the highest observed transfer bandwidth * and files-per-second speed. */ - quint64 optimisticEta() const; + [[nodiscard]] quint64 optimisticEta() const; /** * Whether the remaining-time estimate is trusted. @@ -201,12 +201,12 @@ class OWNCLOUDSYNC_EXPORT ProgressInfo : public QObject * We don't trust it if it is hugely above the optimistic estimate. * See #5046. */ - bool trustEta() const; + [[nodiscard]] bool trustEta() const; /** * Get the current file completion estimate structure */ - Estimates fileProgress(const SyncFileItem &item) const; + [[nodiscard]] Estimates fileProgress(const SyncFileItem &item) const; private slots: /** diff --git a/src/libsync/propagatedownload.h b/src/libsync/propagatedownload.h index 941d349b0c762..47d8a5c9e7433 100644 --- a/src/libsync/propagatedownload.h +++ b/src/libsync/propagatedownload.h @@ -97,7 +97,7 @@ class OWNCLOUDSYNC_EXPORT GETFileJob : public AbstractNetworkJob void giveBandwidthQuota(qint64 q); qint64 currentDownloadPosition(); - QString errorString() const override; + [[nodiscard]] QString errorString() const override; void setErrorString(const QString &s) { _errorString = s; } SyncFileItem::Status errorStatus() { return _errorStatus; } @@ -109,8 +109,8 @@ class OWNCLOUDSYNC_EXPORT GETFileJob : public AbstractNetworkJob qint64 resumeStart() { return _resumeStart; } time_t lastModified() { return _lastModified; } - qint64 contentLength() const { return _contentLength; } - qint64 expectedContentLength() const { return _expectedContentLength; } + [[nodiscard]] qint64 contentLength() const { return _contentLength; } + [[nodiscard]] qint64 expectedContentLength() const { return _expectedContentLength; } void setExpectedContentLength(qint64 size) { _expectedContentLength = size; } protected: @@ -202,7 +202,7 @@ class PropagateDownloadFile : public PropagateItemJob { } void start() override; - qint64 committedDiskSpace() const override; + [[nodiscard]] qint64 committedDiskSpace() const override; // We think it might finish quickly because it is a small file. bool isLikelyFinishedQuickly() override { return _item->_size < propagator()->smallFileSize(); } diff --git a/src/libsync/propagatedownloadencrypted.h b/src/libsync/propagatedownloadencrypted.h index 3d60adb2e8493..b379f96cb6867 100644 --- a/src/libsync/propagatedownloadencrypted.h +++ b/src/libsync/propagatedownloadencrypted.h @@ -18,7 +18,7 @@ class PropagateDownloadEncrypted : public QObject { PropagateDownloadEncrypted(OwncloudPropagator *propagator, const QString &localParentPath, SyncFileItemPtr item, QObject *parent = nullptr); void start(); bool decryptFile(QFile& tmpFile); - QString errorString() const; + [[nodiscard]] QString errorString() const; public slots: void checkFolderId(const QStringList &list); diff --git a/src/libsync/propagateupload.h b/src/libsync/propagateupload.h index b53cc652042d3..6113a419d606f 100644 --- a/src/libsync/propagateupload.h +++ b/src/libsync/propagateupload.h @@ -46,10 +46,10 @@ class UploadDevice : public QIODevice qint64 writeData(const char *, qint64) override; qint64 readData(char *data, qint64 maxlen) override; - bool atEnd() const override; - qint64 size() const override; - qint64 bytesAvailable() const override; - bool isSequential() const override; + [[nodiscard]] bool atEnd() const override; + [[nodiscard]] qint64 size() const override; + [[nodiscard]] qint64 bytesAvailable() const override; + [[nodiscard]] bool isSequential() const override; bool seek(qint64 pos) override; void setBandwidthLimited(bool); @@ -131,12 +131,12 @@ class PUTFileJob : public AbstractNetworkJob return _device; } - QString errorString() const override + [[nodiscard]] QString errorString() const override { return _errorString.isEmpty() ? AbstractNetworkJob::errorString() : _errorString; } - std::chrono::milliseconds msSinceStart() const + [[nodiscard]] std::chrono::milliseconds msSinceStart() const { return std::chrono::milliseconds(_requestTimer.elapsed()); } @@ -348,7 +348,7 @@ class PropagateUploadFileV1 : public PropagateUploadFileCommon int _chunkCount = 0; /// Total number of chunks for this file uint _transferId = 0; /// transfer id (part of the url) - qint64 chunkSize() const { + [[nodiscard]] qint64 chunkSize() const { // Old chunking does not use dynamic chunking algorithm, and does not adjusts the chunk size respectively, // thus this value should be used as the one classifing item to be chunked return propagator()->syncOptions()._initialChunkSize; diff --git a/src/libsync/propagateuploadencrypted.h b/src/libsync/propagateuploadencrypted.h index 246b32cac52a7..7bace44bc6e87 100644 --- a/src/libsync/propagateuploadencrypted.h +++ b/src/libsync/propagateuploadencrypted.h @@ -39,9 +39,9 @@ class PropagateUploadEncrypted : public QObject void unlockFolder(); - bool isUnlockRunning() const { return _isUnlockRunning; } - bool isFolderLocked() const { return _isFolderLocked; } - const QByteArray folderToken() const { return _folderToken; } + [[nodiscard]] bool isUnlockRunning() const { return _isUnlockRunning; } + [[nodiscard]] bool isFolderLocked() const { return _isFolderLocked; } + [[nodiscard]] const QByteArray folderToken() const { return _folderToken; } private slots: void slotFolderEncryptedIdReceived(const QStringList &list); diff --git a/src/libsync/pushnotifications.h b/src/libsync/pushnotifications.h index 1409c92a0e791..6d06c1e907082 100644 --- a/src/libsync/pushnotifications.h +++ b/src/libsync/pushnotifications.h @@ -52,7 +52,7 @@ class OWNCLOUDSYNC_EXPORT PushNotifications : public QObject * * Ready to use means connected and authenticated. */ - bool isReady() const; + [[nodiscard]] bool isReady() const; /** * Set the interval in which the websocket will ping the server if it is still alive. diff --git a/src/libsync/putmultifilejob.h b/src/libsync/putmultifilejob.h index a43f2805f5a99..f53b73a412cb8 100644 --- a/src/libsync/putmultifilejob.h +++ b/src/libsync/putmultifilejob.h @@ -69,12 +69,12 @@ class OWNCLOUDSYNC_EXPORT PutMultiFileJob : public AbstractNetworkJob bool finished() override; - QString errorString() const override + [[nodiscard]] QString errorString() const override { return _errorString.isEmpty() ? AbstractNetworkJob::errorString() : _errorString; } - std::chrono::milliseconds msSinceStart() const + [[nodiscard]] std::chrono::milliseconds msSinceStart() const { return std::chrono::milliseconds(_requestTimer.elapsed()); } diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h index 532eee39babf6..86f0b77312410 100644 --- a/src/libsync/syncengine.h +++ b/src/libsync/syncengine.h @@ -71,11 +71,11 @@ class OWNCLOUDSYNC_EXPORT SyncEngine : public QObject /* Abort the sync. Called from the main thread */ void abort(); - bool isSyncRunning() const { return _syncRunning; } + [[nodiscard]] bool isSyncRunning() const { return _syncRunning; } - SyncOptions syncOptions() const { return _syncOptions; } + [[nodiscard]] SyncOptions syncOptions() const { return _syncOptions; } void setSyncOptions(const SyncOptions &options) { _syncOptions = options; } - bool ignoreHiddenFiles() const { return _ignore_hidden_files; } + [[nodiscard]] bool ignoreHiddenFiles() const { return _ignore_hidden_files; } void setIgnoreHiddenFiles(bool ignore) { _ignore_hidden_files = ignore; } void addAcceptedInvalidFileName(const QString& filePath); @@ -87,11 +87,11 @@ class OWNCLOUDSYNC_EXPORT SyncEngine : public QObject /* Returns whether another sync is needed to complete the sync */ AnotherSyncNeeded isAnotherSyncNeeded() { return _anotherSyncNeeded; } - bool wasFileTouched(const QString &fn) const; + [[nodiscard]] bool wasFileTouched(const QString &fn) const; - AccountPtr account() const; - SyncJournalDb *journal() const { return _journal; } - QString localPath() const { return _localPath; } + [[nodiscard]] AccountPtr account() const; + [[nodiscard]] SyncJournalDb *journal() const { return _journal; } + [[nodiscard]] QString localPath() const { return _localPath; } /** Duration in ms that uploads should be delayed after a file change * @@ -125,10 +125,10 @@ class OWNCLOUDSYNC_EXPORT SyncEngine : public QObject * Example: If path is 'foo/bar' and style is DatabaseAndFilesystem and dirs contains * 'foo/bar/touched_file', then the result will be true. */ - bool shouldDiscoverLocally(const QString &path) const; + [[nodiscard]] bool shouldDiscoverLocally(const QString &path) const; /** Access the last sync run's local discovery style */ - LocalDiscoveryStyle lastLocalDiscoveryStyle() const { return _lastLocalDiscoveryStyle; } + [[nodiscard]] LocalDiscoveryStyle lastLocalDiscoveryStyle() const { return _lastLocalDiscoveryStyle; } /** Removes all virtual file db entries and dehydrated local placeholders. * @@ -263,7 +263,7 @@ private slots: * to recover */ void checkForPermission(SyncFileItemVector &syncItems); - RemotePermissions getPermissions(const QString &file) const; + [[nodiscard]] RemotePermissions getPermissions(const QString &file) const; /** * Instead of downloading files from the server, upload the files to the server diff --git a/src/libsync/syncfileitem.h b/src/libsync/syncfileitem.h index 5e30466bdafd8..bda583e76a7ce 100644 --- a/src/libsync/syncfileitem.h +++ b/src/libsync/syncfileitem.h @@ -115,7 +115,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem Q_ENUM(LockOwnerType) - SyncJournalFileRecord toSyncJournalFileRecordWithInode(const QString &localFileName) const; + [[nodiscard]] SyncJournalFileRecord toSyncJournalFileRecordWithInode(const QString &localFileName) const; /** Creates a basic SyncFileItem from a DB record * @@ -177,7 +177,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem return data1[prefixL] < data2[prefixL]; } - QString destination() const + [[nodiscard]] QString destination() const { if (!_renameTarget.isEmpty()) { return _renameTarget; @@ -185,12 +185,12 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem return _file; } - bool isEmpty() const + [[nodiscard]] bool isEmpty() const { return _file.isEmpty(); } - bool isDirectory() const + [[nodiscard]] bool isDirectory() const { return _type == ItemTypeDirectory; } @@ -198,7 +198,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem /** * True if the item had any kind of error. */ - bool hasErrorStatus() const + [[nodiscard]] bool hasErrorStatus() const { return _status == SyncFileItem::SoftError || _status == SyncFileItem::NormalError @@ -209,7 +209,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem /** * Whether this item should appear on the issues tab. */ - bool showInIssuesTab() const + [[nodiscard]] bool showInIssuesTab() const { return hasErrorStatus() || _status == SyncFileItem::Conflict; } @@ -217,7 +217,7 @@ class OWNCLOUDSYNC_EXPORT SyncFileItem /** * Whether this item should appear on the protocol tab. */ - bool showInProtocolTab() const + [[nodiscard]] bool showInProtocolTab() const { return (!showInIssuesTab() || _status == SyncFileItem::Restoration) // Don't show conflicts that were resolved as "not a conflict after all" diff --git a/src/libsync/syncoptions.h b/src/libsync/syncoptions.h index f109ec7fc2489..258f5b771f8c7 100644 --- a/src/libsync/syncoptions.h +++ b/src/libsync/syncoptions.h @@ -92,7 +92,7 @@ class OWNCLOUDSYNC_EXPORT SyncOptions /** A regular expression to match file names * If no pattern is provided the default is an invalid regular expression. */ - QRegularExpression fileRegex() const; + [[nodiscard]] QRegularExpression fileRegex() const; /** * A pattern like *.txt, matching only file names diff --git a/src/libsync/syncresult.h b/src/libsync/syncresult.h index 8a8f299fea792..16f777b100d50 100644 --- a/src/libsync/syncresult.h +++ b/src/libsync/syncresult.h @@ -50,40 +50,40 @@ class OWNCLOUDSYNC_EXPORT SyncResult void reset(); void appendErrorString(const QString &); - QString errorString() const; - QStringList errorStrings() const; + [[nodiscard]] QString errorString() const; + [[nodiscard]] QStringList errorStrings() const; void clearErrors(); void setStatus(Status); - Status status() const; - QString statusString() const; - QDateTime syncTime() const; + [[nodiscard]] Status status() const; + [[nodiscard]] QString statusString() const; + [[nodiscard]] QDateTime syncTime() const; void setFolder(const QString &folder); - QString folder() const; + [[nodiscard]] QString folder() const; - bool foundFilesNotSynced() const { return _foundFilesNotSynced; } - bool folderStructureWasChanged() const { return _folderStructureWasChanged; } + [[nodiscard]] bool foundFilesNotSynced() const { return _foundFilesNotSynced; } + [[nodiscard]] bool folderStructureWasChanged() const { return _folderStructureWasChanged; } - int numNewItems() const { return _numNewItems; } - int numRemovedItems() const { return _numRemovedItems; } - int numUpdatedItems() const { return _numUpdatedItems; } - int numRenamedItems() const { return _numRenamedItems; } - int numNewConflictItems() const { return _numNewConflictItems; } - int numOldConflictItems() const { return _numOldConflictItems; } + [[nodiscard]] int numNewItems() const { return _numNewItems; } + [[nodiscard]] int numRemovedItems() const { return _numRemovedItems; } + [[nodiscard]] int numUpdatedItems() const { return _numUpdatedItems; } + [[nodiscard]] int numRenamedItems() const { return _numRenamedItems; } + [[nodiscard]] int numNewConflictItems() const { return _numNewConflictItems; } + [[nodiscard]] int numOldConflictItems() const { return _numOldConflictItems; } void setNumOldConflictItems(int n) { _numOldConflictItems = n; } - int numErrorItems() const { return _numErrorItems; } - bool hasUnresolvedConflicts() const { return _numNewConflictItems + _numOldConflictItems > 0; } - - int numLockedItems() const { return _numLockedItems; } - bool hasLockedFiles() const { return _numLockedItems > 0; } - - const SyncFileItemPtr &firstItemNew() const { return _firstItemNew; } - const SyncFileItemPtr &firstItemDeleted() const { return _firstItemDeleted; } - const SyncFileItemPtr &firstItemUpdated() const { return _firstItemUpdated; } - const SyncFileItemPtr &firstItemRenamed() const { return _firstItemRenamed; } - const SyncFileItemPtr &firstNewConflictItem() const { return _firstNewConflictItem; } - const SyncFileItemPtr &firstItemError() const { return _firstItemError; } - const SyncFileItemPtr &firstItemLocked() const { return _firstItemLocked; } + [[nodiscard]] int numErrorItems() const { return _numErrorItems; } + [[nodiscard]] bool hasUnresolvedConflicts() const { return _numNewConflictItems + _numOldConflictItems > 0; } + + [[nodiscard]] int numLockedItems() const { return _numLockedItems; } + [[nodiscard]] bool hasLockedFiles() const { return _numLockedItems > 0; } + + [[nodiscard]] const SyncFileItemPtr &firstItemNew() const { return _firstItemNew; } + [[nodiscard]] const SyncFileItemPtr &firstItemDeleted() const { return _firstItemDeleted; } + [[nodiscard]] const SyncFileItemPtr &firstItemUpdated() const { return _firstItemUpdated; } + [[nodiscard]] const SyncFileItemPtr &firstItemRenamed() const { return _firstItemRenamed; } + [[nodiscard]] const SyncFileItemPtr &firstNewConflictItem() const { return _firstNewConflictItem; } + [[nodiscard]] const SyncFileItemPtr &firstItemError() const { return _firstItemError; } + [[nodiscard]] const SyncFileItemPtr &firstItemLocked() const { return _firstItemLocked; } void processCompletedItem(const SyncFileItemPtr &item); diff --git a/src/libsync/userstatusconnector.h b/src/libsync/userstatusconnector.h index 5d6d062ff00e1..a15e282c4f427 100644 --- a/src/libsync/userstatusconnector.h +++ b/src/libsync/userstatusconnector.h @@ -76,7 +76,7 @@ class OWNCLOUDSYNC_EXPORT UserStatus Q_REQUIRED_RESULT OnlineStatus state() const; Q_REQUIRED_RESULT Optional clearAt() const; - QString clearAtDisplayString() const; + [[nodiscard]] QString clearAtDisplayString() const; void setId(const QString &id); void setMessage(const QString &message); @@ -125,7 +125,7 @@ class OWNCLOUDSYNC_EXPORT UserStatusConnector : public QObject virtual void clearMessage() = 0; - virtual UserStatus userStatus() const = 0; + [[nodiscard]] virtual UserStatus userStatus() const = 0; signals: void userStatusFetched(const UserStatus &userStatus); diff --git a/src/libsync/vfs/suffix/vfs_suffix.h b/src/libsync/vfs/suffix/vfs_suffix.h index e3ddaed69350d..67797b13a743d 100644 --- a/src/libsync/vfs/suffix/vfs_suffix.h +++ b/src/libsync/vfs/suffix/vfs_suffix.h @@ -29,14 +29,14 @@ class VfsSuffix : public Vfs explicit VfsSuffix(QObject *parent = nullptr); ~VfsSuffix() override; - Mode mode() const override; - QString fileSuffix() const override; + [[nodiscard]] Mode mode() const override; + [[nodiscard]] QString fileSuffix() const override; void stop() override; void unregisterFolder() override; - bool socketApiPinStateActionsShown() const override { return true; } - bool isHydrating() const override; + [[nodiscard]] bool socketApiPinStateActionsShown() const override { return true; } + [[nodiscard]] bool isHydrating() const override; Result updateMetadata(const QString &filePath, time_t modtime, qint64 size, const QByteArray &fileId) override; diff --git a/src/libsync/vfs/xattr/vfs_xattr.h b/src/libsync/vfs/xattr/vfs_xattr.h index 2170a42a775b9..bdf44dff65816 100644 --- a/src/libsync/vfs/xattr/vfs_xattr.h +++ b/src/libsync/vfs/xattr/vfs_xattr.h @@ -29,14 +29,14 @@ class VfsXAttr : public Vfs explicit VfsXAttr(QObject *parent = nullptr); ~VfsXAttr() override; - Mode mode() const override; - QString fileSuffix() const override; + [[nodiscard]] Mode mode() const override; + [[nodiscard]] QString fileSuffix() const override; void stop() override; void unregisterFolder() override; - bool socketApiPinStateActionsShown() const override; - bool isHydrating() const override; + [[nodiscard]] bool socketApiPinStateActionsShown() const override; + [[nodiscard]] bool isHydrating() const override; Result updateMetadata(const QString &filePath, time_t modtime, qint64 size, const QByteArray &fileId) override; diff --git a/test/pushnotificationstestutils.h b/test/pushnotificationstestutils.h index 57e56831e05ec..25c1d93458492 100644 --- a/test/pushnotificationstestutils.h +++ b/test/pushnotificationstestutils.h @@ -36,13 +36,13 @@ class FakeWebSocketServer : public QObject void close(); - bool waitForTextMessages() const; + [[nodiscard]] bool waitForTextMessages() const; - uint32_t textMessagesCount() const; + [[nodiscard]] uint32_t textMessagesCount() const; - QString textMessage(int messageNumber) const; + [[nodiscard]] QString textMessage(int messageNumber) const; - QWebSocket *socketForTextMessage(int messageNumber) const; + [[nodiscard]] QWebSocket *socketForTextMessage(int messageNumber) const; void clearTextMessages(); @@ -70,11 +70,11 @@ class CredentialsStub : public OCC::AbstractCredentials public: CredentialsStub(const QString &user, const QString &password); - QString authType() const override; - QString user() const override; - QString password() const override; - QNetworkAccessManager *createQNAM() const override; - bool ready() const override; + [[nodiscard]] QString authType() const override; + [[nodiscard]] QString user() const override; + [[nodiscard]] QString password() const override; + [[nodiscard]] QNetworkAccessManager *createQNAM() const override; + [[nodiscard]] bool ready() const override; void fetchFromKeychain() override; void askFromUser() override; diff --git a/test/syncenginetestutils.h b/test/syncenginetestutils.h index e44d5d9cbd337..ddd50273bbb7e 100644 --- a/test/syncenginetestutils.h +++ b/test/syncenginetestutils.h @@ -66,11 +66,11 @@ class PathComponents : public QStringList { PathComponents(const QString &path); PathComponents(const QStringList &pathComponents); - PathComponents parentDirComponents() const; - PathComponents subComponents() const &; + [[nodiscard]] PathComponents parentDirComponents() const; + [[nodiscard]] PathComponents subComponents() const &; PathComponents subComponents() && { removeFirst(); return std::move(*this); } - QString pathRoot() const { return first(); } - QString fileName() const { return last(); } + [[nodiscard]] QString pathRoot() const { return first(); } + [[nodiscard]] QString fileName() const { return last(); } }; class FileModifier @@ -146,8 +146,8 @@ class FileInfo : public FileModifier return !operator==(other); } - QString path() const; - QString absolutePath() const; + [[nodiscard]] QString path() const; + [[nodiscard]] QString absolutePath() const; void fixupParentPathRecursively(); @@ -200,7 +200,7 @@ class FakePropfindReply : public FakeReply void abort() override { } - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; }; @@ -231,7 +231,7 @@ class FakePutMultiFileReply : public FakeReply void abort() override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; private: @@ -291,7 +291,7 @@ class FakeGetReply : public FakeReply Q_INVOKABLE void respond(); void abort() override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; }; @@ -310,7 +310,7 @@ class FakeGetWithDataReply : public FakeReply Q_INVOKABLE void respond(); void abort() override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; }; @@ -349,7 +349,7 @@ class FakePayloadReply : public FakeReply void abort() override {} qint64 readData(char *buf, qint64 max) override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; QByteArray _body; QMap _additionalHeaders; @@ -377,7 +377,7 @@ public slots: public: void abort() override { } qint64 readData(char *buf, qint64 max) override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; QByteArray _body; }; @@ -474,11 +474,11 @@ class FakeCredentials : public OCC::AbstractCredentials QNetworkAccessManager *_qnam; public: FakeCredentials(QNetworkAccessManager *qnam) : _qnam{qnam} { } - QString authType() const override { return "test"; } - QString user() const override { return "admin"; } - QString password() const override { return "password"; } - QNetworkAccessManager *createQNAM() const override { return _qnam; } - bool ready() const override { return true; } + [[nodiscard]] QString authType() const override { return "test"; } + [[nodiscard]] QString user() const override { return "admin"; } + [[nodiscard]] QString password() const override { return "password"; } + [[nodiscard]] QNetworkAccessManager *createQNAM() const override { return _qnam; } + [[nodiscard]] bool ready() const override { return true; } void fetchFromKeychain() override { } void askFromUser() override { } bool stillValid(QNetworkReply *) override { return true; } @@ -502,9 +502,9 @@ class FakeFolder void switchToVfs(QSharedPointer vfs); - OCC::AccountPtr account() const { return _account; } - OCC::SyncEngine &syncEngine() const { return *_syncEngine; } - OCC::SyncJournalDb &syncJournal() const { return *_journalDb; } + [[nodiscard]] OCC::AccountPtr account() const { return _account; } + [[nodiscard]] OCC::SyncEngine &syncEngine() const { return *_syncEngine; } + [[nodiscard]] OCC::SyncJournalDb &syncJournal() const { return *_journalDb; } FileModifier &localModifier() { return _localModifier; } FileInfo &remoteModifier() { return _fakeQnam->currentRemoteState(); } @@ -512,7 +512,7 @@ class FakeFolder FileInfo currentRemoteState() { return _fakeQnam->currentRemoteState(); } FileInfo &uploadState() { return _fakeQnam->uploadState(); } - FileInfo dbState() const; + [[nodiscard]] FileInfo dbState() const; struct ErrorList { FakeQNAM *_qnam; @@ -528,7 +528,7 @@ class FakeFolder return _fakeQnam->forEachReplyPart(outgoingData, contentType, replyFunction); } - QString localPath() const; + [[nodiscard]] QString localPath() const; void scheduleSync(); @@ -575,9 +575,9 @@ struct ItemCompletedSpy : QSignalSpy { : QSignalSpy(&folder.syncEngine(), &OCC::SyncEngine::itemCompleted) {} - OCC::SyncFileItemPtr findItem(const QString &path) const; + [[nodiscard]] OCC::SyncFileItemPtr findItem(const QString &path) const; - OCC::SyncFileItemPtr findItemWithExpectedRank(const QString &path, int rank) const; + [[nodiscard]] OCC::SyncFileItemPtr findItemWithExpectedRank(const QString &path, int rank) const; }; // QTest::toString overloads diff --git a/test/testactivitylistmodel.cpp b/test/testactivitylistmodel.cpp index a30ad2a168a42..742b97a5e12cf 100644 --- a/test/testactivitylistmodel.cpp +++ b/test/testactivitylistmodel.cpp @@ -318,7 +318,7 @@ class FakeRemoteActivityStorage return {}; } - int startingIdLast() const { return _startingId; } + [[nodiscard]] int startingIdLast() const { return _startingId; } private: static FakeRemoteActivityStorage *_instance; diff --git a/test/testdownload.cpp b/test/testdownload.cpp index f534f1a1eb776..9c0431cf84f33 100644 --- a/test/testdownload.cpp +++ b/test/testdownload.cpp @@ -22,7 +22,7 @@ class BrokenFakeGetReply : public FakeGetReply using FakeGetReply::FakeGetReply; int fakeSize = stopAfter; - qint64 bytesAvailable() const override + [[nodiscard]] qint64 bytesAvailable() const override { if (aborted) return 0; diff --git a/test/testoauth.cpp b/test/testoauth.cpp index a366407dbe306..d3be8dcffb2b6 100644 --- a/test/testoauth.cpp +++ b/test/testoauth.cpp @@ -84,7 +84,7 @@ class FakePostReply : public QNetworkReply void abort() override { aborted = true; } - qint64 bytesAvailable() const override { + [[nodiscard]] qint64 bytesAvailable() const override { if (aborted) return 0; return payload->bytesAvailable(); @@ -116,7 +116,7 @@ class OAuthTestCase : public QObject Q_ENUM(State); bool replyToBrowserOk = false; bool gotAuthOk = false; - virtual bool done() const { return replyToBrowserOk && gotAuthOk; } + [[nodiscard]] virtual bool done() const { return replyToBrowserOk && gotAuthOk; } FakeQNAM *fakeQnam = nullptr; QNetworkAccessManager realQNAM; @@ -187,7 +187,7 @@ class OAuthTestCase : public QObject return new FakePostReply(op, req, std::move(payload), fakeQnam); } - virtual QByteArray tokenReplyPayload() const { + [[nodiscard]] virtual QByteArray tokenReplyPayload() const { QJsonDocument jsondata(QJsonObject{ { "access_token", "123" }, { "refresh_token" , "456" }, diff --git a/test/testsetuserstatusdialog.cpp b/test/testsetuserstatusdialog.cpp index d529f1a16ee91..0352216234f99 100644 --- a/test/testsetuserstatusdialog.cpp +++ b/test/testsetuserstatusdialog.cpp @@ -69,7 +69,7 @@ class FakeUserStatusConnector : public OCC::UserStatusConnector } } - OCC::UserStatus userStatus() const override + [[nodiscard]] OCC::UserStatus userStatus() const override { return {}; // Not implemented } @@ -85,9 +85,9 @@ class FakeUserStatusConnector : public OCC::UserStatusConnector _predefinedStatuses = statuses; } - OCC::UserStatus userStatusSetByCallerOfSetUserStatus() const { return _userStatusSetByCallerOfSetUserStatus; } + [[nodiscard]] OCC::UserStatus userStatusSetByCallerOfSetUserStatus() const { return _userStatusSetByCallerOfSetUserStatus; } - bool messageCleared() const { return _isMessageCleared; } + [[nodiscard]] bool messageCleared() const { return _isMessageCleared; } void setErrorCouldNotFetchPredefinedUserStatuses(bool value) { @@ -137,9 +137,9 @@ class FakeDateTimeProvider : public OCC::DateTimeProvider public: void setCurrentDateTime(const QDateTime &dateTime) { _dateTime = dateTime; } - QDateTime currentDateTime() const override { return _dateTime; } + [[nodiscard]] QDateTime currentDateTime() const override { return _dateTime; } - QDate currentDate() const override { return _dateTime.date(); } + [[nodiscard]] QDate currentDate() const override { return _dateTime.date(); } private: QDateTime _dateTime; diff --git a/test/testsyncfilestatustracker.cpp b/test/testsyncfilestatustracker.cpp index e87bb6575ef5d..8abaea6b4cc79 100644 --- a/test/testsyncfilestatustracker.cpp +++ b/test/testsyncfilestatustracker.cpp @@ -20,7 +20,7 @@ class StatusPushSpy : public QSignalSpy , _syncEngine(syncEngine) { } - SyncFileStatus statusOf(const QString &relativePath) const { + [[nodiscard]] SyncFileStatus statusOf(const QString &relativePath) const { QFileInfo file(_syncEngine.localPath(), relativePath); auto locPath = _syncEngine.localPath(); // Start from the end to get the latest status @@ -31,7 +31,7 @@ class StatusPushSpy : public QSignalSpy return {}; } - bool statusEmittedBefore(const QString &firstPath, const QString &secondPath) const { + [[nodiscard]] bool statusEmittedBefore(const QString &firstPath, const QString &secondPath) const { QFileInfo firstFile(_syncEngine.localPath(), firstPath); QFileInfo secondFile(_syncEngine.localPath(), secondPath); // Start from the end to get the latest status diff --git a/test/testunifiedsearchlistmodel.cpp b/test/testunifiedsearchlistmodel.cpp index ea7de04badb4f..61885524a900d 100644 --- a/test/testunifiedsearchlistmodel.cpp +++ b/test/testunifiedsearchlistmodel.cpp @@ -265,7 +265,7 @@ class FakeSearchResultsStorage return QJsonDocument::fromVariant(QVariantMap{{QStringLiteral("ocs"), ocsMap}}).toJson(QJsonDocument::Compact); } - const QByteArray &fakeProvidersResponseJson() const { return _providersResponse; } + [[nodiscard]] const QByteArray &fakeProvidersResponseJson() const { return _providersResponse; } private: static FakeSearchResultsStorage *_instance; diff --git a/test/themeutils.h b/test/themeutils.h index 4e8327e54a147..e180b0961f031 100644 --- a/test/themeutils.h +++ b/test/themeutils.h @@ -22,12 +22,12 @@ class FakePaintDevice : public QPaintDevice public: FakePaintDevice(); - QPaintEngine *paintEngine() const override; + [[nodiscard]] QPaintEngine *paintEngine() const override; void setHidpi(bool value); protected: - int metric(QPaintDevice::PaintDeviceMetric metric) const override; + [[nodiscard]] int metric(QPaintDevice::PaintDeviceMetric metric) const override; private: bool _hidpi = false;