diff --git a/src/blackgui/components/settingscomponent.h b/src/blackgui/components/settingscomponent.h
index 41ed752ed..cfea06eaa 100644
--- a/src/blackgui/components/settingscomponent.h
+++ b/src/blackgui/components/settingscomponent.h
@@ -22,7 +22,6 @@
class QWidget;
namespace Ui { class CSettingsComponent; }
-
namespace BlackGui
{
namespace Components
diff --git a/src/blackgui/components/settingscomponent.ui b/src/blackgui/components/settingscomponent.ui
index 310f822af..6e60e2ef5 100644
--- a/src/blackgui/components/settingscomponent.ui
+++ b/src/blackgui/components/settingscomponent.ui
@@ -52,6 +52,22 @@
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 25
+
+
+
+
@@ -180,6 +196,70 @@
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 25
+
+
+
+
+
+
+
+
+ Simulator (messages)
+
+
+
+ 2
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+
+ 1
+
+ -
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Fixed
+
+
+
+ 20
+ 25
+
+
+
+
@@ -645,6 +725,12 @@
blackgui/components/settingssimulatorbasicscomponent.h
1
+
+ BlackGui::Components::CSettingsSimulatorMessagesComponent
+ QFrame
+ blackgui/components/settingssimulatormessagescomponent.h
+ 1
+
diff --git a/src/blackgui/components/settingsnetworkserverscomponent.cpp b/src/blackgui/components/settingsnetworkserverscomponent.cpp
index be7943922..2c0ba5d70 100644
--- a/src/blackgui/components/settingsnetworkserverscomponent.cpp
+++ b/src/blackgui/components/settingsnetworkserverscomponent.cpp
@@ -77,7 +77,7 @@ namespace BlackGui
void CSettingsNetworkServersComponent::ps_alterTrafficServer()
{
CServer server(this->ui->form_Server->getServer());
- CStatusMessageList msgs = server.validate();
+ CStatusMessageList msgs = server.validate();
if (!msgs.isEmpty()) { msgs.addCategories(this); }
CServerList serverList(m_trafficNetworkServers.getThreadLocal());
diff --git a/src/blackgui/components/settingsnetworkserverscomponent.ui b/src/blackgui/components/settingsnetworkserverscomponent.ui
index 92dea1232..e8cc1681a 100644
--- a/src/blackgui/components/settingsnetworkserverscomponent.ui
+++ b/src/blackgui/components/settingsnetworkserverscomponent.ui
@@ -143,22 +143,6 @@
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
diff --git a/src/blackgui/components/settingssimulatorbasicscomponent.ui b/src/blackgui/components/settingssimulatorbasicscomponent.ui
index 5e190e6a6..ca9419c1f 100644
--- a/src/blackgui/components/settingssimulatorbasicscomponent.ui
+++ b/src/blackgui/components/settingssimulatorbasicscomponent.ui
@@ -6,8 +6,8 @@
0
0
- 400
- 300
+ 511
+ 469
@@ -30,6 +30,13 @@
+ -
+
+
+ ...
+
+
+
-
@@ -47,10 +54,10 @@
- -
-
+
-
+
- ...
+ Model directories:
@@ -61,13 +68,6 @@
- -
-
-
- Model directories:
-
-
-
-
@@ -89,13 +89,6 @@
- -
-
-
- Simulator directory path
-
-
-
-
@@ -109,6 +102,13 @@
+ -
+
+
+ Simulator directory path
+
+
+
-
@@ -129,22 +129,6 @@
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Fixed
-
-
-
- 20
- 20
-
-
-
-
diff --git a/src/blackgui/components/settingssimulatormessagescomponent.cpp b/src/blackgui/components/settingssimulatormessagescomponent.cpp
new file mode 100644
index 000000000..9f33ac590
--- /dev/null
+++ b/src/blackgui/components/settingssimulatormessagescomponent.cpp
@@ -0,0 +1,94 @@
+/* Copyright (C) 2016
+ * swift project Community / Contributors
+ *
+ * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
+ * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
+ * including this file, may be copied, modified, propagated, or distributed except according to the terms
+ * contained in the LICENSE file.
+ */
+
+#include "settingssimulatormessagescomponent.h"
+#include "ui_settingssimulatormessagescomponent.h"
+#include "blackmisc/simulation/settings/settingssimulator.h"
+
+using namespace BlackMisc;
+using namespace BlackMisc::Simulation::Settings;
+
+namespace BlackGui
+{
+ namespace Components
+ {
+ CSettingsSimulatorMessagesComponent::CSettingsSimulatorMessagesComponent(QWidget *parent) :
+ QFrame(parent),
+ ui(new Ui::CSettingsSimulatorMessagesComponent)
+ {
+ ui->setupUi(this);
+ connect(ui->pb_Save, &QPushButton::clicked, this, &CSettingsSimulatorMessagesComponent::ps_save);
+ connect(ui->pb_Cancel, &QPushButton::clicked, this, &CSettingsSimulatorMessagesComponent::ps_load);
+
+ this->ps_load();
+ }
+
+ CSettingsSimulatorMessagesComponent::~CSettingsSimulatorMessagesComponent()
+ { }
+
+ void CSettingsSimulatorMessagesComponent::ps_save()
+ {
+ CSettingsSimulatorMessages settings;
+ settings.setGloballyEnabled(ui->cb_Messages->isChecked());
+ if (ui->rb_NoTechnicalMessages->isChecked())
+ {
+ settings.disableTechnicalMessages();
+ }
+ else if (ui->rb_ErrorsOnly->isChecked())
+ {
+ settings.setTechnicalLogSeverity(CStatusMessage::SeverityError);
+ }
+ else if (ui->rb_ErrorsAndWarnings->isChecked())
+ {
+ settings.setTechnicalLogSeverity(CStatusMessage::SeverityWarning);
+ }
+ else if (ui->rb_ErrorWarningsInfo->isChecked())
+ {
+ settings.setTechnicalLogSeverity(CStatusMessage::SeverityInfo);
+ }
+
+ CSettingsSimulatorMessages::TextMessageType mt = CSettingsSimulatorMessages::NoTextMessages;
+ if (ui->cb_PrivateMessages->isChecked()) { mt |= CSettingsSimulatorMessages::TextMessagePrivate; }
+ if (ui->cb_SupervisorMessages->isChecked()) { mt |= CSettingsSimulatorMessages::TextMessageSupervisor; }
+ if (ui->cb_Com1->isChecked()) { mt |= CSettingsSimulatorMessages::TextMessagesCom1; }
+ if (ui->cb_Com2->isChecked()) { mt |= CSettingsSimulatorMessages::TextMessagesCom2; };
+ settings.setRelayedTextMessages(mt);
+
+ // save
+ this->m_settings.setAndSave(settings);
+ }
+
+ void CSettingsSimulatorMessagesComponent::ps_load()
+ {
+ const CSettingsSimulatorMessages settings(this->m_settings.get());
+ ui->cb_Messages->setChecked(settings.isGloballyEnabled());
+ if (settings.isRelayedInfoMessages())
+ {
+ ui->rb_ErrorWarningsInfo->setChecked(true);
+ }
+ else if (settings.isRelayedWarningMessages())
+ {
+ ui->rb_ErrorsAndWarnings->setChecked(true);
+ }
+ else if (settings.isRelayedErrorsMessages())
+ {
+ ui->rb_ErrorsOnly->setChecked(true);
+ }
+ else if (!settings.isRelayedTechnicalMessages())
+ {
+ ui->rb_NoTechnicalMessages->setChecked(true);
+ }
+
+ ui->cb_PrivateMessages->setChecked(settings.isRelayedPrivateTextMessages());
+ ui->cb_SupervisorMessages->setChecked(settings.isRelayedSupervisorTextMessages());
+ ui->cb_Com1->setChecked(settings.isRelayedCom1TextMessages());
+ ui->cb_Com2->setChecked(settings.isRelayedCom2TextMessages());
+ }
+ } // ns
+} // ns
diff --git a/src/blackgui/components/settingssimulatormessagescomponent.h b/src/blackgui/components/settingssimulatormessagescomponent.h
new file mode 100644
index 000000000..4f9800782
--- /dev/null
+++ b/src/blackgui/components/settingssimulatormessagescomponent.h
@@ -0,0 +1,51 @@
+/* Copyright (C) 2016
+ * swift project Community / Contributors
+ *
+ * This file is part of swift project. It is subject to the license terms in the LICENSE file found in the top-level
+ * directory of this distribution and at http://www.swift-project.org/license.html. No part of swift project,
+ * including this file, may be copied, modified, propagated, or distributed except according to the terms
+ * contained in the LICENSE file.
+ */
+
+//! \file
+
+#ifndef BLACKGUI_COMPONENTS_SETTINGSSIMULATORMESSAGESCOMPONENT_H
+#define BLACKGUI_COMPONENTS_SETTINGSSIMULATORMESSAGESCOMPONENT_H
+
+#include "blackmisc/simulation/settings/settingssimulator.h"
+#include
+#include
+
+namespace Ui { class CSettingsSimulatorMessagesComponent; }
+namespace BlackGui
+{
+ namespace Components
+ {
+ /*!
+ * Configure what messages are sent to simulator
+ */
+ class CSettingsSimulatorMessagesComponent : public QFrame
+ {
+ Q_OBJECT
+
+ public:
+ //! Constructor
+ explicit CSettingsSimulatorMessagesComponent(QWidget *parent = nullptr);
+
+ //! Destructor
+ ~CSettingsSimulatorMessagesComponent();
+
+ private slots:
+ //! Save the data
+ void ps_save();
+
+ //! Load data
+ void ps_load();
+
+ private:
+ QScopedPointer ui;
+ BlackMisc::CSetting m_settings { this }; //!< settings for messages
+ };
+ } // ns
+} // ns
+#endif // guard
diff --git a/src/blackgui/components/settingssimulatormessagescomponent.ui b/src/blackgui/components/settingssimulatormessagescomponent.ui
new file mode 100644
index 000000000..e62bf9ae5
--- /dev/null
+++ b/src/blackgui/components/settingssimulatormessagescomponent.ui
@@ -0,0 +1,144 @@
+
+
+ CSettingsSimulatorMessagesComponent
+
+
+
+ 0
+ 0
+ 268
+ 254
+
+
+
+ Frame
+
+
+ QFrame::StyledPanel
+
+
+ QFrame::Raised
+
+
+ -
+
+
+ Technical messages
+
+
+
-
+
+
+ errors
+
+
+ true
+
+
+
+ -
+
+
+ none
+
+
+
+ -
+
+
+ all
+
+
+
+ -
+
+
+ wanrings
+
+
+
+
+
+
+ -
+
+
+ Msgs. to simulator:
+
+
+
+ -
+
+
+ enable/disable msgs.
+
+
+ true
+
+
+ true
+
+
+
+ -
+
+
+ Message type
+
+
+
-
+
+
+ private messages
+
+
+ true
+
+
+
+ -
+
+
+ Supervisor msgs.
+
+
+ true
+
+
+
+ -
+
+
+ COM1
+
+
+
+ -
+
+
+ COM2
+
+
+
+
+
+
+ -
+
+
+ cancel
+
+
+
+ -
+
+
+ save
+
+
+
+
+
+
+
+