From a92f72b3fe669823999c08bd186e928aadaf62d1 Mon Sep 17 00:00:00 2001
From: Aaron Cuevas Lopez <aacuelo@teleco.upv.es>
Date: Wed, 11 Mar 2015 03:57:20 +0100
Subject: [PATCH] Disable FPGA canvas controls when acquiring

---
 .../Processors/DataThreads/RHD2000Editor.cpp  | 22 ++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/Source/Processors/DataThreads/RHD2000Editor.cpp b/Source/Processors/DataThreads/RHD2000Editor.cpp
index e521fc1da..8ebf2c5fa 100644
--- a/Source/Processors/DataThreads/RHD2000Editor.cpp
+++ b/Source/Processors/DataThreads/RHD2000Editor.cpp
@@ -258,6 +258,10 @@ void FPGAchannelList::disableAll()
     {
         channelComponents[k]->disableEdit();
     }
+	impedanceButton->setEnabled(false);
+	saveImpedanceButton->setEnabled(false);
+	autoMeasureButton->setEnabled(false);
+	numberingScheme->setEnabled(false);
 }
 
 void FPGAchannelList::enableAll()
@@ -266,7 +270,10 @@ void FPGAchannelList::enableAll()
     {
         channelComponents[k]->enableEdit();
     }
-
+	impedanceButton->setEnabled(true);
+	saveImpedanceButton->setEnabled(true);
+	autoMeasureButton->setEnabled(true);
+	numberingScheme->setEnabled(true);
 }
 
 void FPGAchannelList::setNewGain(int channel, float gain)
@@ -506,6 +513,10 @@ void FPGAcanvas::update()
 {
     // create channel buttons (name, gain, recording, impedance, ... ?)
     channelList->update();
+	if (static_cast<RHD2000Thread*>(processor->getThread())->isAcquisitionActive())
+	{
+		channelList->disableAll();
+	}
 }
 
 void FPGAcanvas::resized()
@@ -865,8 +876,9 @@ void RHD2000Editor::startAcquisition()
     adcButton->setEnabledState(false);
     dspoffsetButton-> setEnabledState(false);
     acquisitionIsActive = true;
-    if (canvas !=nullptr)
-        canvas->channelList->setEnabled(false);
+	if (canvas != nullptr)
+		canvas->channelList->disableAll();
+        //canvas->channelList->setEnabled(false);
 }
 
 void RHD2000Editor::stopAcquisition()
@@ -879,8 +891,8 @@ void RHD2000Editor::stopAcquisition()
     dspoffsetButton-> setEnabledState(true);
 
     acquisitionIsActive = false;
-    if (canvas != nullptr)
-        canvas->channelList->setEnabled(true);
+	if (canvas != nullptr)
+		canvas->channelList->enableAll();
     //  canvas->channelList->setEnabled(true);
 }
 
-- 
GitLab