From d5e5c9f1a47183abb7509f2ba6ca032c1ee93a57 Mon Sep 17 00:00:00 2001
From: Alberto Nidasio <nidasioalberto@gmail.com>
Date: Thu, 29 Aug 2024 08:00:44 +0200
Subject: [PATCH] [OutgoingMessageViewer] Added action to clear out the table

---
 .../OutgoingMessagesViewerModule.cpp                 | 12 ++++++++++++
 .../OutgoingMessagesViewerModule.h                   |  1 +
 2 files changed, 13 insertions(+)

diff --git a/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.cpp b/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.cpp
index 423ab8a4..af367fb3 100644
--- a/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.cpp
+++ b/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.cpp
@@ -153,6 +153,11 @@ void OutgoingMessagesViewerModule::customContextMenuActionSetup()
             });
     customContextMenuActions.append(elapsedTime);
 
+    auto clear = new QAction("Clear");
+    connect(clear, &QAction::triggered, this,
+            &OutgoingMessagesViewerModule::clearTable);
+    customContextMenuActions.append(clear);
+
     qDebug() << "Set context menu for outgoing messages viewer";
 }
 
@@ -287,6 +292,13 @@ void OutgoingMessagesViewerModule::addMessageToTable(
     table->setItem(row, 2, msgName);
 }
 
+void OutgoingMessagesViewerModule::clearTable()
+{
+    table->clearContents();
+    table->setRowCount(0);
+    messages.clear();
+}
+
 void OutgoingMessagesViewerModule::updateElapsedTime()
 {
     auto currentTime = QDateTime::currentDateTime();
diff --git a/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.h b/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.h
index 40a8740e..7235f109 100644
--- a/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.h
+++ b/src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.h
@@ -50,6 +50,7 @@ private:
     void handleWack(const Message& wack);
 
     void addMessageToTable(const QPair<QDateTime, Message>& msg, int row = 0);
+    void clearTable();
 
     void updateElapsedTime();
 
-- 
GitLab