refs #799, use message settings

This commit is contained in:
Klaus Basan
2016-11-13 00:44:51 +01:00
parent af6dcc6191
commit 8a44774c98
4 changed files with 28 additions and 6 deletions

View File

@@ -554,8 +554,12 @@ namespace BlackCore
void CContextSimulator::ps_textMessagesReceived(const Network::CTextMessageList &textMessages)
{
if (!isSimulatorSimulating()) { return; }
if (!this->getIContextOwnAircraft()) { return; }
const CSettingsSimulatorMessages settings = m_messageSettings.getThreadLocal();
const CSimulatedAircraft ownAircraft = this->getIContextOwnAircraft()->getOwnAircraft();
for (const auto &tm : textMessages)
{
if (!settings.relayThisTextMessage(tm, ownAircraft)) { continue; }
m_simulatorPlugin.second->displayTextMessage(tm);
}
}
@@ -598,8 +602,11 @@ namespace BlackCore
void CContextSimulator::ps_relayStatusMessageToSimulator(const BlackMisc::CStatusMessage &message)
{
if (!isSimulatorSimulating()) { return; }
//! \todo add settings and only relay messages as set in settings
m_simulatorPlugin.second->displayStatusMessage(message);
const CSettingsSimulatorMessages simMsg = m_messageSettings.getThreadLocal();
if (simMsg.relayThisStatusMessage(message))
{
m_simulatorPlugin.second->displayStatusMessage(message);
}
}
void CContextSimulator::restoreSimulatorPlugins()

View File

@@ -12,6 +12,7 @@
#ifndef BLACKCORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
#define BLACKCORE_CONTEXT_CONTEXTSIMULATOR_IMPL_H
#include "blackcore/aircraftmatcher.h"
#include "blackcore/blackcoreexport.h"
#include "blackcore/context/contextsimulator.h"
@@ -31,6 +32,7 @@
#include "blackmisc/simulation/simulatorplugininfo.h"
#include "blackmisc/simulation/simulatorplugininfolist.h"
#include "blackmisc/simulation/simulatorsetup.h"
#include "blackmisc/simulation/simulationsettings.h"
#include "blackmisc/worker.h"
#include <QObject>
@@ -194,6 +196,7 @@ namespace BlackCore
BlackCore::CAircraftMatcher m_modelMatcher; //!< Model matcher
BlackMisc::Simulation::CAircraftModelSetLoader m_modelSetLoader { this }; //!< load model set from caches
QMap<BlackMisc::Aviation::CCallsign, BlackMisc::CStatusMessageList> m_matchingMessages;
BlackMisc::CSettingReadOnly<BlackMisc::Simulation::TSimulatorMessages> m_messageSettings { this }; //!< settings for messages
bool m_initallyAddAircrafts = false;
bool m_enableMatchingMessages = true;
};