From 5ff9e9bb451b348a015cad4cc4d95e364912f35a Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <alberto.nidasio@skywarder.eu>
Date: Fri, 23 Sep 2022 11:45:40 +0200
Subject: [PATCH] [sbs] Fixed code formatting

---
 .vscode/settings.json                         |  5 +++-
 .../contextmenuseparator.h                    |  5 ++--
 .../ErrorDisplayer/errordisplayer.h           |  2 +-
 .../ModulesPicker/modulespicker.cpp           |  3 +-
 .../SubscriptionsPanel/subscriptionspanel.cpp | 30 ++++++++++++-------
 .../SubscriptionsPanel/subscriptionspanel.h   |  7 +++--
 .../Components/ToggleButton/togglebutton.h    |  2 +-
 .../topicandfieldfilterselector.h             |  4 +--
 .../TopicFilterSelector/topicfilterselector.h |  4 +--
 src/shared/Core/Message/messagefield.h        | 14 ++++-----
 src/shared/Core/Message/modulemessage.cpp     |  2 +-
 src/shared/Core/Message/modulemessage.h       |  4 +--
 src/shared/Core/Message/topic.h               |  8 ++---
 src/shared/Core/Message/topicandfieldfilter.h |  8 ++---
 src/shared/Core/Message/topicfilter.h         |  6 ++--
 src/shared/Core/QCustomPlot/QCustomPlot.cpp   |  4 +--
 src/shared/Core/modulesmanager.cpp            |  5 +---
 src/shared/Core/xmlobject.cpp                 | 17 ++++++-----
 .../Modules/CommandPad/MessageFormElement.cpp | 12 +++++---
 src/shared/Modules/Graph/Graph.cpp            |  8 +++--
 .../incomingmessagesviewermodule.cpp          |  7 +++--
 src/shared/Modules/Mavlink/mavlinkmodule.cpp  | 20 ++++++++-----
 src/shared/Modules/Mavlink/mavlinkreader.cpp  |  6 ++--
 src/shared/Modules/Mavlink/mavlinkreader.h    |  2 +-
 .../Mavlink/mavlinkrocketmsgtestingmodule.cpp |  4 +--
 src/shared/Modules/Test/testmodule.cpp        | 10 ++++---
 .../TimerController/timercontrollermodule.cpp | 17 ++++-------
 .../valuesconverterviewermodule.cpp           |  5 ++--
 src/shared/Modules/moduleslist.cpp            | 26 ----------------
 29 files changed, 122 insertions(+), 125 deletions(-)

diff --git a/.vscode/settings.json b/.vscode/settings.json
index fee18e3d..312c8ddb 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -108,7 +108,10 @@
         "qsplitter": "cpp",
         "qdebug": "cpp",
         "qcloseevent": "cpp",
-        "qthread": "cpp"
+        "qthread": "cpp",
+        "qtopengl": "cpp",
+        "forward_list": "cpp",
+        "cfenv": "cpp"
     },
     "editor.defaultFormatter": "ms-vscode.cpptools",
     "[xml]": {
diff --git a/src/shared/Components/ContextMenuSeparator/contextmenuseparator.h b/src/shared/Components/ContextMenuSeparator/contextmenuseparator.h
index 5c5790f6..66f93e53 100644
--- a/src/shared/Components/ContextMenuSeparator/contextmenuseparator.h
+++ b/src/shared/Components/ContextMenuSeparator/contextmenuseparator.h
@@ -7,8 +7,9 @@
 class ContextMenuSeparator : public QWidgetAction
 {
 public:
-    ContextMenuSeparator(QWidget *parent = nullptr);
-    ContextMenuSeparator(const QString &txt, QWidget *parent = nullptr);
+    explicit ContextMenuSeparator(QWidget *parent = nullptr);
+    explicit ContextMenuSeparator(const QString &txt,
+                                  QWidget *parent = nullptr);
     ~ContextMenuSeparator();
     void setHeight(int val);
     void setText(const QString &txt);
diff --git a/src/shared/Components/ErrorDisplayer/errordisplayer.h b/src/shared/Components/ErrorDisplayer/errordisplayer.h
index 40dd4724..6324f1c8 100644
--- a/src/shared/Components/ErrorDisplayer/errordisplayer.h
+++ b/src/shared/Components/ErrorDisplayer/errordisplayer.h
@@ -17,7 +17,7 @@ class ErrorDisplayer : public QWidget
     Q_OBJECT
 
 public:
-    ErrorDisplayer(QWidget* parent);
+    explicit ErrorDisplayer(QWidget* parent);
     ~ErrorDisplayer();
 
     void createError(QString title, QString text, ErrorType type, int duration);
diff --git a/src/shared/Components/ModulesPicker/modulespicker.cpp b/src/shared/Components/ModulesPicker/modulespicker.cpp
index c8d58b06..3ade6c0d 100644
--- a/src/shared/Components/ModulesPicker/modulespicker.cpp
+++ b/src/shared/Components/ModulesPicker/modulespicker.cpp
@@ -126,7 +126,8 @@ void ModulesPicker::onModuleSelected(Module* module)
 Module* ModulesPicker::start()
 {
     Module* mSelected = nullptr;
-    selectedModule    = &mSelected;
+    // cppcheck-suppress danglingLifetime
+    selectedModule = &mSelected;
     this->exec();
     return mSelected;
 }
diff --git a/src/shared/Components/SubscriptionsPanel/subscriptionspanel.cpp b/src/shared/Components/SubscriptionsPanel/subscriptionspanel.cpp
index 05d3e005..2b5225dc 100644
--- a/src/shared/Components/SubscriptionsPanel/subscriptionspanel.cpp
+++ b/src/shared/Components/SubscriptionsPanel/subscriptionspanel.cpp
@@ -1,11 +1,14 @@
 #include "subscriptionspanel.h"
 
 #include <QDebug>
+#include <functional>
 
 #include "Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.h"
 #include "Components/TopicFilterSelector/topicfilterselector.h"
 #include "ui_subscriptionspanel.h"
 
+using namespace std;
+
 SubscriptionsPanel::SubscriptionsPanel(
     const QList<TopicAndFieldFilter>& filters)
     : QWidget(nullptr), ui(new Ui::SubscriptionsPanel)
@@ -14,7 +17,7 @@ SubscriptionsPanel::SubscriptionsPanel(
     this->setAttribute(Qt::WA_DeleteOnClose, true);
 
     for (auto filter : filters)
-        addSubscription(filter);
+        addTopicAndFieldFilter(filter);
 
     connect(ui->button_addTopic, &QPushButton::clicked, this,
             &SubscriptionsPanel::onAddTopicClicked);
@@ -26,30 +29,39 @@ SubscriptionsPanel::SubscriptionsPanel(
 
 SubscriptionsPanel::~SubscriptionsPanel() { delete ui; }
 
-void SubscriptionsPanel::addSubscription(const TopicAndFieldFilter& filter)
+void SubscriptionsPanel::addTopicAndFieldFilter(
+    const TopicAndFieldFilter& filter)
+{
+    QListWidgetItem* listItem = new QListWidgetItem(filter.toString());
+    ui->subscriptions_list->addItem(listItem);
+    emit topicAndFieldFilterAdded(filter);
+}
+
+void SubscriptionsPanel::addTopicFilter(const TopicFilter& filter)
 {
     QListWidgetItem* listItem = new QListWidgetItem(filter.toString());
     ui->subscriptions_list->addItem(listItem);
-    emit SubscriptionAdded(filter);
+    auto filter2 = TopicAndFieldFilter(filter);
+    emit topicAndFieldFilterAdded(filter2);
 }
 
 void SubscriptionsPanel::removeSubscription(QListWidgetItem* item)
 {
-    emit SubscriptionRemoved(
+    emit topicAndFieldFilterRemoved(
         TopicAndFieldFilter::fromStringUnsafe(item->text()));
     delete item;
 }
 
 void SubscriptionsPanel::onAddTopicClicked()
 {
-    TopicFilterSelector::selectFilter([this](const TopicFilter& topic)
-                                      { addSubscription(topic); });
+    TopicFilterSelector::selectFilter([&](const TopicFilter& filter)
+                                      { addTopicFilter(filter); });
 }
 
 void SubscriptionsPanel::onAddTopicAndFieldClicked()
 {
-    TopicAndFieldFilterSelector::selectFilter(
-        [this](const TopicAndFieldFilter& filter) { addSubscription(filter); });
+    // TopicFilterSelector::selectFilter([&](const TopicAndFieldFilter& filter)
+    //                                   { addTopicAndFieldFilter(filter); });
 }
 
 void SubscriptionsPanel::onRemoveClicked()
@@ -57,7 +69,5 @@ void SubscriptionsPanel::onRemoveClicked()
     auto items = ui->subscriptions_list->selectedItems();
 
     for (auto item : items)
-    {
         removeSubscription(item);
-    }
 }
diff --git a/src/shared/Components/SubscriptionsPanel/subscriptionspanel.h b/src/shared/Components/SubscriptionsPanel/subscriptionspanel.h
index e84eac2a..44be8d54 100644
--- a/src/shared/Components/SubscriptionsPanel/subscriptionspanel.h
+++ b/src/shared/Components/SubscriptionsPanel/subscriptionspanel.h
@@ -20,7 +20,8 @@ public:
     explicit SubscriptionsPanel(const QList<TopicAndFieldFilter>& filters);
     ~SubscriptionsPanel();
 
-    void addSubscription(const TopicAndFieldFilter& filter);
+    void addTopicAndFieldFilter(const TopicAndFieldFilter& filter);
+    void addTopicFilter(const TopicFilter& filter);
     void removeSubscription(QListWidgetItem* item);
 
 private slots:
@@ -29,8 +30,8 @@ private slots:
     void onRemoveClicked();
 
 signals:
-    void SubscriptionAdded(const TopicAndFieldFilter&);
-    void SubscriptionRemoved(const TopicAndFieldFilter&);
+    void topicAndFieldFilterAdded(const TopicAndFieldFilter&);
+    void topicAndFieldFilterRemoved(const TopicAndFieldFilter&);
 
 private:
     Ui::SubscriptionsPanel* ui;
diff --git a/src/shared/Components/ToggleButton/togglebutton.h b/src/shared/Components/ToggleButton/togglebutton.h
index b1786ba1..339bd2ee 100644
--- a/src/shared/Components/ToggleButton/togglebutton.h
+++ b/src/shared/Components/ToggleButton/togglebutton.h
@@ -13,7 +13,7 @@ class ToggleButton : public QAbstractButton
 
 public:
     ToggleButton(QWidget* parent = nullptr);
-    ToggleButton(const QBrush& brush, QWidget* parent = nullptr);
+    explicit ToggleButton(const QBrush& brush, QWidget* parent = nullptr);
 
     QSize sizeHint() const override;
 
diff --git a/src/shared/Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.h b/src/shared/Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.h
index f7eece97..5bfdc553 100644
--- a/src/shared/Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.h
+++ b/src/shared/Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.h
@@ -13,14 +13,14 @@ class TopicAndFieldFilterSelector : public QWidget
     Q_OBJECT
 
 public:
-    using Handler = std::function<void(const TopicAndFieldFilter& selector)>;
+    using Handler = std::function<void(const TopicAndFieldFilter& filter)>;
 
     static void selectFilter(Handler handler);
     static void selectFilter(const TopicAndFieldFilter& filter,
                              Handler handler);
 
 private:
-    TopicAndFieldFilterSelector(const TopicAndFieldFilter& filter);
+    explicit TopicAndFieldFilterSelector(const TopicAndFieldFilter& filter);
 
 signals:
     void filterSelected(const TopicAndFieldFilter&);
diff --git a/src/shared/Components/TopicFilterSelector/topicfilterselector.h b/src/shared/Components/TopicFilterSelector/topicfilterselector.h
index f0141055..577c8206 100644
--- a/src/shared/Components/TopicFilterSelector/topicfilterselector.h
+++ b/src/shared/Components/TopicFilterSelector/topicfilterselector.h
@@ -13,13 +13,13 @@ class TopicFilterSelector : public QWidget
     Q_OBJECT
 
 public:
-    using Handler = std::function<void(const TopicFilter& selector)>;
+    using Handler = std::function<void(const TopicFilter& filter)>;
 
     static void selectFilter(Handler handler);
     static void selectFilter(const TopicFilter& filter, Handler handler);
 
 private:
-    TopicFilterSelector(const TopicFilter& filter);
+    explicit TopicFilterSelector(const TopicFilter& filter);
 
 signals:
     void filterSelected(const TopicFilter&);
diff --git a/src/shared/Core/Message/messagefield.h b/src/shared/Core/Message/messagefield.h
index 8d5022c6..edc82a13 100644
--- a/src/shared/Core/Message/messagefield.h
+++ b/src/shared/Core/Message/messagefield.h
@@ -25,13 +25,13 @@ public:
     MessageField& operator=(const MessageField& rhs);
     MessageField& operator=(MessageField&& rhs);
 
-    MessageField(int64_t _i64);
-    MessageField(uint64_t _u64);
-    MessageField(double _d);
-    MessageField(char _c);
-    MessageField(QString _s);
-    MessageField(const QList<MessageField>& _a);
-    MessageField(QList<MessageField>&& _a);
+    explicit MessageField(int64_t _i64);
+    explicit MessageField(uint64_t _u64);
+    explicit MessageField(double _d);
+    explicit MessageField(char _c);
+    explicit MessageField(QString _s);
+    explicit MessageField(const QList<MessageField>& _a);
+    explicit MessageField(QList<MessageField>&& _a);
 
     int64_t getInteger(int64_t defaultValue) const;
     uint64_t getUInteger(uint64_t defaultValue) const;
diff --git a/src/shared/Core/Message/modulemessage.cpp b/src/shared/Core/Message/modulemessage.cpp
index 71742a05..1280c52e 100644
--- a/src/shared/Core/Message/modulemessage.cpp
+++ b/src/shared/Core/Message/modulemessage.cpp
@@ -41,7 +41,7 @@ MessageField ModuleMessage::getField(QString key) const
 
 Topic ModuleMessage::getTopic() const { return topic; }
 
-void ModuleMessage::setField(QString key, MessageField field)
+void ModuleMessage::setField(QString key, const MessageField& field)
 {
     fields[key] = field;
 }
diff --git a/src/shared/Core/Message/modulemessage.h b/src/shared/Core/Message/modulemessage.h
index 001b7823..c35f98c4 100644
--- a/src/shared/Core/Message/modulemessage.h
+++ b/src/shared/Core/Message/modulemessage.h
@@ -15,7 +15,7 @@ class ModuleMessage
 {
 public:
     ModuleMessage();
-    ModuleMessage(Topic topic);
+    explicit ModuleMessage(Topic topic);
 
     ModuleMessage(const ModuleMessage& rhs);
     ModuleMessage(ModuleMessage&& rhs);
@@ -25,7 +25,7 @@ public:
     MessageField getField(QString key) const;
     Topic getTopic() const;
 
-    void setField(QString key, MessageField field);
+    void setField(QString key, const MessageField& field);
     void setTopic(Topic topic);
 
     void setFields(const QMap<QString, MessageField>& fields);
diff --git a/src/shared/Core/Message/topic.h b/src/shared/Core/Message/topic.h
index b0c60cf9..5e763c8d 100644
--- a/src/shared/Core/Message/topic.h
+++ b/src/shared/Core/Message/topic.h
@@ -15,12 +15,12 @@ class Topic
 {
 public:
     Topic();
-    Topic(QString str);
+    explicit Topic(QString str);
 
-    Topic(const Topic&)            = default;
-    Topic(Topic&&)                 = default;
+    Topic(const Topic&) = default;
+    Topic(Topic&&)      = default;
     Topic& operator=(const Topic&) = default;
-    Topic& operator=(Topic&&)      = default;
+    Topic& operator=(Topic&&) = default;
 
     // Exact match
     bool operator==(const Topic& topic) const;
diff --git a/src/shared/Core/Message/topicandfieldfilter.h b/src/shared/Core/Message/topicandfieldfilter.h
index d40e633d..3d710ea4 100644
--- a/src/shared/Core/Message/topicandfieldfilter.h
+++ b/src/shared/Core/Message/topicandfieldfilter.h
@@ -17,10 +17,10 @@ class TopicAndFieldFilter
 {
 public:
     TopicAndFieldFilter();
-    TopicAndFieldFilter(const QString& topicFilter,
-                        const QString& fieldFilter = "");
-    TopicAndFieldFilter(const TopicFilter& topicFilter,
-                        const QString& fieldFilter = "");
+    explicit TopicAndFieldFilter(const QString& topicFilter,
+                                 const QString& fieldFilter = "");
+    explicit TopicAndFieldFilter(const TopicFilter& topicFilter,
+                                 const QString& fieldFilter = "");
     bool operator==(const TopicAndFieldFilter&) const;
 
     /**
diff --git a/src/shared/Core/Message/topicfilter.h b/src/shared/Core/Message/topicfilter.h
index df70e16b..af1d353f 100644
--- a/src/shared/Core/Message/topicfilter.h
+++ b/src/shared/Core/Message/topicfilter.h
@@ -22,10 +22,10 @@ public:
     TopicFilter(const QString& expression = "*");
     bool operator==(const TopicFilter&) const;
 
-    TopicFilter(const TopicFilter&)            = default;
-    TopicFilter(TopicFilter&&)                 = default;
+    TopicFilter(const TopicFilter&) = default;
+    TopicFilter(TopicFilter&&)      = default;
     TopicFilter& operator=(const TopicFilter&) = default;
-    TopicFilter& operator=(TopicFilter&&)      = default;
+    TopicFilter& operator=(TopicFilter&&) = default;
 
     /**
      * @brief Returns true if the filter matches the given topic.
diff --git a/src/shared/Core/QCustomPlot/QCustomPlot.cpp b/src/shared/Core/QCustomPlot/QCustomPlot.cpp
index 90676021..fc161301 100644
--- a/src/shared/Core/QCustomPlot/QCustomPlot.cpp
+++ b/src/shared/Core/QCustomPlot/QCustomPlot.cpp
@@ -5795,8 +5795,8 @@ void QCPLineEnding::draw(QCPPainter *painter, const QCPVector2D &pos,
         {
             QCPVector2D widthVecPerp = widthVec.perpendicular();
             QPointF points[4]        = {
-                       (pos - widthVecPerp).toPointF(), (pos - widthVec).toPointF(),
-                       (pos + widthVecPerp).toPointF(), (pos + widthVec).toPointF()};
+                (pos - widthVecPerp).toPointF(), (pos - widthVec).toPointF(),
+                (pos + widthVecPerp).toPointF(), (pos + widthVec).toPointF()};
             painter->setPen(miterPen);
             painter->setBrush(brush);
             painter->drawConvexPolygon(points, 4);
diff --git a/src/shared/Core/modulesmanager.cpp b/src/shared/Core/modulesmanager.cpp
index 280adf43..54f7b5ac 100644
--- a/src/shared/Core/modulesmanager.cpp
+++ b/src/shared/Core/modulesmanager.cpp
@@ -258,8 +258,6 @@ void ModulesManager::openConfigurationWindow()
         return;
     }
 
-    bool ok = false;
-
 #ifdef SAVECONFIGURATIONDIALOG_H
     // Ask configuration data to the user
     SaveConfigurationDialog* saveDialog = new SaveConfigurationDialog();
@@ -270,7 +268,6 @@ void ModulesManager::openConfigurationWindow()
     QString configIconPath;
     QString description;
     saveDialog->pickConfigData(&configName, &configIconPath, &description);
-    ok = !configName.isEmpty();
 #endif
 
     XmlObject xml(SkywardHubStrings::configurationNameValue);
@@ -279,7 +276,7 @@ void ModulesManager::openConfigurationWindow()
     xml.addAttribute(SkywardHubStrings::configurationDescriptionAttribute,
                      description);
 
-    if (ok && !configName.isEmpty())
+    if (!configName.isEmpty())
     {
         configName = configName.replace(".xml", "");
         xml.addAttribute(SkywardHubStrings::configurationNameAttribute,
diff --git a/src/shared/Core/xmlobject.cpp b/src/shared/Core/xmlobject.cpp
index e452463f..9a0ec8c6 100644
--- a/src/shared/Core/xmlobject.cpp
+++ b/src/shared/Core/xmlobject.cpp
@@ -2,6 +2,7 @@
 
 #include <QFile>
 #include <QTextStream>
+#include <algorithm>
 
 XmlObject::XmlObject(const QString& objectName) { setObjectName(objectName); }
 
@@ -175,14 +176,14 @@ void XmlObject::swapChildAt(int i, int j)
 
 QString XmlObject::getChildObjectValue(const QString& objectName)
 {
-    for (XmlObject child : childList)
-    {
-        if (child.getObjectName() == objectName)
-        {
-            return child.getTextValue();
-        }
-    }
-    return "";
+    auto result = std::find_if(childList.begin(), childList.end(),
+                               [&](XmlObject child)
+                               { return child.getObjectName() == objectName; });
+
+    if (result != childList.end())
+        return result->getTextValue();
+    else
+        return "";
 }
 
 void XmlObject::clearAttributes() { attributes.clear(); }
diff --git a/src/shared/Modules/CommandPad/MessageFormElement.cpp b/src/shared/Modules/CommandPad/MessageFormElement.cpp
index 7483cd52..e372e6de 100644
--- a/src/shared/Modules/CommandPad/MessageFormElement.cpp
+++ b/src/shared/Modules/CommandPad/MessageFormElement.cpp
@@ -243,24 +243,28 @@ void MessageFormElement::removeFromGridLayout(QGridLayout* layout)
 
 ModuleMessage MessageFormElement::prepareMessage(const QString& messageId)
 {
-    ModuleMessage message(SkywardHubStrings::commandsTopic + "/" + messageId);
+    ModuleMessage message(
+        Topic{SkywardHubStrings::commandsTopic + "/" + messageId});
 
     for (auto key : comboBoxMap.keys())
     {
         auto comboBox = comboBoxMap[key].second;
-        message.setField(key, (uint64_t)comboBox->currentData().toInt());
+        auto msg      = MessageField{(uint64_t)comboBox->currentData().toInt()};
+        message.setField(key, msg);
     }
 
     for (auto key : floatMap.keys())
     {
         auto floatField = std::get<1>(floatMap[key]);
-        message.setField(key, floatField->text().toDouble());
+        auto msg        = MessageField{floatField->text().toDouble()};
+        message.setField(key, msg);
     }
 
     for (auto key : integerMap.keys())
     {
         auto integerField = std::get<1>(integerMap[key]);
-        message.setField(key, (uint64_t)integerField->text().toInt());
+        auto msg = MessageField{(uint64_t)integerField->text().toInt()};
+        message.setField(key, msg);
     }
 
     return message;
diff --git a/src/shared/Modules/Graph/Graph.cpp b/src/shared/Modules/Graph/Graph.cpp
index efa1c592..39ea093e 100644
--- a/src/shared/Modules/Graph/Graph.cpp
+++ b/src/shared/Modules/Graph/Graph.cpp
@@ -81,9 +81,9 @@ void Graph::onSubscribeClicked()
 {
     SubscriptionsPanel* panel = new SubscriptionsPanel(filters);
     panel->setWindowTitle("Graph subscriptions");
-    connect(panel, &SubscriptionsPanel::SubscriptionAdded, this,
+    connect(panel, &SubscriptionsPanel::topicAndFieldFilterAdded, this,
             &Graph::onSubscriptionAdded);
-    connect(panel, &SubscriptionsPanel::SubscriptionRemoved, this,
+    connect(panel, &SubscriptionsPanel::topicAndFieldFilterRemoved, this,
             &Graph::onSubscriptionRemoved);
     panel->show();
 }
@@ -152,16 +152,18 @@ void Graph::onUpdateTimerTick()
     {
         QCPGraph* graph          = graphs[i];
         QVector<double>& bufferX = buffersX[i];
-        QVector<double>& bufferY = buffersY[i];
 
         if (bufferX.size() > 0)
         {
+            QVector<double>& bufferY = buffersY[i];
+
             newData = true;
 
             graph->addData(bufferX, bufferY);
 
             for (auto tmp : bufferX)
                 if (tmp > maxX)
+                    // cppcheck-suppress useStlAlgorithm
                     maxX = tmp;
 
             bufferX.clear();
diff --git a/src/shared/Modules/IncomingMessagesViewer/incomingmessagesviewermodule.cpp b/src/shared/Modules/IncomingMessagesViewer/incomingmessagesviewermodule.cpp
index 47300263..28b4297e 100644
--- a/src/shared/Modules/IncomingMessagesViewer/incomingmessagesviewermodule.cpp
+++ b/src/shared/Modules/IncomingMessagesViewer/incomingmessagesviewermodule.cpp
@@ -129,9 +129,10 @@ void IncomingMessagesViewerModule::addCustomActionsToMenu()
             {
                 auto* panel = new SubscriptionsPanel(filters);
                 panel->setWindowTitle("IncomingMessagesViewer subscriptions");
-                connect(panel, &SubscriptionsPanel::SubscriptionAdded, this,
-                        &IncomingMessagesViewerModule::addSubscription);
-                connect(panel, &SubscriptionsPanel::SubscriptionRemoved, this,
+                connect(panel, &SubscriptionsPanel::topicAndFieldFilterAdded,
+                        this, &IncomingMessagesViewerModule::addSubscription);
+                connect(panel, &SubscriptionsPanel::topicAndFieldFilterRemoved,
+                        this,
                         &IncomingMessagesViewerModule::removeSubscription);
                 panel->show();
             });
diff --git a/src/shared/Modules/Mavlink/mavlinkmodule.cpp b/src/shared/Modules/Mavlink/mavlinkmodule.cpp
index 793949fc..49a624ad 100644
--- a/src/shared/Modules/Mavlink/mavlinkmodule.cpp
+++ b/src/shared/Modules/Mavlink/mavlinkmodule.cpp
@@ -142,13 +142,19 @@ void MavlinkModule::onCommandReceived(const ModuleMessage &msg)
     {
         mavlinkCommandAdapter.send(encoded_mvl_msg);
 
-        ModuleMessage confirmationMsg(SkywardHubStrings::logCommandsTopic);
-        confirmationMsg.setField(
-            "name", msg.getTopic().toString().replace(
-                        SkywardHubStrings::commandsTopic + "/", ""));
-        confirmationMsg.setField("message_id", (uint64_t)encoded_mvl_msg.msgid);
-        confirmationMsg.setField("sequence_number",
-                                 (uint64_t)encoded_mvl_msg.seq);
+        ModuleMessage confirmationMsg(
+            Topic(SkywardHubStrings::logCommandsTopic));
+
+        auto nameField = MessageField(msg.getTopic().toString().replace(
+            SkywardHubStrings::commandsTopic + "/", ""));
+        confirmationMsg.setField("name", nameField);
+
+        auto idField = MessageField((uint64_t)encoded_mvl_msg.msgid);
+        confirmationMsg.setField("message_id", idField);
+
+        auto seqField = MessageField((uint64_t)encoded_mvl_msg.seq);
+        confirmationMsg.setField("sequence_number", seqField);
+
         getCore()->getModuleMessagesBroker()->publish(confirmationMsg);
     }
 }
diff --git a/src/shared/Modules/Mavlink/mavlinkreader.cpp b/src/shared/Modules/Mavlink/mavlinkreader.cpp
index 79d66f58..1d59c2e6 100644
--- a/src/shared/Modules/Mavlink/mavlinkreader.cpp
+++ b/src/shared/Modules/Mavlink/mavlinkreader.cpp
@@ -33,7 +33,7 @@ void MavlinkReader::stopReading()
 
 const mavlink_message_info_t& MavlinkReader::getMessageFormat(uint8_t messageId)
 {
-    static mavlink_message_info_t infos[256] = MAVLINK_MESSAGE_INFO;
+    static const mavlink_message_info_t infos[256] = MAVLINK_MESSAGE_INFO;
     return infos[messageId];
 }
 
@@ -63,8 +63,8 @@ ModuleMessage MavlinkReader::generateModuleMessage(const mavlink_message_t& msg)
         fields[QString(info.fields[i].name)] = decodeField(msg, info.fields[i]);
 
     ModuleMessage output;
-    output.setTopic(SkywardHubStrings::mavlink_received_msg_topic + "/" +
-                    info.name);
+    output.setTopic(
+        Topic(SkywardHubStrings::mavlink_received_msg_topic + "/" + info.name));
     output.setFields(std::move(fields));
     return output;
 }
diff --git a/src/shared/Modules/Mavlink/mavlinkreader.h b/src/shared/Modules/Mavlink/mavlinkreader.h
index 41b53bdd..a9b7c014 100644
--- a/src/shared/Modules/Mavlink/mavlinkreader.h
+++ b/src/shared/Modules/Mavlink/mavlinkreader.h
@@ -15,7 +15,7 @@ class MavlinkReader : public QObject
 {
     Q_OBJECT
 public:
-    MavlinkReader(MavlinkModule* parent);
+    explicit MavlinkReader(MavlinkModule* parent);
     ~MavlinkReader();
 
     void startReading();
diff --git a/src/shared/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp b/src/shared/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
index 1d14d3cb..0822fd00 100644
--- a/src/shared/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
+++ b/src/shared/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
@@ -138,12 +138,10 @@ void MavlinkRocketMsgTestingModule::clearView()
         currentMsgView = nullptr;
     }
 
-    QMapIterator<QString, QGroupBox*> i(viewGroupList);
     QList<QGroupBox*> groupBox = viewGroupList.values();
     for (int i = 0; i < groupBox.count(); i++)
-    {
         delete groupBox[i];
-    }
+
     viewGroupList.clear();
 }
 
diff --git a/src/shared/Modules/Test/testmodule.cpp b/src/shared/Modules/Test/testmodule.cpp
index 57d54c1e..51dfce3b 100644
--- a/src/shared/Modules/Test/testmodule.cpp
+++ b/src/shared/Modules/Test/testmodule.cpp
@@ -34,10 +34,12 @@ void TestModule::on_publish_button_clicked()
 {
     QString topic   = ui->topic_lineEdit->text().trimmed();
     QString payload = ui->payload_lineEdit->text().trimmed();
-    ModuleMessage msg(topic);
-    msg.setField("value", payload);
-    msg.setField("timestamp",
-                 {(uint64_t)QTime::currentTime().msecsSinceStartOfDay()});
+    ModuleMessage msg(Topic{topic});
+    auto valueField = MessageField(payload);
+    msg.setField("value", valueField);
+    auto timestampField =
+        MessageField((uint64_t)QTime::currentTime().msecsSinceStartOfDay());
+    msg.setField("timestamp", timestampField);
     getCore()->getModuleMessagesBroker()->publish(msg);
 }
 
diff --git a/src/shared/Modules/TimerController/timercontrollermodule.cpp b/src/shared/Modules/TimerController/timercontrollermodule.cpp
index 515bda1d..ada4cc41 100644
--- a/src/shared/Modules/TimerController/timercontrollermodule.cpp
+++ b/src/shared/Modules/TimerController/timercontrollermodule.cpp
@@ -122,20 +122,15 @@ void TimerControllerModule::setInfoLabel(const QString &txt)
 void TimerControllerModule::updateOutputFile(const QString &outputTxt) const
 {
     if (!isOutputEnabled)
-    {
         return;
-    }
 
-    if (isOutputEnabled)
-    {
-        QString filePath = ui->outputFilePath_lineEdit->text().trimmed();
-        QFile file(filePath);
-        if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
-            return;
+    QString filePath = ui->outputFilePath_lineEdit->text().trimmed();
+    QFile file(filePath);
+    if (!file.open(QIODevice::WriteOnly | QIODevice::Text))
+        return;
 
-        QTextStream out(&file);
-        out << outputTxt;
-    }
+    QTextStream out(&file);
+    out << outputTxt;
 }
 
 QString TimerControllerModule::getPrefix() const
diff --git a/src/shared/Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp b/src/shared/Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp
index 21c6361e..fc6e0f0b 100644
--- a/src/shared/Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp
+++ b/src/shared/Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp
@@ -185,8 +185,9 @@ void ValuesConverterViewerModule::onMsgReceived(const ModuleMessage& msg)
                 if (rules[i].isEmitActive())
                 {
                     ModuleMessage convertedMsg(msg);
-                    convertedMsg.setField("value", rules[i].getCurrentValue());
-                    convertedMsg.setTopic(rules[i].getOutputTopic());
+                    auto valueField = MessageField(rules[i].getCurrentValue());
+                    convertedMsg.setField("value", valueField);
+                    convertedMsg.setTopic(Topic(rules[i].getOutputTopic()));
                     getCore()->getModuleMessagesBroker()->publish(convertedMsg);
                 }
             }
diff --git a/src/shared/Modules/moduleslist.cpp b/src/shared/Modules/moduleslist.cpp
index 5e7aab13..44d46182 100644
--- a/src/shared/Modules/moduleslist.cpp
+++ b/src/shared/Modules/moduleslist.cpp
@@ -33,20 +33,16 @@ void ModulesList::createModuleList()
      *   (all the files that match the strings you provide will be included)
      */
 
-#ifdef EMPTYMODULE_H
     ModuleInfo empty(ModuleId::EMPTY, "EmptyModule");
     empty.setFactory([]() { return new EmptyModule(); });
     empty.addModuleSourceFiles("Modules/Empty/");
     addModuleInfo(empty);
-#endif
 
-#ifdef COMMANDPAD_H
     ModuleInfo commandPad(ModuleId::COMMANDPAD, "CommandPad",
                           ModuleCategory::UTILITY);
     commandPad.setFactory([]() { return new CommandPad(); });
     commandPad.addModuleSourceFiles("Modules/CommandPad/");
     addModuleInfo(commandPad);
-#endif
 
     ModuleInfo compactCommandPad(ModuleId::COMPACT_COMMAND_PAD,
                                  "compact_command_pad",
@@ -60,20 +56,16 @@ void ModulesList::createModuleList()
     splitter.addModuleSourceFiles("Modules/Splitter/");
     addModuleInfo(splitter);
 
-#ifdef SKYWARDHUBMODULE_H
     ModuleInfo hub(ModuleId::SKYWARDHUB, "SkywardHub", ModuleCategory::HOME);
     hub.setFactory([]() { return new SkywardHubModule(); });
     hub.addModuleSourceFiles("Modules/SkywardHub/");
     addModuleInfo(hub);
-#endif
 
-#ifdef TESTMODULE_H
     ModuleInfo testModule(ModuleId::BROKERTEST, "TestBroker",
                           ModuleCategory::DEFAULT);
     testModule.setFactory([]() { return new TestModule(); });
     testModule.addModuleSourceFiles("Modules/Test/");
     addModuleInfo(testModule);
-#endif
 
     ModuleInfo graphModule(ModuleId::GRAPH, "Graph",
                            ModuleCategory::DATAVISUAL);
@@ -81,7 +73,6 @@ void ModulesList::createModuleList()
     graphModule.addModuleSourceFiles("Modules/Graph/");
     addModuleInfo(graphModule);
 
-#ifdef OUTCOMINGMESSAGESVIEWERMODULE_H
     ModuleInfo outMsgViewer(ModuleId::OUTCOMINGMESSAGEVIEWER,
                             "OutgoingMessagesViewer",
                             ModuleCategory::DATAVISUAL);
@@ -89,51 +80,39 @@ void ModulesList::createModuleList()
                             { return new OutgoingMessagesViewerModule(); });
     outMsgViewer.addModuleSourceFiles("Modules/OutgoingMessageViewer/");
     addModuleInfo(outMsgViewer);
-#endif
 
-#ifdef INCOMINGMESSAGESVIEWERMODULE_H
     ModuleInfo inMsgViewer(ModuleId::INCOMINGMESSAGESVIEWER,
                            "IncomingMessagesViewer",
                            ModuleCategory::DATAVISUAL);
     inMsgViewer.setFactory([]() { return new IncomingMessagesViewerModule(); });
     inMsgViewer.addModuleSourceFiles("Modules/IncomingMessageViewer/");
     addModuleInfo(inMsgViewer);
-#endif
 
-#ifdef MAVLINKMODULE_H
     ModuleInfo mavlink(ModuleId::MAVLINK, "Mavlink",
                        ModuleCategory::DATASOURCE);
     mavlink.setFactory([]() { return new MavlinkModule(); });
     mavlink.addModuleSourceFiles("Modules/Mavlink/");
     addModuleInfo(mavlink);
-#endif
 
-#ifdef MAVLINKROCKETMSGTESTINGMODULE_H
     ModuleInfo mvkRckTesting(ModuleId::MAVLINK_RCK_TESTING,
                              "MavlinkRocketMsgTesting",
                              ModuleCategory::DEFAULT);
     mvkRckTesting.setFactory([]()
                              { return new MavlinkRocketMsgTestingModule(); });
     addModuleInfo(mvkRckTesting);
-#endif
 
-#ifdef FILESTREAMMODULE_H
     ModuleInfo fileStream(ModuleId::FILESTREAM, "FileStream",
                           ModuleCategory::DATASOURCE);
     fileStream.setFactory([]() { return new FileStreamModule(); });
     fileStream.addModuleSourceFiles("Modules/FileStream/");
     addModuleInfo(fileStream);
-#endif
 
-#ifdef STATEVIEWERMODULE_H
     ModuleInfo stateViewer(ModuleId::STATEVIEWER, "StateViewer",
                            ModuleCategory::DATAVISUAL);
     stateViewer.setFactory([]() { return new StateViewerModule(); });
     stateViewer.addModuleSourceFiles("Modules/StateViewer/");
     addModuleInfo(stateViewer);
-#endif
 
-#ifdef VALUESCONVERTERVIEWERMODULE_H
     ModuleInfo valuesconverterviewer(ModuleId::VALUESCONVERTERVIEWER,
                                      "ValuesConverterViewer",
                                      ModuleCategory::UTILITY);
@@ -142,22 +121,17 @@ void ModulesList::createModuleList()
     valuesconverterviewer.addModuleSourceFiles(
         "Modules/ValuesConverterViewer/");
     addModuleInfo(valuesconverterviewer);
-#endif
 
-#ifdef TIMERCONTROLLERMODULE_H
     ModuleInfo timerController(ModuleId::TIMER_CONTROLLER, "TimerController",
                                ModuleCategory::UTILITY);
     timerController.setFactory([]() { return new TimerControllerModule(); });
     timerController.addModuleSourceFiles("Modules/TimerController/");
     addModuleInfo(timerController);
-#endif
 
-#ifdef TABSMODULE_H
     ModuleInfo tabs(ModuleId::TABS, "Tabs", ModuleCategory::UTILITY);
     tabs.setFactory([]() { return new TabsModule(); });
     tabs.addModuleSourceFiles("Modules/Tabs/");
     addModuleInfo(tabs);
-#endif
 }
 
 // ____________________________________________________________________________________________
-- 
GitLab