Index: /trunk/FACT++/gui/FactGui.h
===================================================================
--- /trunk/FACT++/gui/FactGui.h	(revision 10546)
+++ /trunk/FACT++/gui/FactGui.h	(revision 10547)
@@ -902,4 +902,7 @@
     FTM::DimStaticData fFtmStaticData;
 
+    int fFtuStatus;
+
+
     void SetFtuLed(int idx, int counter)
     {
@@ -908,11 +911,34 @@
 
         if (counter==0)
+        {
             fFtuLED[idx]->setIcon(QIcon(":/Resources/icons/red circle 1.png"));
-
+            fStatusFTULed->setIcon(QIcon(":/Resources/icons/red circle 1.png"));
+            fStatusFTULabel->setToolTip("At least one FTU didn't answer!");
+            fStatusFTULabel->setText("ERROR");
+            fFtuStatus = 0;
+        }
         if (counter==1)
+        {
             fFtuLED[idx]->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
+            if (fFtuStatus<0)
+            {
+                fStatusFTULed->setIcon(QIcon(":/Resources/icons/green circle 1.png"));
+                fStatusFTULabel->setToolTip("Communication with FTU is smooth.");
+                fStatusFTULabel->setText("Ok");
+                fFtuStatus = 1;
+            }
+        }
 
         if (counter>1)
+        {
             fFtuLED[idx]->setIcon(QIcon(":/Resources/icons/orange circle 1.png"));
+            if (fFtuStatus!=0)
+            {
+                fStatusFTULed->setIcon(QIcon(":/Resources/icons/orange circle 1.png"));
+                fStatusFTULabel->setText("Warning");
+                fStatusFTULabel->setToolTip("At least one FTU didn't answer immediately");
+                fFtuStatus = 2;
+            }
+        }
 
     }
@@ -964,4 +990,5 @@
         fEnableTimeMarker->setChecked(sdata.HasTimeMarker());
 
+        bool active = false;
         for (int i=0; i<40; i++)
         {
@@ -973,4 +1000,5 @@
             else
             {
+                active = true;
                 if (fFtuDisabled[i])
                 {
@@ -981,4 +1009,7 @@
         }
 
+        if (!active)
+            DisableStatusLedFtu();
+
 #ifdef HAS_ROOT
         Camera *cam = (Camera*)fRatesCanv->GetCanvas()->FindObject("Camera");
@@ -1014,4 +1045,12 @@
         fFtmBoardId->setText(str1.str().c_str());
         fFtmFirmwareId->setText(str2.str().c_str());
+    }
+
+    void DisableStatusLedFtu()
+    {
+        fFtuStatus = -1;
+        fStatusFTULed->setIcon(QIcon(":/Resources/icons/gray circle 1.png"));
+        fStatusFTULabel->setText("All disabled");
+        fStatusFTULabel->setToolTip("All FTUs are disabled");
     }
 
@@ -1054,10 +1093,9 @@
         fFtuAnswersCrate3->setValue(sdata.fNumBoardsCrate[3]);
 
-        // Same: When error received: Needs decoding
+        DisableStatusLedFtu();
+
         for (int i=0; i<40; i++)
         {
             const bool active = sdata.IsActive(i);
-
-            cout << i << ": " << active << " " << (int)sdata.fPing[i] << endl;
 
             SetFtuLed(i, active ? sdata.fPing[i] : -1);
@@ -1108,5 +1146,13 @@
             fFtuWidget->setEnabled(enable);
             fRatesWidget->setEnabled(enable);
-        }
+
+            if (!enable)
+            {
+                fFtuStatus = -1;
+                fStatusFTULed->setIcon(QIcon(":/Resources/icons/gray circle 1.png"));
+                fStatusFTULabel->setText("Offline");
+                fStatusFTULabel->setToolTip("FTM is not online.");
+            }
+    }
 
         if (server=="FAD_CONTROL")
@@ -1548,7 +1594,13 @@
         fDimFtmStaticData    ("FTM_CONTROL/STATIC_DATA",     (void*)NULL, 0, this),
         fDimFtmDynamicData   ("FTM_CONTROL/DYNAMIC_DATA",    (void*)NULL, 0, this)
-
-
-    {
+    {
+        fTriggerWidget->setEnabled(false);
+        fFtuWidget->setEnabled(false);
+        fRatesWidget->setEnabled(false);
+        fLoggerWidget->setEnabled(false);
+
+        fChatSend->setEnabled(false);
+        fChatMessage->setEnabled(false);
+
         DimClient::sendCommand("CHAT/MSG", "GUI online.");
         // + MessageDimRX
@@ -1565,9 +1617,4 @@
         fDim.push_back(&fDimLoggerNumSubs);
         fDim.push_back(&fDimDNS);
-
-        fTriggerWidget->setEnabled(false);
-        fFtuWidget->setEnabled(false);
-        fRatesWidget->setEnabled(false);
-        fLoggerWidget->setEnabled(false);
 
         // --------------------------------------------------------------------------
