From dac7063d738dfdd84423c3a87b95dcfa1aee1773 Mon Sep 17 00:00:00 2001 From: Vaishnavi Bhandari Date: Fri, 31 Jan 2025 07:59:36 +0000 Subject: [PATCH] Added sendMessage signal Signed-off-by: Vaishnavi Bhandari --- avogadro/qtplugins/surfaces/surfaces.cpp | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/avogadro/qtplugins/surfaces/surfaces.cpp b/avogadro/qtplugins/surfaces/surfaces.cpp index 716c583f0a..5f60461e30 100644 --- a/avogadro/qtplugins/surfaces/surfaces.cpp +++ b/avogadro/qtplugins/surfaces/surfaces.cpp @@ -55,7 +55,9 @@ namespace { #include #include #include - +#include +#include +#include #include #include @@ -76,6 +78,8 @@ class Surfaces::PIMPL public: GifWriter* gifWriter = nullptr; gwavi_t* gwaviWriter = nullptr; + signals: + void sendMessage(const QJsonObject& message); }; Surfaces::Surfaces(QObject* p) : ExtensionPlugin(p), d(new PIMPL()) @@ -368,7 +372,10 @@ float inline square(float x) { return x * x; } - +void sendMessage(QString& message) +{ + qDebug() << "Message received:" << message; +} void Surfaces::calculateEDT(Type type, float defaultResolution) { if (type == Unknown && m_dialog != nullptr) @@ -447,7 +454,14 @@ void Surfaces::calculateEDT(Type type, float defaultResolution) } } }); - + QJsonObject jsonMessage; + jsonMessage["status"] = "finished"; + jsonMessage["message"] = "Surface calculation completed successfully."; + QJsonDocument doc(jsonMessage); + QString jsonString = doc.toJson(QJsonDocument::Compact); + + // Emitting the signal to notify the plugin that the calculation is finished + emit sendMessage(jsonString); innerFuture.waitForFinished(); }); @@ -514,8 +528,7 @@ void Surfaces::performEDTStep() } } }); - - innerFuture.waitForFinished(); + }); m_displayMeshWatcher.setFuture(future);