modernize: Pass arguments by value and move in constructors
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 6 Sep 2018 19:01:22 +0000 (21:01 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Sun, 18 Nov 2018 10:06:43 +0000 (11:06 +0100)
If a method (or constructor) wants to store an argument in a local
variable or attribute, one should prefer passing it in by value
and moving it into the final location, rather than taking a
const reference and copying it over. In the best case, this saves
one copy, if the method is called with an rvalue.

This pattern is most frequent in constructors initializing class
members, so let clang-tidy fix this for argument types that have
move constructors.

49 files changed:
src/client/clientsettings.cpp
src/client/clientsettings.h
src/client/networkmodel.cpp
src/client/networkmodel.h
src/client/treemodel.cpp
src/client/treemodel.h
src/common/aliasmanager.h
src/common/basichandler.cpp
src/common/basichandler.h
src/common/bufferinfo.cpp
src/common/buffersyncer.cpp
src/common/buffersyncer.h
src/common/ctcpevent.h
src/common/highlightrulemanager.h
src/common/ignorelistmanager.h
src/common/ircevent.h
src/common/irclisthelper.h
src/common/message.cpp
src/common/message.h
src/common/messageevent.cpp
src/common/messageevent.h
src/common/network.h
src/common/networkevent.h
src/common/protocol.h
src/common/settings.h
src/common/signalproxy.cpp
src/common/transfer.cpp
src/common/transfer.h
src/core/coresession.h
src/core/coreuserinputhandler.h
src/core/ctcpparser.h
src/core/keyevent.h
src/qtui/chatitem.h
src/qtui/chatscene.cpp
src/qtui/chatscene.h
src/qtui/qtuimessageprocessor.h
src/qtui/settingspages/bufferviewsettingspage.cpp
src/qtui/settingspages/bufferviewsettingspage.h
src/qtui/settingspages/identitiessettingspage.cpp
src/qtui/settingspages/identityeditwidget.h
src/qtui/settingspages/networkssettingspage.cpp
src/qtui/settingspages/networkssettingspage.h
src/uisupport/aboutdata.cpp
src/uisupport/aboutdata.h
src/uisupport/abstractnotificationbackend.h
src/uisupport/settingspage.cpp
src/uisupport/settingspage.h
src/uisupport/uisettings.cpp
src/uisupport/uisettings.h

index 5e11431..171d7fe 100644 (file)
@@ -25,6 +25,7 @@
 #include <QHostAddress>
 #ifdef HAVE_SSL
 #include <QSslSocket>
+#include <utility>
 #endif
 
 #include "client.h"
@@ -42,9 +43,9 @@ ClientSettings::~ClientSettings()
 
 /***********************************************************************************************/
 
-CoreAccountSettings::CoreAccountSettings(const QString &subgroup)
+CoreAccountSettings::CoreAccountSettings(QString subgroup)
     : ClientSettings("CoreAccounts"),
-    _subgroup(subgroup)
+    _subgroup(std::move(subgroup))
 {
 }
 
index ce2a71e..a8980ef 100644 (file)
@@ -54,7 +54,7 @@ class CLIENT_EXPORT CoreAccountSettings : public ClientSettings
 {
 public:
     // stores account-specific data in CoreAccounts/$ACCID/$SUBGROUP/$KEY)
-    CoreAccountSettings(const QString &subgroup = "General");
+    CoreAccountSettings(QString subgroup = "General");
 
     void notify(const QString &key, QObject *receiver, const char *slot) override;
 
index 1634936..7b7f5bc 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QAbstractItemView>
 #include <QMimeData>
+#include <utility>
 
 #include "buffermodel.h"
 #include "buffersettings.h"
@@ -282,9 +283,9 @@ void NetworkItem::onNetworkDestroyed()
 /*****************************************
 *  Fancy Buffer Items
 *****************************************/
-BufferItem::BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent)
+BufferItem::BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent)
     : PropertyMapItem(parent),
-    _bufferInfo(bufferInfo),
+    _bufferInfo(std::move(bufferInfo)),
     _activity(BufferInfo::NoActivity)
 {
     setFlags(Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsDragEnabled);
index 4f1e26e..370e6de 100644 (file)
@@ -109,7 +109,7 @@ class BufferItem : public PropertyMapItem
     Q_PROPERTY(int nickCount READ nickCount)
 
 public :
-    BufferItem(const BufferInfo &bufferInfo, AbstractTreeItem *parent = nullptr);
+    BufferItem(BufferInfo bufferInfo, AbstractTreeItem *parent = nullptr);
 
     QStringList propertyOrder() const override;
 
index fa66ba6..e456f6f 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QCoreApplication>
 #include <QDebug>
+#include <utility>
 
 #include "quassel.h"
 
@@ -230,9 +231,9 @@ void AbstractTreeItem::dumpChildList()
 /*****************************************
  * SimpleTreeItem
  *****************************************/
-SimpleTreeItem::SimpleTreeItem(const QList<QVariant> &data, AbstractTreeItem *parent)
+SimpleTreeItem::SimpleTreeItem(QList<QVariant> data, AbstractTreeItem *parent)
     : AbstractTreeItem(parent),
-    _itemData(data)
+    _itemData(std::move(data))
 {
 }
 
index 5d3fbf3..db7e5ab 100644 (file)
@@ -106,7 +106,7 @@ class CLIENT_EXPORT SimpleTreeItem : public AbstractTreeItem
     Q_OBJECT
 
 public:
-    SimpleTreeItem(const QList<QVariant> &data, AbstractTreeItem *parent = nullptr);
+    SimpleTreeItem(QList<QVariant> data, AbstractTreeItem *parent = nullptr);
     ~SimpleTreeItem() override;
 
     QVariant data(int column, int role) const override;
index fd3f5d6..b061465 100644 (file)
@@ -23,6 +23,7 @@
 #include "common-export.h"
 
 #include <QVariantMap>
+#include <utility>
 
 #include "bufferinfo.h"
 #include "syncableobject.h"
@@ -41,7 +42,7 @@ public:
     struct Alias {
         QString name;
         QString expansion;
-        Alias(const QString &name_, const QString &expansion_) : name(name_), expansion(expansion_) {}
+        Alias(QString name_, QString expansion_) : name(std::move(name_)), expansion(std::move(expansion_)) {}
     };
     using AliasList = QList<Alias>;
 
index 6e7e438..5c3140f 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QDebug>
 #include <QMetaMethod>
+#include <utility>
 
 BasicHandler::BasicHandler(QObject *parent)
     : QObject(parent),
@@ -32,11 +33,11 @@ BasicHandler::BasicHandler(QObject *parent)
 }
 
 
-BasicHandler::BasicHandler(const QString &methodPrefix, QObject *parent)
+BasicHandler::BasicHandler(QString methodPrefix, QObject *parent)
     : QObject(parent),
     _defaultHandler(-1),
     _initDone(false),
-    _methodPrefix(methodPrefix)
+    _methodPrefix(std::move(methodPrefix))
 {
 }
 
index 081e8df..8b63374 100644 (file)
@@ -34,7 +34,7 @@ class COMMON_EXPORT BasicHandler : public QObject
 
 public:
     BasicHandler(QObject *parent = nullptr);
-    BasicHandler(const QString &methodPrefix, QObject *parent = nullptr);
+    BasicHandler(QString methodPrefix, QObject *parent = nullptr);
 
     QStringList providesHandlers();
 
index 1d0496d..8ac1f4b 100644 (file)
@@ -22,6 +22,7 @@
 #include <QDataStream>
 #include <QDebug>
 #include <QByteArray>
+#include <utility>
 
 #include "bufferinfo.h"
 
@@ -42,7 +43,7 @@ BufferInfo::BufferInfo(BufferId id,  NetworkId networkid, Type type, uint gid, Q
     _netid(networkid),
     _type(type),
     _groupId(gid),
-    _bufferName(buf)
+    _bufferName(std::move(buf))
 {
 }
 
index 5c3a7d3..9949306 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "buffersyncer.h"
 
+#include <utility>
+
 BufferSyncer::BufferSyncer(QObject *parent)
     : SyncableObject(parent)
 {
@@ -27,16 +29,16 @@ BufferSyncer::BufferSyncer(QObject *parent)
 
 
 BufferSyncer::BufferSyncer(
-        const QHash<BufferId, MsgId> &lastSeenMsg,
-        const QHash<BufferId, MsgId> &markerLines,
-        const QHash<BufferId, Message::Types> &activities,
-        const QHash<BufferId, int> &highlightCounts,
+        QHash<BufferId, MsgId> lastSeenMsg,
+        QHash<BufferId, MsgId> markerLines,
+        QHash<BufferId, Message::Types> activities,
+        QHash<BufferId, int> highlightCounts,
         QObject *parent
 ) : SyncableObject(parent),
-    _lastSeenMsg(lastSeenMsg),
-    _markerLines(markerLines),
-    _bufferActivities(activities),
-    _highlightCounts(highlightCounts)
+    _lastSeenMsg(std::move(lastSeenMsg)),
+    _markerLines(std::move(markerLines)),
+    _bufferActivities(std::move(activities)),
+    _highlightCounts(std::move(highlightCounts))
 {
 }
 
index 6db6f9c..6d9160c 100644 (file)
@@ -33,7 +33,7 @@ class COMMON_EXPORT BufferSyncer : public SyncableObject
 
 public:
     explicit BufferSyncer(QObject *parent);
-    explicit BufferSyncer(const QHash<BufferId, MsgId> &lastSeenMsg, const QHash<BufferId, MsgId> &markerLines, const QHash<BufferId, Message::Types> &activities, const QHash<BufferId, int> &highlightCounts, QObject *parent);
+    explicit BufferSyncer(QHash<BufferId, MsgId> lastSeenMsg, QHash<BufferId, MsgId> markerLines, QHash<BufferId, Message::Types> activities, QHash<BufferId, int> highlightCounts, QObject *parent);
 
     MsgId lastSeenMsg(BufferId buffer) const;
     MsgId markerLine(BufferId buffer) const;
index 0a31077..f9d7f43 100644 (file)
@@ -25,6 +25,7 @@
 #include "ircevent.h"
 
 #include <QUuid>
+#include <utility>
 
 class COMMON_EXPORT CtcpEvent : public IrcEvent
 {
@@ -34,14 +35,14 @@ public:
         Reply
     };
 
-    explicit CtcpEvent(EventManager::EventType type, Network *network, const QString &prefix, const QString &target,
-        CtcpType ctcpType, const QString &ctcpCmd, const QString &param,
+    explicit CtcpEvent(EventManager::EventType type, Network *network, const QString &prefix, QString target,
+        CtcpType ctcpType, QString ctcpCmd, QString param,
         const QDateTime &timestamp = QDateTime(), const QUuid &uuid = QUuid())
         : IrcEvent(type, network, prefix),
         _ctcpType(ctcpType),
-        _ctcpCmd(ctcpCmd),
-        _target(target),
-        _param(param),
+        _ctcpCmd(std::move(ctcpCmd)),
+        _target(std::move(target)),
+        _param(std::move(param)),
         _uuid(uuid)
     {
         setTimestamp(timestamp);
index addbbf6..5a2d4a8 100644 (file)
@@ -77,8 +77,8 @@ public:
          */
         HighlightRule(int id, QString contents, bool isRegEx, bool isCaseSensitive, bool isEnabled,
                       bool isInverse, QString sender, QString chanName)
-            : _id(id), _contents(contents), _isRegEx(isRegEx), _isCaseSensitive(isCaseSensitive),
-              _isEnabled(isEnabled), _isInverse(isInverse), _sender(sender), _chanName(chanName)
+            : _id(id), _contents(std::move(contents)), _isRegEx(isRegEx), _isCaseSensitive(isCaseSensitive),
+              _isEnabled(isEnabled), _isInverse(isInverse), _sender(std::move(sender)), _chanName(std::move(chanName))
         {
             _cacheInvalid = true;
             // Cache expression matches on construction
index 1bec1c8..bd09608 100644 (file)
@@ -25,6 +25,7 @@
 #include <QString>
 #include <QStringList>
 #include <QRegExp>
+#include <utility>
 
 #include "expressionmatch.h"
 #include "message.h"
@@ -81,11 +82,11 @@ public:
          * @param scopeRule        String representing a scope rule expression to match
          * @param isEnabled        True if enabled, otherwise false
          */
-        IgnoreListItem(IgnoreType type, const QString &contents, bool isRegEx,
-                       StrictnessType strictness, ScopeType scope, const QString &scopeRule,
+        IgnoreListItem(IgnoreType type, QString contents, bool isRegEx,
+                       StrictnessType strictness, ScopeType scope, QString scopeRule,
                        bool isEnabled)
-            : _contents(contents), _isRegEx(isRegEx), _strictness(strictness),
-              _scope(scope), _scopeRule(scopeRule), _isEnabled(isEnabled)
+            : _contents(std::move(contents)), _isRegEx(isRegEx), _strictness(strictness),
+              _scope(scope), _scopeRule(std::move(scopeRule)), _isEnabled(isEnabled)
         {
             // Allow passing empty "contents" as they can happen when editing an ignore rule
 
index c3611e4..5d13b2f 100644 (file)
@@ -20,6 +20,8 @@
 
 #pragma once
 
+#include <utility>
+
 #include "common-export.h"
 
 #include "networkevent.h"
 class COMMON_EXPORT IrcEvent : public NetworkEvent
 {
 public:
-    explicit IrcEvent(EventManager::EventType type, Network *network, const QString &prefix, const QStringList &params = QStringList())
+    explicit IrcEvent(EventManager::EventType type, Network *network, QString prefix, QStringList params = QStringList())
         : NetworkEvent(type, network),
-        _prefix(prefix),
-        _params(params)
+        _prefix(std::move(prefix)),
+        _params(std::move(params))
     {}
 
     inline QString prefix() const { return _prefix; }
@@ -66,10 +68,10 @@ private:
 class COMMON_EXPORT IrcEventNumeric : public IrcEvent
 {
 public:
-    explicit IrcEventNumeric(uint number, Network *network, const QString &prefix, const QString &target, const QStringList &params = QStringList())
+    explicit IrcEventNumeric(uint number, Network *network, const QString &prefix, QString target, const QStringList &params = QStringList())
         : IrcEvent(EventManager::IrcEventNumeric, network, prefix, params),
         _number(number),
-        _target(target)
+        _target(std::move(target))
     {}
 
     inline uint number() const { return _number; }
@@ -104,10 +106,10 @@ class COMMON_EXPORT IrcEventRawMessage : public IrcEvent
 {
 public:
     explicit inline IrcEventRawMessage(EventManager::EventType type, Network *network,
-        const QByteArray &rawMessage, const QString &prefix, const QString &target,
+        QByteArray rawMessage, const QString &prefix, const QString &target,
         const QDateTime &timestamp = QDateTime())
         : IrcEvent(type, network, prefix, QStringList() << target),
-        _rawMessage(rawMessage)
+        _rawMessage(std::move(rawMessage))
     {
         setTimestamp(timestamp);
     }
index b5d72df..aee7cf1 100644 (file)
@@ -20,6 +20,8 @@
 
 #pragma once
 
+#include <utility>
+
 #include "common-export.h"
 
 #include "syncableobject.h"
@@ -45,7 +47,7 @@ public:
         QString channelName;
         quint32 userCount;
         QString topic;
-        ChannelDescription(const QString &channelName_, quint32 userCount_, const QString &topic_) : channelName(channelName_), userCount(userCount_), topic(topic_) {};
+        ChannelDescription(QString channelName_, quint32 userCount_, QString topic_) : channelName(std::move(channelName_)), userCount(userCount_), topic(std::move(topic_)) {};
     };
 
 public slots:
index fc50d37..8cf74d2 100644 (file)
 #include "signalproxy.h"
 
 #include <QDataStream>
+#include <utility>
 
-Message::Message(const BufferInfo &bufferInfo, Type type, const QString &contents, const QString &sender,
-                 const QString &senderPrefixes, const QString &realName, const QString &avatarUrl, Flags flags)
+Message::Message(BufferInfo bufferInfo, Type type, QString contents, QString sender,
+                 QString senderPrefixes, QString realName, QString avatarUrl, Flags flags)
     : _timestamp(QDateTime::currentDateTime().toUTC()),
-    _bufferInfo(bufferInfo),
-    _contents(contents),
-    _sender(sender),
-    _senderPrefixes(senderPrefixes),
-    _realName(realName),
-    _avatarUrl(avatarUrl),
+    _bufferInfo(std::move(bufferInfo)),
+    _contents(std::move(contents)),
+    _sender(std::move(sender)),
+    _senderPrefixes(std::move(senderPrefixes)),
+    _realName(std::move(realName)),
+    _avatarUrl(std::move(avatarUrl)),
     _type(type),
     _flags(flags)
 {
 }
 
 
-Message::Message(const QDateTime &ts, const BufferInfo &bufferInfo, Type type, const QString &contents,
-                 const QString &sender, const QString &senderPrefixes, const QString &realName,
-                 const QString &avatarUrl, Flags flags)
-    : _timestamp(ts),
-    _bufferInfo(bufferInfo),
-    _contents(contents),
-    _sender(sender),
-    _senderPrefixes(senderPrefixes),
-    _realName(realName),
-    _avatarUrl(avatarUrl),
+Message::Message(QDateTime ts, BufferInfo bufferInfo, Type type, QString contents,
+                 QString sender, QString senderPrefixes, QString realName,
+                 QString avatarUrl, Flags flags)
+    : _timestamp(std::move(ts)),
+    _bufferInfo(std::move(bufferInfo)),
+    _contents(std::move(contents)),
+    _sender(std::move(sender)),
+    _senderPrefixes(std::move(senderPrefixes)),
+    _realName(std::move(realName)),
+    _avatarUrl(std::move(avatarUrl)),
     _type(type),
     _flags(flags)
 {
index fa9e6b0..8b16aa0 100644 (file)
@@ -68,12 +68,12 @@ public:
     };
     Q_DECLARE_FLAGS(Flags, Flag)
 
-    Message(const BufferInfo &bufferInfo = BufferInfo(), Type type = Plain, const QString &contents = {},
-            const QString &sender = {}, const QString &senderPrefixes = {}, const QString &realName = {},
-            const QString &avatarUrl = {}, Flags flags = None);
-    Message(const QDateTime &ts, const BufferInfo &buffer = BufferInfo(), Type type = Plain,
-            const QString &contents = {}, const QString &sender = {}, const QString &senderPrefixes = {},
-            const QString &realName = {}, const QString &avatarUrl = {}, Flags flags = None);
+    Message(BufferInfo bufferInfo = BufferInfo(), Type type = Plain, QString contents = {},
+            QString sender = {}, QString senderPrefixes = {}, QString realName = {},
+            QString avatarUrl = {}, Flags flags = None);
+    Message(QDateTime ts, BufferInfo buffer = BufferInfo(), Type type = Plain,
+            QString contents = {}, QString sender = {}, QString senderPrefixes = {},
+            QString realName = {}, QString avatarUrl = {}, Flags flags = None);
 
     inline static Message ChangeOfDay(const QDateTime &day) { return Message(day, BufferInfo(), DayChange); }
     inline const MsgId &msgId() const { return _msgId; }
index 01b4049..f58fa0b 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "messageevent.h"
 
+#include <utility>
+
 Event *MessageEvent::create(EventManager::EventType type, QVariantMap &map, Network *network)
 {
     if (type == EventManager::MessageEvent)
@@ -29,13 +31,13 @@ Event *MessageEvent::create(EventManager::EventType type, QVariantMap &map, Netw
 }
 
 
-MessageEvent::MessageEvent(Message::Type msgType, Network *net, const QString &msg, const QString &sender, const QString &target,
+MessageEvent::MessageEvent(Message::Type msgType, Network *net, QString msg, const QString &sender, QString target,
     Message::Flags flags, const QDateTime &timestamp)
     : NetworkEvent(EventManager::MessageEvent, net),
     _msgType(msgType),
-    _text(msg),
+    _text(std::move(msg)),
     _sender(sender),
-    _target(target),
+    _target(std::move(target)),
     _msgFlags(flags)
 {
     IrcChannel *channel = network()->ircChannel(_target);
index 9702e46..7e6df26 100644 (file)
@@ -33,9 +33,9 @@ class COMMON_EXPORT MessageEvent : public NetworkEvent
 public:
     explicit MessageEvent(Message::Type msgType,
         Network *network,
-        const QString &msg,
+        QString msg,
         const QString &sender = QString(),
-        const QString &target = QString(),
+        QString target = QString(),
         Message::Flags msgFlags = Message::None,
         const QDateTime &timestamp = QDateTime()
         );
index 4fe30f1..9e50e4a 100644 (file)
@@ -31,6 +31,7 @@
 #include <QPointer>
 #include <QMutex>
 #include <QByteArray>
+#include <utility>
 
 #include "types.h"
 #include "util.h"
@@ -134,9 +135,9 @@ public :
         Server() : port(6667), useSsl(false), sslVerify(true), sslVersion(0), useProxy(false),
             proxyType(QNetworkProxy::Socks5Proxy), proxyHost("localhost"), proxyPort(8080) {}
 
-        Server(const QString &host, uint port, const QString &password, bool useSsl,
+        Server(QString host, uint port, QString password, bool useSsl,
                bool sslVerify)
-            : host(host), port(port), password(password), useSsl(useSsl), sslVerify(sslVerify),
+            : host(std::move(host)), port(port), password(std::move(password)), useSsl(useSsl), sslVerify(sslVerify),
               sslVersion(0), useProxy(false), proxyType(QNetworkProxy::Socks5Proxy),
               proxyHost("localhost"), proxyPort(8080) {}
 
index 878b064..39d4868 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QStringList>
 #include <QVariantList>
+#include <utility>
 
 #include "event.h"
 #include "network.h"
@@ -86,9 +87,9 @@ private:
 class COMMON_EXPORT NetworkDataEvent : public NetworkEvent
 {
 public:
-    explicit NetworkDataEvent(EventManager::EventType type, Network *network, const QByteArray &data)
+    explicit NetworkDataEvent(EventManager::EventType type, Network *network, QByteArray data)
         : NetworkEvent(type, network),
-        _data(data)
+        _data(std::move(data))
     {}
 
     inline QByteArray data() const { return _data; }
@@ -118,13 +119,13 @@ class COMMON_EXPORT NetworkSplitEvent : public NetworkEvent
 public:
     explicit NetworkSplitEvent(EventManager::EventType type,
         Network *network,
-        const QString &channel,
-        const QStringList &users,
-        const QString &quitMsg)
+        QString channel,
+        QStringList users,
+        QString quitMsg)
         : NetworkEvent(type, network),
-        _channel(channel),
-        _users(users),
-        _quitMsg(quitMsg)
+        _channel(std::move(channel)),
+        _users(std::move(users)),
+        _quitMsg(std::move(quitMsg))
     {}
 
     inline QString channel() const { return _channel; }
index 1e3114f..47dabd9 100644 (file)
@@ -23,6 +23,7 @@
 #include <QByteArray>
 #include <QDateTime>
 #include <QVariantList>
+#include <utility>
 
 #include "quassel.h"
 
@@ -58,10 +59,10 @@ struct HandshakeMessage {
 
 struct RegisterClient : public HandshakeMessage
 {
-    inline RegisterClient(Quassel::Features clientFeatures, const QString &clientVersion, const QString &buildDate, bool sslSupported = false)
+    inline RegisterClient(Quassel::Features clientFeatures, QString clientVersion, QString buildDate, bool sslSupported = false)
         : features(std::move(clientFeatures))
-        , clientVersion(clientVersion)
-        , buildDate(buildDate)
+        , clientVersion(std::move(clientVersion))
+        , buildDate(std::move(buildDate))
         , sslSupported(sslSupported)
     {}
 
@@ -76,8 +77,8 @@ struct RegisterClient : public HandshakeMessage
 
 struct ClientDenied : public HandshakeMessage
 {
-    inline ClientDenied(const QString &errorString)
-    : errorString(errorString) {}
+    inline ClientDenied(QString errorString)
+    : errorString(std::move(errorString)) {}
 
     QString errorString;
 };
@@ -85,11 +86,11 @@ struct ClientDenied : public HandshakeMessage
 
 struct ClientRegistered : public HandshakeMessage
 {
-    inline ClientRegistered(Quassel::Features coreFeatures, bool coreConfigured, const QVariantList &backendInfo, const QVariantList &authenticatorInfo, bool sslSupported)
+    inline ClientRegistered(Quassel::Features coreFeatures, bool coreConfigured, QVariantList backendInfo, QVariantList authenticatorInfo, bool sslSupported)
         : features(std::move(coreFeatures))
         , coreConfigured(coreConfigured)
-        , backendInfo(backendInfo)
-        , authenticatorInfo(authenticatorInfo)
+        , backendInfo(std::move(backendInfo))
+        , authenticatorInfo(std::move(authenticatorInfo))
         , sslSupported(sslSupported)
     {}
 
@@ -107,15 +108,15 @@ struct ClientRegistered : public HandshakeMessage
 
 struct SetupData : public HandshakeMessage
 {
-    inline SetupData(const QString &adminUser, const QString &adminPassword, const QString &backend,
-                     const QVariantMap &setupData, const QString &authenticator = QString(),
-                     const QVariantMap &authSetupData = QVariantMap())
-    : adminUser(adminUser)
-    , adminPassword(adminPassword)
-    , backend(backend)
-    , setupData(setupData)
-    , authenticator(authenticator)
-    , authSetupData(authSetupData)
+    inline SetupData(QString adminUser, QString adminPassword, QString backend,
+                     QVariantMap setupData, QString authenticator = QString(),
+                     QVariantMap authSetupData = QVariantMap())
+    : adminUser(std::move(adminUser))
+    , adminPassword(std::move(adminPassword))
+    , backend(std::move(backend))
+    , setupData(std::move(setupData))
+    , authenticator(std::move(authenticator))
+    , authSetupData(std::move(authSetupData))
     {}
 
     QString adminUser;
@@ -129,8 +130,8 @@ struct SetupData : public HandshakeMessage
 
 struct SetupFailed : public HandshakeMessage
 {
-    inline SetupFailed(const QString &errorString)
-    : errorString(errorString) {}
+    inline SetupFailed(QString errorString)
+    : errorString(std::move(errorString)) {}
 
     QString errorString;
 };
@@ -144,8 +145,8 @@ struct SetupDone : public HandshakeMessage
 
 struct Login : public HandshakeMessage
 {
-    inline Login(const QString &user, const QString &password)
-    : user(user), password(password) {}
+    inline Login(QString user, QString password)
+    : user(std::move(user)), password(std::move(password)) {}
 
     QString user;
     QString password;
@@ -154,8 +155,8 @@ struct Login : public HandshakeMessage
 
 struct LoginFailed : public HandshakeMessage
 {
-    inline LoginFailed(const QString &errorString)
-    : errorString(errorString) {}
+    inline LoginFailed(QString errorString)
+    : errorString(std::move(errorString)) {}
 
     QString errorString;
 };
@@ -171,8 +172,8 @@ struct LoginSuccess : public HandshakeMessage
 struct SessionState : public HandshakeMessage
 {
     inline SessionState() {} // needed for QMetaType (for the mono client)
-    inline SessionState(const QVariantList &identities, const QVariantList &bufferInfos, const QVariantList &networkIds)
-    : identities(identities), bufferInfos(bufferInfos), networkIds(networkIds) {}
+    inline SessionState(QVariantList identities, QVariantList bufferInfos, QVariantList networkIds)
+    : identities(std::move(identities)), bufferInfos(std::move(bufferInfos)), networkIds(std::move(networkIds)) {}
 
     QVariantList identities;
     QVariantList bufferInfos;
@@ -190,8 +191,8 @@ struct SignalProxyMessage
 struct SyncMessage : public SignalProxyMessage
 {
     SyncMessage() = default;
-    SyncMessage(const QByteArray &className, const QString &objectName, const QByteArray &slotName, const QVariantList &params)
-        : className(className), objectName(objectName), slotName(slotName), params(params) {}
+    SyncMessage(QByteArray className, QString objectName, QByteArray slotName, QVariantList params)
+        : className(std::move(className)), objectName(std::move(objectName)), slotName(std::move(slotName)), params(std::move(params)) {}
 
     QByteArray className;
     QString objectName;
@@ -203,8 +204,8 @@ struct SyncMessage : public SignalProxyMessage
 struct RpcCall : public SignalProxyMessage
 {
     RpcCall() = default;
-    RpcCall(const QByteArray &slotName, const QVariantList &params)
-        : slotName(slotName), params(params) {}
+    RpcCall(QByteArray slotName, QVariantList params)
+        : slotName(std::move(slotName)), params(std::move(params)) {}
 
     QByteArray slotName;
     QVariantList params;
@@ -214,8 +215,8 @@ struct RpcCall : public SignalProxyMessage
 struct InitRequest : public SignalProxyMessage
 {
     InitRequest() = default;
-    InitRequest(const QByteArray &className, const QString &objectName)
-        : className(className), objectName(objectName) {}
+    InitRequest(QByteArray className, QString objectName)
+        : className(std::move(className)), objectName(std::move(objectName)) {}
 
     QByteArray className;
     QString objectName;
@@ -225,8 +226,8 @@ struct InitRequest : public SignalProxyMessage
 struct InitData : public SignalProxyMessage
 {
     InitData() = default;
-    InitData(const QByteArray &className, const QString &objectName, const QVariantMap &initData)
-        : className(className), objectName(objectName), initData(initData) {}
+    InitData(QByteArray className, QString objectName, QVariantMap initData)
+        : className(std::move(className)), objectName(std::move(objectName)), initData(std::move(initData)) {}
 
     QByteArray className;
     QString objectName;
@@ -238,7 +239,7 @@ struct InitData : public SignalProxyMessage
 
 struct HeartBeat
 {
-    inline HeartBeat(const QDateTime &timestamp) : timestamp(timestamp) {}
+    inline HeartBeat(QDateTime timestamp) : timestamp(std::move(timestamp)) {}
 
     QDateTime timestamp;
 };
@@ -246,7 +247,7 @@ struct HeartBeat
 
 struct HeartBeatReply
 {
-    inline HeartBeatReply(const QDateTime &timestamp) : timestamp(timestamp) {}
+    inline HeartBeatReply(QDateTime timestamp) : timestamp(std::move(timestamp)) {}
 
     QDateTime timestamp;
 };
index a575172..5a2a6b7 100644 (file)
@@ -27,6 +27,7 @@
 #include <QSettings>
 #include <QString>
 #include <QVariant>
+#include <utility>
 
 #include "quassel.h"
 
@@ -99,7 +100,7 @@ public:
     bool isWritable();
 
 protected:
-    inline Settings(QString group_, QString appName_) : group(group_), appName(appName_) {}
+    inline Settings(QString group_, QString appName_) : group(std::move(group_)), appName(std::move(appName_)) {}
     inline virtual ~Settings() {}
 
     inline void setGroup(const QString &group_) { group = group_; }
index f0711f1..7bd8751 100644 (file)
@@ -18,6 +18,8 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
+#include <utility>
+
 #include <QCoreApplication>
 #include <QHostAddress>
 #include <QMetaMethod>
@@ -69,7 +71,7 @@ private:
         QObject *sender;
         int signalId;
         QByteArray signature;
-        Signal(QObject *sender, int sigId, const QByteArray &signature) : sender(sender), signalId(sigId), signature(signature) {}
+        Signal(QObject *sender, int sigId, QByteArray signature) : sender(sender), signalId(sigId), signature(std::move(signature)) {}
         Signal() : sender(nullptr), signalId(-1) {}
     };
 
index 12f85f7..cf07f29 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "transfer.h"
 
+#include <utility>
+
 Transfer::Transfer(const QUuid &uuid, QObject *parent)
     : SyncableObject(parent),
     _status(Status::New),
@@ -31,15 +33,15 @@ Transfer::Transfer(const QUuid &uuid, QObject *parent)
     init();
 }
 
-Transfer::Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
+Transfer::Transfer(Direction direction, QString nick, QString fileName, const QHostAddress &address, quint16 port, quint64 fileSize, QObject *parent)
     : SyncableObject(parent),
     _status(Status::New),
     _direction(direction),
-    _fileName(fileName),
+    _fileName(std::move(fileName)),
     _address(address),
     _port(port),
     _fileSize(fileSize),
-    _nick(nick),
+    _nick(std::move(nick)),
     _uuid(QUuid::createUuid())
 {
     init();
index 506d883..66e01e2 100644 (file)
@@ -62,7 +62,7 @@ public:
     Q_ENUMS(Direction)
 
     Transfer(const QUuid &uuid, QObject *parent = nullptr); // for creating a syncable object client-side
-    Transfer(Direction direction, const QString &nick, const QString &fileName, const QHostAddress &address, quint16 port, quint64 size = 0, QObject *parent = nullptr);
+    Transfer(Direction direction, QString nick, QString fileName, const QHostAddress &address, quint16 port, quint64 size = 0, QObject *parent = nullptr);
 
     QUuid uuid() const;
     Status status() const;
index 2cbba0c..ed9b5fe 100644 (file)
@@ -24,6 +24,7 @@
 #include <QSet>
 #include <QString>
 #include <QVariant>
+#include <utility>
 
 #include "coreinfo.h"
 #include "corealiasmanager.h"
@@ -290,6 +291,6 @@ struct RawMessage {
     QString text;
     QString sender;
     Message::Flags flags;
-    RawMessage(NetworkId networkId, Message::Type type, BufferInfo::Type bufferType, const QString &target, const QString &text, const QString &sender, Message::Flags flags)
-        : networkId(networkId), type(type), bufferType(bufferType), target(target), text(text), sender(sender), flags(flags) {}
+    RawMessage(NetworkId networkId, Message::Type type, BufferInfo::Type bufferType, QString target, QString text, QString sender, Message::Flags flags)
+        : networkId(networkId), type(type), bufferType(bufferType), target(std::move(target)), text(std::move(text)), sender(std::move(sender)), flags(flags) {}
 };
index 6a9766a..94d8464 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef COREUSERINPUTHANDLER_H
 #define COREUSERINPUTHANDLER_H
 
+#include <utility>
+
 #include "corebasichandler.h"
 #include "corenetwork.h"
 
@@ -121,7 +123,7 @@ private:
     struct Command {
         BufferInfo bufferInfo;
         QString command;
-        Command(const BufferInfo &info, const QString &command) : bufferInfo(info), command(command) {}
+        Command(BufferInfo info, QString command) : bufferInfo(std::move(info)), command(std::move(command)) {}
         Command() {}
     };
 
index 5808a71..9630f6c 100644 (file)
@@ -22,6 +22,7 @@
 #define CTCPPARSER_H
 
 #include <QUuid>
+#include <utility>
 
 #include "corenetwork.h"
 #include "eventmanager.h"
@@ -89,7 +90,7 @@ private:
         QList<QByteArray> replies;
 
         CtcpReply() : network(nullptr) {}
-        CtcpReply(CoreNetwork *net, const QString &buf) : network(net), bufferName(buf) {}
+        CtcpReply(CoreNetwork *net, QString buf) : network(net), bufferName(std::move(buf)) {}
     };
 
     QHash<QUuid, CtcpReply> _replies;
index b3f4d48..65db084 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef KEYEVENT_H
 #define KEYEVENT_H
 
+#include <utility>
+
 #include "ircevent.h"
 
 class KeyEvent : public IrcEvent
@@ -31,13 +33,13 @@ public:
         Finish
     };
 
-    explicit KeyEvent(EventManager::EventType type, Network *network, const QString &prefix, const QString &target,
-        ExchangeType exchangeType, const QByteArray &key,
+    explicit KeyEvent(EventManager::EventType type, Network *network, const QString &prefix, QString target,
+        ExchangeType exchangeType, QByteArray key,
         const QDateTime &timestamp = QDateTime())
         : IrcEvent(type, network, prefix),
         _exchangeType(exchangeType),
-        _target(target),
-        _key(key)
+        _target(std::move(target)),
+        _key(std::move(key))
     {
         setTimestamp(timestamp);
     }
index 41937fc..a945795 100644 (file)
@@ -31,6 +31,7 @@
 #include "qtui.h"
 
 #include <QTextLayout>
+#include <utility>
 
 class ChatLine;
 class ChatView;
@@ -249,7 +250,7 @@ struct ContentsChatItemPrivate {
     Clickable currentClickable;
     Clickable activeClickable;
 
-    ContentsChatItemPrivate(const ClickableList &c, ContentsChatItem *parent) : contentsItem(parent), clickables(c) {}
+    ContentsChatItemPrivate(ClickableList c, ContentsChatItem *parent) : contentsItem(parent), clickables(std::move(c)) {}
 };
 
 class ContentsChatItem::WrapColumnFinder
index 4e6b766..78c33c8 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "chatscene.h"
 
+#include <utility>
+
 #include <QApplication>
 #include <QClipboard>
 #include <QDesktopServices>
 
 const qreal minContentsWidth = 200;
 
-ChatScene::ChatScene(QAbstractItemModel *model, const QString &idString, qreal width, ChatView *parent)
+ChatScene::ChatScene(QAbstractItemModel *model, QString idString, qreal width, ChatView *parent)
     : QGraphicsScene(0, 0, width, 0, (QObject *)parent),
     _chatView(parent),
-    _idString(idString),
+    _idString(std::move(idString)),
     _model(model),
     _singleBufferId(BufferId()),
     _sceneRect(0, 0, width, 0),
index b2d31fc..ed27be7 100644 (file)
@@ -72,7 +72,7 @@ public:
         TripleClick
     };
 
-    ChatScene(QAbstractItemModel *model, const QString &idString, qreal width, ChatView *parent);
+    ChatScene(QAbstractItemModel *model, QString idString, qreal width, ChatView *parent);
     ~ChatScene() override;
 
     inline QAbstractItemModel *model() const { return _model; }
index d6d39f3..bf43766 100644 (file)
@@ -22,6 +22,7 @@
 #define QTUIMESSAGEPROCESSOR_H_
 
 #include <QTimer>
+#include <utility>
 
 #include "abstractmessageprocessor.h"
 #include "expressionmatch.h"
@@ -89,8 +90,8 @@ private:
          */
         LegacyHighlightRule(QString contents, bool isRegEx, bool isCaseSensitive, bool isEnabled,
                       QString chanName)
-            : _contents(contents), _isRegEx(isRegEx), _isCaseSensitive(isCaseSensitive),
-              _isEnabled(isEnabled), _chanName(chanName)
+            : _contents(std::move(contents)), _isRegEx(isRegEx), _isCaseSensitive(isCaseSensitive),
+              _isEnabled(isEnabled), _chanName(std::move(chanName))
         {
             _cacheInvalid = true;
             // Cache expression matches on construction
index 7323697..3a4da10 100644 (file)
@@ -21,6 +21,7 @@
 #include "bufferviewsettingspage.h"
 
 #include <QMessageBox>
+#include <utility>
 
 #include "buffermodel.h"
 #include "bufferviewconfig.h"
@@ -576,7 +577,7 @@ BufferViewConfig *BufferViewSettingsPage::configForDisplay(BufferViewConfig *con
 /**************************************************************************
  * BufferViewEditDlg
  *************************************************************************/
-BufferViewEditDlg::BufferViewEditDlg(const QString &old, const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist)
+BufferViewEditDlg::BufferViewEditDlg(const QString &old, QStringList exist, QWidget *parent) : QDialog(parent), existing(std::move(exist))
 {
     ui.setupUi(this);
 
index f78288b..dbe47d1 100644 (file)
@@ -94,7 +94,7 @@ class BufferViewEditDlg : public QDialog
     Q_OBJECT
 
 public:
-    BufferViewEditDlg(const QString &old, const QStringList &existing = QStringList(), QWidget *parent = nullptr);
+    BufferViewEditDlg(const QString &old, QStringList existing = QStringList(), QWidget *parent = nullptr);
 
     inline QString bufferViewName() const { return ui.bufferViewEdit->text(); }
 
index 71e48cf..15e584a 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <QInputDialog>
 #include <QMessageBox>
+#include <utility>
 
 #include "client.h"
 #include "icon.h"
@@ -464,8 +465,8 @@ void SaveIdentitiesDlg::clientEvent()
 
 /*************************************************************************************************/
 
-NickEditDlg::NickEditDlg(const QString &old, const QStringList &exist, QWidget *parent)
-    : QDialog(parent), oldNick(old), existing(exist)
+NickEditDlg::NickEditDlg(const QString &old, QStringList exist, QWidget *parent)
+    : QDialog(parent), oldNick(old), existing(std::move(exist))
 {
     ui.setupUi(this);
 
index 07a62ad..19c6774 100644 (file)
@@ -98,7 +98,7 @@ class NickEditDlg : public QDialog
     Q_OBJECT
 
 public:
-    NickEditDlg(const QString &oldnick, const QStringList &existing = QStringList(), QWidget *parent = nullptr);
+    NickEditDlg(const QString &oldnick, QStringList existing = QStringList(), QWidget *parent = nullptr);
 
     QString nick() const;
 
index 478acd1..afc4698 100644 (file)
@@ -21,6 +21,7 @@
 #include <QHeaderView>
 #include <QMessageBox>
 #include <QTextCodec>
+#include <utility>
 
 #include "networkssettingspage.h"
 
@@ -1029,7 +1030,7 @@ IdentityId NetworksSettingsPage::defaultIdentity() const
 * NetworkAddDlg
 *************************************************************************/
 
-NetworkAddDlg::NetworkAddDlg(const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist)
+NetworkAddDlg::NetworkAddDlg(QStringList exist, QWidget *parent) : QDialog(parent), existing(std::move(exist))
 {
     ui.setupUi(this);
     ui.useSSL->setIcon(icon::get("document-encrypt"));
@@ -1121,7 +1122,7 @@ void NetworkAddDlg::updateSslPort(bool isChecked)
  * NetworkEditDlg
  *************************************************************************/
 
-NetworkEditDlg::NetworkEditDlg(const QString &old, const QStringList &exist, QWidget *parent) : QDialog(parent), existing(exist)
+NetworkEditDlg::NetworkEditDlg(const QString &old, QStringList exist, QWidget *parent) : QDialog(parent), existing(std::move(exist))
 {
     ui.setupUi(this);
 
index 5c9db11..461c3e0 100644 (file)
@@ -166,7 +166,7 @@ class NetworkAddDlg : public QDialog
     Q_OBJECT
 
 public:
-    NetworkAddDlg(const QStringList &existing = QStringList(), QWidget *parent = nullptr);
+    NetworkAddDlg(QStringList existing = QStringList(), QWidget *parent = nullptr);
 
     NetworkInfo networkInfo() const;
 
@@ -195,7 +195,7 @@ class NetworkEditDlg : public QDialog
     Q_OBJECT
 
 public:
-    NetworkEditDlg(const QString &old, const QStringList &existing = QStringList(), QWidget *parent = nullptr);
+    NetworkEditDlg(const QString &old, QStringList existing = QStringList(), QWidget *parent = nullptr);
 
     QString networkName() const;
 
index 070b1d8..4c4537e 100644 (file)
 #include "aboutdata.h"
 
 #include <QImage>
+#include <utility>
 
 #include "quassel.h"
 
 
-AboutPerson::AboutPerson(const QString &name, const QString &nick, const QString &task, const QString &emailAddress, QLocale::Language translatedLanguage)
-    : _name(name)
-    , _nick(nick)
-    , _task(task)
-    , _emailAddress(emailAddress)
+AboutPerson::AboutPerson(QString name, QString nick, QString task, QString emailAddress, QLocale::Language translatedLanguage)
+    : _name(std::move(name))
+    , _nick(std::move(nick))
+    , _task(std::move(task))
+    , _emailAddress(std::move(emailAddress))
     , _language(translatedLanguage)
 {
 
index de27cbb..072bcb7 100644 (file)
@@ -48,7 +48,7 @@ public:
      * @param[in] emailAddress The person's email address, if applicable
      * @param[in] translatedLanguage The language the person helped translate (only applicable for translators)
      */
-    AboutPerson(const QString &name, const QString &nick, const QString &task, const QString &emailAddress = QString(), QLocale::Language translatedLanguage = QLocale::C);
+    AboutPerson(QString name, QString nick, QString task, QString emailAddress = QString(), QLocale::Language translatedLanguage = QLocale::C);
 
     /**
      * Gets the person's name.
index 3655d95..86d0973 100644 (file)
@@ -24,6 +24,7 @@
 
 #include <QObject>
 #include <QString>
+#include <utility>
 
 #include "bufferinfo.h"
 
@@ -48,8 +49,8 @@ public:
         QString sender;
         QString message;
 
-        Notification(uint id_, BufferId buf_, NotificationType type_, const QString &sender_, const QString &msg_)
-            : notificationId(id_), bufferId(buf_), type(type_), sender(sender_), message(msg_) {};
+        Notification(uint id_, BufferId buf_, NotificationType type_, QString sender_, QString msg_)
+            : notificationId(id_), bufferId(buf_), type(type_), sender(std::move(sender_)), message(std::move(msg_)) {};
     };
 
     inline AbstractNotificationBackend(QObject *parent) : QObject(parent) {};
index 9be56bd..ed48f07 100644 (file)
 #include <QComboBox>
 #include <QSpinBox>
 #include <QVariant>
+#include <utility>
 
 #include "fontselector.h"
 
 #include "uisettings.h"
 
-SettingsPage::SettingsPage(const QString &category, const QString &title, QWidget *parent)
+SettingsPage::SettingsPage(QString category, QString title, QWidget *parent)
     : QWidget(parent),
-    _category(category),
-    _title(title),
+    _category(std::move(category)),
+    _title(std::move(title)),
     _changed(false),
     _autoWidgetsChanged(false)
 {
index 57bcfec..fe71d73 100644 (file)
@@ -61,7 +61,7 @@ class UISUPPORT_EXPORT SettingsPage : public QWidget
     Q_OBJECT
 
 public:
-    SettingsPage(const QString &category, const QString &name, QWidget *parent = nullptr);
+    SettingsPage(QString category, QString name, QWidget *parent = nullptr);
     ~SettingsPage() override {};
 
     //! The category of this settings page.
index 7e19e20..dc1199a 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "uisettings.h"
 
+#include <utility>
+
 #include "action.h"
 #include "actioncollection.h"
 
@@ -70,8 +72,8 @@ QList<UiStyle::FormatType> UiStyleSettings::availableFormats()
  * SessionSettings
  **************************************************************************/
 
-SessionSettings::SessionSettings(const QString &sessionId, const QString &group)
-    : UiSettings(group), _sessionId(sessionId)
+SessionSettings::SessionSettings(QString sessionId, const QString &group)
+    : UiSettings(group), _sessionId(std::move(sessionId))
 {
 }
 
index e597e59..c90f908 100644 (file)
@@ -62,7 +62,7 @@ public:
 class UISUPPORT_EXPORT SessionSettings : public UiSettings
 {
 public:
-    SessionSettings(const QString &sessionId, const QString &group = "Session");
+    SessionSettings(QString sessionId, const QString &group = "Session");
 
     void setValue(const QString &key, const QVariant &data) override;
     QVariant value(const QString &key, const QVariant &def = QVariant()) override;