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 + + + + + + + +