From 57c6d8ac775ad3cd1a6d6ebc5a89e57bb3ee8ed2 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Fri, 26 Apr 2019 02:15:03 +0200 Subject: [PATCH] Ref T623, ignore/unignore dot command --- src/blackcore/context/contextnetworkimpl.cpp | 18 +++++++++++++++++- src/blackcore/context/contextnetworkimpl.h | 4 ++++ src/blackcore/simulator.cpp | 2 +- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/blackcore/context/contextnetworkimpl.cpp b/src/blackcore/context/contextnetworkimpl.cpp index 5d0953e0a..7151addca 100644 --- a/src/blackcore/context/contextnetworkimpl.cpp +++ b/src/blackcore/context/contextnetworkimpl.cpp @@ -280,7 +280,7 @@ namespace BlackCore { Q_UNUSED(originator;) if (commandLine.isEmpty()) { return false; } - static const QStringList cmds({ ".msg", ".m", ".chat", ".altos", ".altoffset", ".wallop", ".watchdog", ".reinit", ".reinitialize" }); + static const QStringList cmds({ ".msg", ".m", ".chat", ".altos", ".altoffset", ".wallop", ".watchdog", ".reinit", ".reinitialize", ".enable", ".disable", ".ignore", ".unignore" }); CSimpleCommandParser parser(cmds); parser.parse(commandLine); if (!parser.isKnownCommand()) { return false; } @@ -419,6 +419,22 @@ namespace BlackCore m_network->sendWallopMessage(wallopMsg); return true; } + else if (parser.matchesCommand(".enable", ".unignore")) + { + if (parser.countParts() < 2) { return false; } + if (!m_network) { return false; } + if (!this->isConnected()) { return false; } + const CCallsign cs(parser.part(1)); + if (cs.isValid()) { this->updateAircraftEnabled(cs, true); } + } + else if (parser.matchesCommand(".disable", ".ignore")) + { + if (parser.countParts() < 2) { return false; } + if (!m_network) { return false; } + if (!this->isConnected()) { return false; } + const CCallsign cs(parser.part(1)); + if (cs.isValid()) { this->updateAircraftEnabled(cs, false); } + } return false; } diff --git a/src/blackcore/context/contextnetworkimpl.h b/src/blackcore/context/contextnetworkimpl.h index 3bdcfc97b..26efbdbfa 100644 --- a/src/blackcore/context/contextnetworkimpl.h +++ b/src/blackcore/context/contextnetworkimpl.h @@ -228,6 +228,10 @@ namespace BlackCore BlackMisc::CSimpleCommandParser::registerCommand({".watchdog on|off", "enable/disable network watchdog (testing)"}); BlackMisc::CSimpleCommandParser::registerCommand({".wallop message", "send a wallop message"}); BlackMisc::CSimpleCommandParser::registerCommand({".reinit", "re-initialize all aircraft"}); + BlackMisc::CSimpleCommandParser::registerCommand({".enable", "alias: .unignore"}); + BlackMisc::CSimpleCommandParser::registerCommand({".enable callsign", "enable/unignore callsign"}); + BlackMisc::CSimpleCommandParser::registerCommand({".disable", "alias: .ignore"}); + BlackMisc::CSimpleCommandParser::registerCommand({".disable callsign", "disable/ignore callsign"}); } //! \publicsection diff --git a/src/blackcore/simulator.cpp b/src/blackcore/simulator.cpp index 364b1bda7..343b65a0c 100644 --- a/src/blackcore/simulator.cpp +++ b/src/blackcore/simulator.cpp @@ -565,7 +565,7 @@ namespace BlackCore CSimpleCommandParser::registerCommand({".drv spline|linear callsign", "set spline/linear interpolator for one/all callsign(s)"}); CSimpleCommandParser::registerCommand({".drv aircraft readd callsign", "add again (re-add) a given callsign"}); CSimpleCommandParser::registerCommand({".drv aircraft readd all", "add again (re-add) all aircraft"}); - CSimpleCommandParser::registerCommand({".drv aircraft rm callsign", "remove a given callsign"}); + CSimpleCommandParser::registerCommand({".drv aircraft rm callsign", "remove a given callsign from simulator"}); if (CBuildConfig::isCompiledWithFsuipcSupport()) {