From fa39f6d9bbf3cc975be79f3683be09efb483d828 Mon Sep 17 00:00:00 2001
From: Raul Radu <raul.radu@mail.polimi.it>
Date: Thu, 25 Jan 2024 08:57:05 +0100
Subject: [PATCH] [Modules] Using smart pointers in BaseMavlinkModule

- rateLabel and logCheckBox are now unique pointers since they are used
  only within the class
---
 src/shared/Modules/Mavlink/BaseMavlinkModule.cpp | 8 ++++----
 src/shared/Modules/Mavlink/BaseMavlinkModule.h   | 5 +++--
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp b/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
index b9e9bcfa..b10f1a69 100644
--- a/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
+++ b/src/shared/Modules/Mavlink/BaseMavlinkModule.cpp
@@ -227,15 +227,15 @@ void BaseMavlinkModule::setupUi()
 
     outerLayout->addStretch();
 
-    rateLabel = new QLabel("Rate: 0 msg/s");
+    rateLabel = std::make_unique<QLabel>("Rate: 0 msg/s");
     rateLabel->setSizePolicy(
         QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-    outerLayout->addWidget(rateLabel);
+    outerLayout->addWidget(rateLabel.get());
 
-    logCheckBox = new QCheckBox("Enable log");
+    logCheckBox = std::make_unique<QCheckBox>("Enable log");
     logCheckBox->setSizePolicy(
         QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
-    outerLayout->addWidget(logCheckBox);
+    outerLayout->addWidget(logCheckBox.get());
 
     QPushButton *openLogFolderButton = new QPushButton("Log folder");
     openLogFolderButton->setSizePolicy(
diff --git a/src/shared/Modules/Mavlink/BaseMavlinkModule.h b/src/shared/Modules/Mavlink/BaseMavlinkModule.h
index d7911d10..a569d212 100644
--- a/src/shared/Modules/Mavlink/BaseMavlinkModule.h
+++ b/src/shared/Modules/Mavlink/BaseMavlinkModule.h
@@ -24,6 +24,7 @@
 
 #include <QTimer>
 #include <QWidget>
+#include <memory>
 
 #include "MavlinkCodec.h"
 #include "Ports/MavlinkPort.h"
@@ -78,8 +79,8 @@ private:
     ToggleButton *startToggleButton;
     QComboBox *sysIdComboBox;
 
-    QLabel *rateLabel;
-    QCheckBox *logCheckBox;
+    std::unique_ptr<QLabel> rateLabel;
+    std::unique_ptr<QCheckBox> logCheckBox;
 
     QTimer linkQualityTimer;
     const int linkQualityPeriod = 2000;  // [ms]
-- 
GitLab