From 1e85d4e38fcc66209e663b83726b20f795944fef Mon Sep 17 00:00:00 2001
From: Pos <pierpaolo.mancini@mail.polimi.it>
Date: Fri, 9 Apr 2021 18:13:44 +0200
Subject: [PATCH] mavlink tester small fix

---
 .../Mavlink/mavlinkrocketmsgtestingmodule.cpp   | 17 +++++++++++++++++
 Modules/Mavlink/mavlinkrocketmsgtestingmodule.h |  1 +
 SkywardHub.pro.user                             |  2 +-
 3 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
index 5b2ce66a..80e4fe74 100644
--- a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
+++ b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
@@ -88,6 +88,8 @@ void MavlinkRocketMsgTestingModule::onSendMsgClicked()
 
 void MavlinkRocketMsgTestingModule::onLoadFileClicked()
 {
+    clearView();
+
     QString filePath = SkywardHubStrings::defaultConfigurationFolder + "/" + ui->lineEdit_mavlinkInputFilePath->text().trimmed();
     if (mavlinkMsgDefinitionFile.loadFromFile(filePath)){
         QList<XmlObject*> xmlMessages =  mavlinkMsgDefinitionFile.deepSearchObjects([this](const XmlObject *msg){
@@ -129,6 +131,21 @@ QGroupBox* MavlinkRocketMsgTestingModule::getOrCreateGBox(const QString &title)
     return gBox;
 }
 
+void MavlinkRocketMsgTestingModule::clearView()
+{
+    if(currentMsgView != nullptr){
+        delete currentMsgView;
+        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();
+}
+
 QString MavlinkRocketMsgTestingModule::getCurrentTopic() const
 {
     return ui->lineEdit_outputTopic->text();
diff --git a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.h b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.h
index d9bde657..2156c0e7 100644
--- a/Modules/Mavlink/mavlinkrocketmsgtestingmodule.h
+++ b/Modules/Mavlink/mavlinkrocketmsgtestingmodule.h
@@ -59,6 +59,7 @@ protected:
     QString getCurrentTopic() const;
     void createViewFromXmlMessages(QList<XmlObject*> messagesList);
     QGroupBox* getOrCreateGBox(const QString &title);
+    void clearView();
 
 protected slots:
     void onRadioButtonClicked(QRadioButton *radiobutton);
diff --git a/SkywardHub.pro.user b/SkywardHub.pro.user
index 2748032c..868cd987 100644
--- a/SkywardHub.pro.user
+++ b/SkywardHub.pro.user
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.14.2, 2021-04-09T17:57:14. -->
+<!-- Written by QtCreator 4.14.2, 2021-04-09T18:13:20. -->
 <qtcreator>
  <data>
   <variable>EnvironmentId</variable>
-- 
GitLab