mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 15:25:35 +08:00
refs #916, dot command for interpolator mode
This commit is contained in:
committed by
Mathew Sutcliffe
parent
3a6df31c99
commit
277837bb30
@@ -352,23 +352,24 @@ namespace BlackCore
|
||||
return true;
|
||||
}
|
||||
|
||||
// .plugin loginterpolator etc.
|
||||
if (parser.part(1).startsWith("logint") && parser.hasPart(2))
|
||||
// .plugin log interpolator
|
||||
const QString part1(parser.part(1).toLower().trimmed());
|
||||
if (part1.startsWith("logint") && parser.hasPart(2))
|
||||
{
|
||||
const QString p = parser.part(2).toLower();
|
||||
if (p == "off" || p == "false")
|
||||
const QString part2 = parser.part(2).toLower();
|
||||
if (part2 == "off" || part2 == "false")
|
||||
{
|
||||
this->m_interpolationRenderingSetup.clearInterpolatorLogCallsigns();
|
||||
CStatusMessage(this).info("Disabled interpolation logging");
|
||||
return true;
|
||||
}
|
||||
if (p == "clear" || p == "clr")
|
||||
if (part2 == "clear" || part2 == "clr")
|
||||
{
|
||||
this->m_interpolationLogger.clearLog();
|
||||
CStatusMessage(this).info("Cleared interpolation logging");
|
||||
return true;
|
||||
}
|
||||
if (p == "write" || p == "save")
|
||||
if (part2 == "write" || part2 == "save")
|
||||
{
|
||||
// stop logging
|
||||
this->m_interpolationRenderingSetup.clearInterpolatorLogCallsigns();
|
||||
@@ -379,7 +380,7 @@ namespace BlackCore
|
||||
return true;
|
||||
}
|
||||
|
||||
const QString cs = p.toUpper();
|
||||
const QString cs = part2.toUpper();
|
||||
if (!CCallsign::isValidAircraftCallsign(cs)) { return false; }
|
||||
if (this->getAircraftInRangeCallsigns().contains(cs))
|
||||
{
|
||||
@@ -394,6 +395,21 @@ namespace BlackCore
|
||||
}
|
||||
}
|
||||
|
||||
if (part1.startsWith("spline") || part1.startsWith("linear"))
|
||||
{
|
||||
CCallsign cs(parser.hasPart(2) ? parser.part(2) : "");
|
||||
const bool changed = this->setInterpolatorMode(CInterpolatorMulti::modeFromString(part1), cs);
|
||||
if (changed)
|
||||
{
|
||||
CLogMessage(this).info("Changed interpolation mode");
|
||||
}
|
||||
else
|
||||
{
|
||||
CLogMessage(this).info("Unchanged interpolation mode");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// driver specific cmd line arguments
|
||||
return this->parseDetails(parser);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user