diff --git a/src/blackgui/components/internalscomponent.cpp b/src/blackgui/components/internalscomponent.cpp
index a84825c72..423704abc 100644
--- a/src/blackgui/components/internalscomponent.cpp
+++ b/src/blackgui/components/internalscomponent.cpp
@@ -65,9 +65,9 @@ namespace BlackGui
ui->le_TxtMsgTo->setValidator(new CUpperCaseValidator(ui->le_TxtMsgFrom));
ui->le_AtisCallsign->setValidator(new CUpperCaseValidator(ui->le_AtisCallsign));
- connect(ui->pb_SendAircraftPartsGui, &QPushButton::pressed, this, &CInternalsComponent::sendAircraftParts);
- connect(ui->pb_SendAircraftPartsJson, &QPushButton::pressed, this, &CInternalsComponent::sendAircraftParts);
- connect(ui->pb_CurrentParts, &QPushButton::pressed, this, &CInternalsComponent::setCurrentParts);
+ connect(ui->pb_SendAircraftPartsGui, &QPushButton::released, this, &CInternalsComponent::sendAircraftParts);
+ connect(ui->pb_SendAircraftPartsJson, &QPushButton::released, this, &CInternalsComponent::sendAircraftParts);
+ connect(ui->pb_CurrentParts, &QPushButton::released, this, &CInternalsComponent::setCurrentParts);
connect(ui->cb_DebugContextAudio, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug);
connect(ui->cb_DebugContextApplication, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug);
@@ -75,16 +75,18 @@ namespace BlackGui
connect(ui->cb_DebugContextOwnAircraft, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug);
connect(ui->cb_DebugContextSimulator, &QCheckBox::stateChanged, this, &CInternalsComponent::enableDebug);
- connect(ui->pb_SendTextMessage, &QPushButton::pressed, this, &CInternalsComponent::sendTextMessage);
- connect(ui->tb_LogStatusMessage, &QPushButton::pressed, this, &CInternalsComponent::logStatusMessage);
+ connect(ui->pb_SendTextMessageDirectly, &QPushButton::released, this, &CInternalsComponent::sendTextMessage, Qt::QueuedConnection);
+ connect(ui->pb_SendTextMessageDeferred, &QPushButton::released, this, &CInternalsComponent::sendTextMessage, Qt::QueuedConnection);
+
+ connect(ui->tb_LogStatusMessage, &QPushButton::released, this, &CInternalsComponent::logStatusMessage);
connect(ui->le_StatusMessage, &QLineEdit::returnPressed, this, &CInternalsComponent::logStatusMessage);
- connect(ui->pb_LatestInterpolationLog, &QPushButton::pressed, this, &CInternalsComponent::showLogFiles);
- connect(ui->pb_LatestPartsLog, &QPushButton::pressed, this, &CInternalsComponent::showLogFiles);
- connect(ui->pb_RequestFromNetwork, &QPushButton::pressed, this, &CInternalsComponent::requestPartsFromNetwork);
- connect(ui->pb_DisplayLog, &QPushButton::pressed, this, &CInternalsComponent::displayLogInSimulator);
+ connect(ui->pb_LatestInterpolationLog, &QPushButton::released, this, &CInternalsComponent::showLogFiles);
+ connect(ui->pb_LatestPartsLog, &QPushButton::released, this, &CInternalsComponent::showLogFiles);
+ connect(ui->pb_RequestFromNetwork, &QPushButton::released, this, &CInternalsComponent::requestPartsFromNetwork);
+ connect(ui->pb_DisplayLog, &QPushButton::released, this, &CInternalsComponent::displayLogInSimulator);
- connect(ui->pb_SendAtis, &QPushButton::pressed, this, &CInternalsComponent::sendAtis);
+ connect(ui->pb_SendAtis, &QPushButton::released, this, &CInternalsComponent::sendAtis);
connect(ui->comp_RemoteAircraftSelector, &CRemoteAircraftSelector::changedCallsign, this, &CInternalsComponent::selectorChanged);
this->contextFlagsToGui();
@@ -187,6 +189,14 @@ namespace BlackGui
if (ui->pte_TxtMsg->toPlainText().isEmpty()) { return; }
if (ui->le_TxtMsgTo->text().isEmpty() && ui->dsb_TxtMsgFrequency->text().isEmpty()) { return; }
+ // send in some time
+ const QObject *senderObj = QObject::sender();
+ if (senderObj == ui->pb_SendTextMessageDeferred)
+ {
+ QTimer::singleShot(5000, this, &CInternalsComponent::sendTextMessage);
+ return;
+ }
+
const CCallsign sender(ui->le_TxtMsgFrom->text().trimmed());
const CCallsign recipient(ui->le_TxtMsgTo->text().trimmed());
const QString msgTxt(ui->pte_TxtMsg->toPlainText().trimmed());
diff --git a/src/blackgui/components/internalscomponent.ui b/src/blackgui/components/internalscomponent.ui
index bd0556022..c9b1e6b90 100644
--- a/src/blackgui/components/internalscomponent.ui
+++ b/src/blackgui/components/internalscomponent.ui
@@ -185,21 +185,28 @@
4
- -
-
-
- send
+
-
+
+
+ Text message
- -
+
-
from
- -
+
-
+
+
+ to
+
+
+
+ -
MHz
@@ -221,18 +228,36 @@
- -
-
-
- to
-
-
-
- -
-
-
- Text message
-
+
-
+
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
+ 0
+
+
-
+
+
+ send
+
+
+
+ -
+
+
+ send deferred
+
+
+
+
@@ -651,18 +676,21 @@
le_TxtMsgFrom
le_TxtMsgTo
dsb_TxtMsgFrequency
- pb_SendTextMessage
+ pb_SendTextMessageDirectly
+ pb_SendTextMessageDeferred
pte_TxtMsg
le_AtisCallsign
pb_SendAtis
pte_Atis
+ pb_LatestInterpolationLog
+ pb_LatestPartsLog
pb_DisplayLog
pb_RequestFromNetwork
tb_History
+ pb_CurrentParts
+ pb_SendAircraftPartsJson
pb_SendAircraftPartsGui
cb_AircraftPartsIncremental
- pb_SendAircraftPartsJson
- pb_CurrentParts