clang-tidy: Avoid warnings for calling virtual methods from ctor
authorManuel Nickschas <sputnick@quassel-irc.org>
Tue, 4 Sep 2018 22:37:25 +0000 (00:37 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 6 Sep 2018 06:02:07 +0000 (08:02 +0200)
MessageFilter and its derivatives call their idString() method
during construction in order to access their settings. This is fine,
but causes (legitimate) warnings in static analysis.

Make the scope explicit when calling idString() to avoid the warning,
and make it clear to readers that we're not interested in the derived
version.

src/client/messagefilter.cpp
src/client/messagefilter.h
src/qtui/chatmonitorfilter.cpp
src/qtui/chatmonitorfilter.h

index 67a873a..578f340 100644 (file)
@@ -63,7 +63,7 @@ void MessageFilter::init()
     _messageTypeFilter = defaultSettings.messageFilter();
     defaultSettings.notify("MessageTypeFilter", this, SLOT(messageTypeFilterChanged()));
 
-    BufferSettings mySettings(idString());
+    BufferSettings mySettings(MessageFilter::idString());
     if (mySettings.hasFilter())
         _messageTypeFilter = mySettings.messageFilter();
     mySettings.notify("MessageTypeFilter", this, SLOT(messageTypeFilterChanged()));
index 81fa3ff..61091f1 100644 (file)
@@ -40,12 +40,14 @@ protected:
 public:
     MessageFilter(MessageModel *, const QList<BufferId> &buffers = QList<BufferId>(), QObject *parent = 0);
 
-    virtual bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const;
     virtual QString idString() const;
-    inline bool isSingleBufferFilter() const { return _validBuffers.count() == 1; }
+
+    bool isSingleBufferFilter() const { return _validBuffers.count() == 1; }
     BufferId singleBufferId() const { return *(_validBuffers.constBegin()); }
-    inline bool containsBuffer(const BufferId &id) const { return _validBuffers.contains(id); }
-    inline QSet<BufferId> containedBuffers() const { return _validBuffers; }
+    bool containsBuffer(const BufferId &id) const { return _validBuffers.contains(id); }
+    QSet<BufferId> containedBuffers() const { return _validBuffers; }
+
+    bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
 
 public slots:
     void messageTypeFilterChanged();
index 45cc6c0..c1dcf13 100644 (file)
@@ -38,7 +38,7 @@ ChatMonitorFilter::ChatMonitorFilter(MessageModel *model, QObject *parent)
     // and ChatMonitorSettingsPage::defaults() to match
 
     // Chat Monitor specific configuration
-    ChatViewSettings viewSettings(idString());
+    ChatViewSettings viewSettings(ChatMonitorFilter::idString());
     _showFields = viewSettings.value("ShowFields", AllFields).toInt();
     _showOwnMessages = viewSettings.value("ShowOwnMsgs", true).toBool();
     viewSettings.notify("ShowFields", this, SLOT(showFieldsSettingChanged(const QVariant &)));
index beba9bc..a3344d0 100644 (file)
@@ -18,8 +18,7 @@
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
  ***************************************************************************/
 
-#ifndef CHATMONITORFILTER_H_
-#define CHATMONITORFILTER_H_
+#pragma once
 
 #include <QDateTime>
 
@@ -79,6 +78,3 @@ private:
     bool _includeRead;
     bool _showSenderBrackets;   /// If true, show brackets around sender names
 };
-
-
-#endif