From: Matthieu Gallien Date: Fri, 30 Sep 2022 17:12:08 +0000 (+0200) Subject: add [[nodiscard]] attribute via clang-tidy X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~11^2~226^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=565a5f099916427ccbfa5f25dc6e8bc3e65ebfc7;p=nextcloud-desktop.git add [[nodiscard]] attribute via clang-tidy ran run-clang-tidy-14.py -header-filter='.*' -checks='-*,modernize-use-nodiscard' -fix under linux with most part of our code covered Signed-off-by: Matthieu Gallien --- diff --git a/shell_integration/dolphin/ownclouddolphinpluginhelper.h b/shell_integration/dolphin/ownclouddolphinpluginhelper.h index f6659e417..67119ba70 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 536516106..f71946e8b 100644 --- a/src/3rdparty/QProgressIndicator/QProgressIndicator.h +++ b/src/3rdparty/QProgressIndicator/QProgressIndicator.h @@ -48,27 +48,27 @@ public: \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 114869465..41f6fb954 100644 --- a/src/3rdparty/kirigami/wheelhandler.h +++ b/src/3rdparty/kirigami/wheelhandler.h @@ -111,13 +111,13 @@ public: 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 @@ public: 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 595a5fa33..29666a6c4 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.cpp +++ b/src/3rdparty/kmessagewidget/kmessagewidget.cpp @@ -61,7 +61,7 @@ public: 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 cc2767bf9..6ace579c9 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.h +++ b/src/3rdparty/kmessagewidget/kmessagewidget.h @@ -138,7 +138,7 @@ public: * 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 @@ public: * * @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 @@ public: * * @see KMessageWidget::MessageType, setMessageType() */ - MessageType messageType() const; + [[nodiscard]] MessageType messageType() const; /** * Add @p action to the message widget. @@ -187,24 +187,24 @@ public: /** * 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 @@ public: * @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 @@ public: * @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 128cbf0ff..5e1b487a2 100644 --- a/src/3rdparty/qtlockedfile/qtlockedfile.h +++ b/src/3rdparty/qtlockedfile/qtlockedfile.h @@ -61,8 +61,8 @@ public: 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 c317c42a9..0eda45a66 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 @@ public: 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 ce93a5e0a..684dfe8b1 100644 --- a/src/3rdparty/qtsingleapplication/qtlocalpeer.h +++ b/src/3rdparty/qtsingleapplication/qtlocalpeer.h @@ -43,7 +43,7 @@ public: 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 1fa8d9131..cb9c80b5d 100644 --- a/src/3rdparty/qtsingleapplication/qtsingleapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsingleapplication.h @@ -49,9 +49,9 @@ public: 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 157503212..139f9d858 100644 --- a/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h +++ b/src/3rdparty/qtsingleapplication/qtsinglecoreapplication.h @@ -42,7 +42,7 @@ public: 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 4fd40d78b..3c0e5528f 100644 --- a/src/common/checksums.h +++ b/src/common/checksums.h @@ -169,8 +169,8 @@ public: */ 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 d409dc827..47c87b2e8 100644 --- a/src/common/ownsql.h +++ b/src/common/ownsql.h @@ -50,7 +50,7 @@ public: bool transaction(); bool commit(); void close(); - QString error() const; + [[nodiscard]] QString error() const; sqlite3 *sqliteDb(); private: @@ -111,8 +111,8 @@ public: 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 @@ public: 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 e02738a60..6d7c56633 100644 --- a/src/common/remotepermissions.h +++ b/src/common/remotepermissions.h @@ -63,10 +63,10 @@ public: 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 @@ public: /// 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 @@ public: _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 77a9d121c..129efa108 100644 --- a/src/common/result.h +++ b/src/common/result.h @@ -117,13 +117,13 @@ public: 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 @@ public: 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 87ebb57e8..801fd9204 100644 --- a/src/common/syncfilestatus.h +++ b/src/common/syncfilestatus.h @@ -43,12 +43,12 @@ public: 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 327348ecb..a68a5d741 100644 --- a/src/common/syncjournaldb.h +++ b/src/common/syncjournaldb.h @@ -93,7 +93,7 @@ public: bool exists(); void walCheckpoint(); - QString databaseFilePath() const; + [[nodiscard]] QString databaseFilePath() const; static qint64 getPHash(const QByteArray &); @@ -124,7 +124,7 @@ public: * (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 9f3e0b518..13cf3ef8a 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 @@ public: * * 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 @@ public: /// 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 @@ public: 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 3adb9a4de..b024822f7 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 6179be9d5..d4b1f2f2a 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 572c297a4..f0d717079 100644 --- a/src/common/vfs.h +++ b/src/common/vfs.h @@ -131,13 +131,13 @@ public: 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 @@ public: * 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 @@ public: 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 558dea30b..d701401af 100644 --- a/src/csync/csync_exclude.h +++ b/src/csync/csync_exclude.h @@ -94,7 +94,7 @@ public: * @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 @@ private: * * 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 @@ private: * 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 0cec19053..2440f91a9 100644 --- a/src/gui/accountmanager.h +++ b/src/gui/accountmanager.h @@ -58,7 +58,7 @@ public: * 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 @@ private: 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 a9908138f..8a2db31ef 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 @@ private: 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 2e47fcf6e..1c386e511 100644 --- a/src/gui/accountstate.h +++ b/src/gui/accountstate.h @@ -271,10 +271,10 @@ public: 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 edbb0b712..6c00f6a50 100644 --- a/src/gui/application.h +++ b/src/gui/application.h @@ -64,13 +64,13 @@ public: 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 3bd2183d7..8eb94db0e 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 630099630..a599d2d6f 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 5c5b763b4..b102b8de7 100644 --- a/src/gui/conflictdialog.h +++ b/src/gui/conflictdialog.h @@ -32,9 +32,9 @@ public: 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 caf4f2286..b000e78dc 100644 --- a/src/gui/conflictsolver.h +++ b/src/gui/conflictsolver.h @@ -35,8 +35,8 @@ public: 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 3ac1cd0cd..890a04f30 100644 --- a/src/gui/creds/flow2auth.h +++ b/src/gui/creds/flow2auth.h @@ -51,7 +51,7 @@ public: 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 fd4161dbb..df059a0a7 100644 --- a/src/gui/creds/httpcredentialsgui.h +++ b/src/gui/creds/httpcredentialsgui.h @@ -54,7 +54,7 @@ public: * 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 0fa543b5e..c07cdbc86 100644 --- a/src/gui/creds/oauth.h +++ b/src/gui/creds/oauth.h @@ -55,7 +55,7 @@ public: 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 4bdf445f2..fffc11330 100644 --- a/src/gui/creds/webflowcredentials.h +++ b/src/gui/creds/webflowcredentials.h @@ -43,12 +43,12 @@ public: 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 35fb6b3bb..a965dcbde 100644 --- a/src/gui/creds/webflowcredentialsdialog.h +++ b/src/gui/creds/webflowcredentialsdialog.h @@ -28,7 +28,7 @@ public: 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 e101a65da..7938ff525 100644 --- a/src/gui/elidedlabel.h +++ b/src/gui/elidedlabel.h @@ -28,10 +28,10 @@ public: 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 2d35305d4..f67d9569d 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 @@ public: { } - 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 87e4e7a4c..217668311 100644 --- a/src/gui/folder.h +++ b/src/gui/folder.h @@ -92,7 +92,7 @@ public: 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 985fcb50b..9c4e9544e 100644 --- a/src/gui/folderman.h +++ b/src/gui/folderman.h @@ -83,7 +83,7 @@ public: */ 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 @@ public: * * @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 @@ public: * 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 @@ public: * 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 @@ public: * * See also isAnySyncRunning() */ - Folder *currentSyncFolder() const; + [[nodiscard]] Folder *currentSyncFolder() const; /** * Returns true if any folder is currently syncing. @@ -187,7 +187,7 @@ public: * 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: // 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: 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 63c2903a8..a8ed1c41d 100644 --- a/src/gui/folderstatusdelegate.h +++ b/src/gui/folderstatusdelegate.h @@ -52,7 +52,7 @@ public: }; 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 9896d5644..914406f3a 100644 --- a/src/gui/folderstatusmodel.h +++ b/src/gui/folderstatusmodel.h @@ -45,17 +45,17 @@ public: ~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 @@ public: 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 @@ public: 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 c4efe3883..f123672f6 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 9972dd50f..957f8a035 100644 --- a/src/gui/folderwatcher.h +++ b/src/gui/folderwatcher.h @@ -70,7 +70,7 @@ public: * 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 @@ public: 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 620e037ed..f251456ea 100644 --- a/src/gui/folderwatcher_linux.h +++ b/src/gui/folderwatcher_linux.h @@ -39,7 +39,7 @@ public: 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 72b83e3e3..fb60caca3 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 @@ public: 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 @@ public: 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 acc8793a9..94688c078 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 bb2510ddf..4a0d493ba 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 97b892731..8e3a97c44 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 50528a252..614bcbdf7 100644 --- a/src/gui/passwordinputdialog.h +++ b/src/gui/passwordinputdialog.h @@ -30,7 +30,7 @@ public: 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 63a262b8a..75b2ff70a 100644 --- a/src/gui/proxyauthdialog.h +++ b/src/gui/proxyauthdialog.h @@ -38,8 +38,8 @@ public: 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 06d28a62a..df9d133c4 100644 --- a/src/gui/proxyauthhandler.h +++ b/src/gui/proxyauthhandler.h @@ -77,8 +77,8 @@ private: 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 d4ecd07e8..d44b957c5 100644 --- a/src/gui/selectivesyncdialog.h +++ b/src/gui/selectivesyncdialog.h @@ -43,7 +43,7 @@ public: /** 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 @@ public: 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 @@ public: 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 2e69552c8..b1aa8f2c2 100644 --- a/src/gui/sharee.h +++ b/src/gui/sharee.h @@ -50,10 +50,10 @@ public: 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 @@ public: 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 186b6fe2b..7ecd9691e 100644 --- a/src/gui/sharelinkwidget.h +++ b/src/gui/sharelinkwidget.h @@ -113,7 +113,7 @@ private: 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 a69ec449d..16d2e47c3 100644 --- a/src/gui/sharemanager.h +++ b/src/gui/sharemanager.h @@ -70,39 +70,39 @@ public: /** * 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 @@ public: */ void setPassword(const QString &password); - bool isPasswordSet() const; + [[nodiscard]] bool isPasswordSet() const; /* * Deletes a share @@ -189,37 +189,37 @@ public: /* * 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 @@ public: /* * 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 @@ public: 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 512c5f7ca..96132005e 100644 --- a/src/gui/shareusergroupwidget.h +++ b/src/gui/shareusergroupwidget.h @@ -150,7 +150,7 @@ public: QWidget *parent = nullptr); ~ShareUserLine() override; - QSharedPointer share() const; + [[nodiscard]] QSharedPointer share() const; signals: void visualDeletionDone(); @@ -194,8 +194,8 @@ private: 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: 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 0699219ba..50df905ac 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 1f36d6cef..f3529f870 100644 --- a/src/gui/socketapi/socketapi.h +++ b/src/gui/socketapi/socketapi.h @@ -83,12 +83,12 @@ private: 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 91724d6da..729608c25 100644 --- a/src/gui/socketapi/socketapi_p.h +++ b/src/gui/socketapi/socketapi_p.h @@ -47,7 +47,7 @@ public: 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 @@ public: 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 327573260..597227e76 100644 --- a/src/gui/sslerrordialog.h +++ b/src/gui/sslerrordialog.h @@ -52,13 +52,13 @@ public: ~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 2b1db4ce2..d8afe8066 100644 --- a/src/gui/systray.h +++ b/src/gui/systray.h @@ -140,16 +140,16 @@ private: 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 1a04049dd..f9d0562b3 100644 --- a/src/gui/tray/activitydata.h +++ b/src/gui/tray/activitydata.h @@ -158,7 +158,7 @@ public: */ - 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 3274863ff..1c070487d 100644 --- a/src/gui/tray/activitylistmodel.h +++ b/src/gui/tray/activitylistmodel.h @@ -83,25 +83,25 @@ public: 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 @@ signals: 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: 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 c3327c4c0..e27c7b99c 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 dc72a5f63..4b6966921 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 b4d1bb91b..601383508 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 @@ private: 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 c69a4ee8a..4feadf2a3 100644 --- a/src/gui/tray/unifiedsearchresultslistmodel.h +++ b/src/gui/tray/unifiedsearchresultslistmodel.h @@ -70,20 +70,20 @@ public: 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 054802e3e..5735eb995 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 @@ private: 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 @@ public: 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 @@ public: 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 @@ public: 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 15680f798..f857bb832 100644 --- a/src/gui/updater/ocupdater.h +++ b/src/gui/updater/ocupdater.h @@ -110,8 +110,8 @@ public: 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 a57c6f040..af2148f46 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 c02ebabd9..1d2b8d27a 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 @@ Q_SIGNALS: 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 913798641..97d94478c 100644 --- a/src/gui/userstatusselectormodel.h +++ b/src/gui/userstatusselectormodel.h @@ -89,11 +89,11 @@ public: 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 d50a58108..a12ff6bea 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 61f7317aa..1a8713768 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 0a715d27c..4de4b593e 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: 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 adc46117d..915482b97 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 efbc9a69b..339e97b02 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 b4cee856d..590bc289f 100644 --- a/src/gui/wizard/owncloudsetuppage.h +++ b/src/gui/wizard/owncloudsetuppage.h @@ -45,14 +45,14 @@ public: 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 a23aed748..d21e8bf0d 100644 --- a/src/gui/wizard/owncloudwizard.h +++ b/src/gui/wizard/owncloudwizard.h @@ -56,20 +56,20 @@ public: 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 @@ protected: 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 1e8078f05..b32c3f637 100644 --- a/src/gui/wizard/postfixlineedit.h +++ b/src/gui/wizard/postfixlineedit.h @@ -36,9 +36,9 @@ public: /** @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 65743ec1f..19169d4f1 100644 --- a/src/gui/wizard/slideshow.h +++ b/src/gui/wizard/slideshow.h @@ -37,15 +37,15 @@ public: 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 db4febec1..23667975e 100644 --- a/src/gui/wizard/webviewpage.h +++ b/src/gui/wizard/webviewpage.h @@ -18,10 +18,10 @@ public: 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 9d0aa1c0a..bef31f775 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 aadbc3872..6af5b207c 100644 --- a/src/libsync/abstractnetworkjob.h +++ b/src/libsync/abstractnetworkjob.h @@ -45,16 +45,16 @@ public: 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 @@ public: * 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 @@ protected: 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 68db266aa..3d3dd8342 100644 --- a/src/libsync/abstractpropagateremotedeleteencrypted.h +++ b/src/libsync/abstractpropagateremotedeleteencrypted.h @@ -34,8 +34,8 @@ public: 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 4c1429f0a..d4a7858a0 100644 --- a/src/libsync/account.h +++ b/src/libsync/account.h @@ -91,7 +91,7 @@ public: AccountPtr sharedFromThis(); - AccountPtr sharedFromThis() const; + [[nodiscard]] AccountPtr sharedFromThis() const; /** * The user that can be used in dav url. @@ -99,30 +99,30 @@ public: * 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 @@ public: * 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 @@ public: /** 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 @@ public: /** 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 @@ public: 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 @@ public: * 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 @@ public: * * 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 @@ public: * * 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 @@ public: 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 1502332e3..e363ca6ee 100644 --- a/src/libsync/bulkpropagatorjob.h +++ b/src/libsync/bulkpropagatorjob.h @@ -111,7 +111,7 @@ private: 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 bbc2fd1b6..1029bcc5e 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 @@ public: * 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 @@ public: * 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 @@ public: * 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 @@ public: * * 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 @@ public: DirectEditor* getDirectEditorForOptionalMimetype(const QMimeType &mimeType); private: - QMap serverThemingMap() const; + [[nodiscard]] QMap serverThemingMap() const; QVariantMap _capabilities; @@ -192,11 +192,11 @@ public: 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 751c7d4c8..b628492b8 100644 --- a/src/libsync/clientsideencryption.h +++ b/src/libsync/clientsideencryption.h @@ -99,8 +99,8 @@ public: 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 @@ private: public: void forgetSensitiveData(const AccountPtr &account); - bool newMnemonicGenerated() const; + [[nodiscard]] bool newMnemonicGenerated() const; public slots: void slotRequestMnemonic(); @@ -150,8 +150,8 @@ private: 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 @@ public: void addEncryptedFile(const EncryptedFile& f); void removeEncryptedFile(const EncryptedFile& f); void removeAllEncryptedFiles(); - QVector files() const; + [[nodiscard]] QVector files() const; private: @@ -196,11 +196,11 @@ private: 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 cf5716770..e731f3016 100644 --- a/src/libsync/configfile.h +++ b/src/libsync/configfile.h @@ -43,9 +43,9 @@ public: 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 @@ public: * * 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 @@ public: 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 @@ public: 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 @@ public: 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 6d3703aaa..23aed009c 100644 --- a/src/libsync/cookiejar.h +++ b/src/libsync/cookiejar.h @@ -32,7 +32,7 @@ public: 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 720caf0d2..6dfb9af6b 100644 --- a/src/libsync/creds/abstractcredentials.h +++ b/src/libsync/creds/abstractcredentials.h @@ -43,16 +43,16 @@ public: */ 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 80aa04109..30537fef1 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 18d460cc9..a2dbb5c1f 100644 --- a/src/libsync/creds/httpcredentials.h +++ b/src/libsync/creds/httpcredentials.h @@ -83,15 +83,15 @@ public: 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 @@ public: 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 0e8684372..b6bc50e45 100644 --- a/src/libsync/creds/keychainchunk.h +++ b/src/libsync/creds/keychainchunk.h @@ -47,13 +47,13 @@ public: ~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 @@ public: * @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 1525a2e3d..f836c5c97 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 9f192c78e..4bc6351e5 100644 --- a/src/libsync/deletejob.h +++ b/src/libsync/deletejob.h @@ -32,7 +32,7 @@ public: 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 3e18d81d2..1b1ec4a10 100644 --- a/src/libsync/discovery.h +++ b/src/libsync/discovery.h @@ -96,7 +96,7 @@ public: _isInsideEncryptedTree = isInsideEncryptedTree; } - bool isInsideEncryptedTree() const + [[nodiscard]] bool isInsideEncryptedTree() const { return _isInsideEncryptedTree; } @@ -135,7 +135,7 @@ private: { 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 @@ private: */ 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 @@ private: 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 f4bb42704..d1f723399 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 75293b81d..1a8646f64 100644 --- a/src/libsync/encryptfolderjob.h +++ b/src/libsync/encryptfolderjob.h @@ -33,7 +33,7 @@ public: 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 b813ea97e..ea6c7a765 100644 --- a/src/libsync/localdiscoverytracker.h +++ b/src/libsync/localdiscoverytracker.h @@ -66,7 +66,7 @@ public: 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 c169e056e..644244a10 100644 --- a/src/libsync/networkjobs.h +++ b/src/libsync/networkjobs.h @@ -150,7 +150,7 @@ public: * 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 @@ public: * 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 @@ public: * 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 @@ private: Verb _verb = Verb::Get; - QByteArray verbToString() const; + [[nodiscard]] QByteArray verbToString() const; }; /** diff --git a/src/libsync/ocsprofileconnector.h b/src/libsync/ocsprofileconnector.h index 69cd60116..aeb82d87c 100644 --- a/src/libsync/ocsprofileconnector.h +++ b/src/libsync/ocsprofileconnector.h @@ -34,7 +34,7 @@ public: 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 0d366419f..3f42a7230 100644 --- a/src/libsync/ocsuserstatusconnector.h +++ b/src/libsync/ocsuserstatusconnector.h @@ -37,7 +37,7 @@ public: 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 951a63d5a..6138d7bb9 100644 --- a/src/libsync/owncloudpropagator.h +++ b/src/libsync/owncloudpropagator.h @@ -110,7 +110,7 @@ public: * 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 @@ signals: */ 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 @@ protected: * 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 @@ protected: _item->_errorString = msg; } - bool hasEncryptedAncestor() const; + [[nodiscard]] bool hasEncryptedAncestor() const; protected slots: void slotRestoreJobFinished(SyncFileItem::Status status); @@ -279,7 +279,7 @@ public: } } - qint64 committedDiskSpace() const override; + [[nodiscard]] qint64 committedDiskSpace() const override; private slots: void slotSubJobAbortFinished(); @@ -342,7 +342,7 @@ public: } - qint64 committedDiskSpace() const override + [[nodiscard]] qint64 committedDiskSpace() const override { return _subJobs.committedDiskSpace(); } @@ -373,7 +373,7 @@ public: 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 @@ public: 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 @@ public: 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 @@ public: } } - AccountPtr account() const; + [[nodiscard]] AccountPtr account() const; enum DiskSpaceResult { DiskSpaceOk, @@ -567,7 +567,7 @@ public: /** 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 @@ public: // 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 @@ public: 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 3e34fdd8f..3cde3916e 100644 --- a/src/libsync/progressdispatcher.h +++ b/src/libsync/progressdispatcher.h @@ -68,7 +68,7 @@ public: Done }; - Status status() const; + [[nodiscard]] Status status() const; /** * Called when propagation starts. @@ -84,21 +84,21 @@ public: * 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 @@ public: 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 @@ public: /** * Get the total completion estimate */ - Estimates totalProgress() const; + [[nodiscard]] Estimates totalProgress() const; /** * Get the optimistic eta. @@ -193,7 +193,7 @@ public: * 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 @@ public: * 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 941d349b0..47d8a5c9e 100644 --- a/src/libsync/propagatedownload.h +++ b/src/libsync/propagatedownload.h @@ -97,7 +97,7 @@ public: 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 @@ public: 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 @@ public: { } 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 3d60adb2e..b379f96cb 100644 --- a/src/libsync/propagatedownloadencrypted.h +++ b/src/libsync/propagatedownloadencrypted.h @@ -18,7 +18,7 @@ public: 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 b53cc6520..6113a419d 100644 --- a/src/libsync/propagateupload.h +++ b/src/libsync/propagateupload.h @@ -46,10 +46,10 @@ public: 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 @@ public: 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 @@ private: 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 246b32cac..7bace44bc 100644 --- a/src/libsync/propagateuploadencrypted.h +++ b/src/libsync/propagateuploadencrypted.h @@ -39,9 +39,9 @@ public: 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 1409c92a0..6d06c1e90 100644 --- a/src/libsync/pushnotifications.h +++ b/src/libsync/pushnotifications.h @@ -52,7 +52,7 @@ public: * * 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 a43f2805f..f53b73a41 100644 --- a/src/libsync/putmultifilejob.h +++ b/src/libsync/putmultifilejob.h @@ -69,12 +69,12 @@ public: 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 532eee39b..86f0b7731 100644 --- a/src/libsync/syncengine.h +++ b/src/libsync/syncengine.h @@ -71,11 +71,11 @@ public: /* 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 @@ public: /* 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 @@ public: * 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: * 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 5e30466bd..bda583e76 100644 --- a/src/libsync/syncfileitem.h +++ b/src/libsync/syncfileitem.h @@ -115,7 +115,7 @@ public: 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 @@ public: return data1[prefixL] < data2[prefixL]; } - QString destination() const + [[nodiscard]] QString destination() const { if (!_renameTarget.isEmpty()) { return _renameTarget; @@ -185,12 +185,12 @@ public: 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 @@ public: /** * 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 @@ public: /** * 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 @@ public: /** * 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 f109ec7fc..258f5b771 100644 --- a/src/libsync/syncoptions.h +++ b/src/libsync/syncoptions.h @@ -92,7 +92,7 @@ public: /** 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 8a8f299fe..16f777b10 100644 --- a/src/libsync/syncresult.h +++ b/src/libsync/syncresult.h @@ -50,40 +50,40 @@ public: 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 5d6d062ff..a15e282c4 100644 --- a/src/libsync/userstatusconnector.h +++ b/src/libsync/userstatusconnector.h @@ -76,7 +76,7 @@ public: 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 @@ public: 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 e3ddaed69..67797b13a 100644 --- a/src/libsync/vfs/suffix/vfs_suffix.h +++ b/src/libsync/vfs/suffix/vfs_suffix.h @@ -29,14 +29,14 @@ public: 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 2170a42a7..bdf44dff6 100644 --- a/src/libsync/vfs/xattr/vfs_xattr.h +++ b/src/libsync/vfs/xattr/vfs_xattr.h @@ -29,14 +29,14 @@ public: 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 57e56831e..25c1d9345 100644 --- a/test/pushnotificationstestutils.h +++ b/test/pushnotificationstestutils.h @@ -36,13 +36,13 @@ public: 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 e44d5d9cb..ddd50273b 100644 --- a/test/syncenginetestutils.h +++ b/test/syncenginetestutils.h @@ -66,11 +66,11 @@ public: 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 @@ public: return !operator==(other); } - QString path() const; - QString absolutePath() const; + [[nodiscard]] QString path() const; + [[nodiscard]] QString absolutePath() const; void fixupParentPathRecursively(); @@ -200,7 +200,7 @@ public: void abort() override { } - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; }; @@ -231,7 +231,7 @@ public: void abort() override; - qint64 bytesAvailable() const override; + [[nodiscard]] qint64 bytesAvailable() const override; qint64 readData(char *data, qint64 maxlen) override; private: @@ -291,7 +291,7 @@ public: 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 @@ public: 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 @@ public: 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 @@ public: 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 @@ public: 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 @@ public: 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 a30ad2a16..742b97a5e 100644 --- a/test/testactivitylistmodel.cpp +++ b/test/testactivitylistmodel.cpp @@ -318,7 +318,7 @@ public: 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 f534f1a1e..9c0431cf8 100644 --- a/test/testdownload.cpp +++ b/test/testdownload.cpp @@ -22,7 +22,7 @@ public: 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 a366407db..d3be8dcff 100644 --- a/test/testoauth.cpp +++ b/test/testoauth.cpp @@ -84,7 +84,7 @@ public: 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 @@ public: 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 @@ public: 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 d529f1a16..035221623 100644 --- a/test/testsetuserstatusdialog.cpp +++ b/test/testsetuserstatusdialog.cpp @@ -69,7 +69,7 @@ public: } } - OCC::UserStatus userStatus() const override + [[nodiscard]] OCC::UserStatus userStatus() const override { return {}; // Not implemented } @@ -85,9 +85,9 @@ public: _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 e87bb6575..8abaea6b4 100644 --- a/test/testsyncfilestatustracker.cpp +++ b/test/testsyncfilestatustracker.cpp @@ -20,7 +20,7 @@ public: , _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 @@ public: 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 ea7de04ba..61885524a 100644 --- a/test/testunifiedsearchlistmodel.cpp +++ b/test/testunifiedsearchlistmodel.cpp @@ -265,7 +265,7 @@ public: 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 4e8327e54..e180b0961 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;