mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 11:05:33 +08:00
Improved manual changing of aircraft and reset
* deferred adding and reset * HTML overlay messages * debug code for DBus messages
This commit is contained in:
@@ -1044,10 +1044,16 @@ namespace BlackCore
|
||||
{
|
||||
CSimulatedAircraft aircraft = this->getAircraftInRangeForCallsign(callsign);
|
||||
if (aircraft.getCallsign() != callsign) { return false; } // not found
|
||||
this->setAircraftEnabledFlag(callsign, true); // plain vanilla flag
|
||||
this->updateAircraftRendered(callsign, false); // this is flag only anyway
|
||||
if (!this->isSimulatorAvailable()) { return false; }
|
||||
|
||||
m_simulatorPlugin.second->logicallyRemoveRemoteAircraft(callsign);
|
||||
aircraft.setModel(aircraft.getNetworkModel()); // like originally from network
|
||||
this->xCtxAddedRemoteAircraftReadyForModelMatching(aircraft);
|
||||
QPointer<CContextSimulator> myself(this);
|
||||
QTimer::singleShot(1000, this, [ = ]
|
||||
{
|
||||
if (!sApp || sApp->isShuttingDown() || !myself) { return; }
|
||||
this->xCtxAddedRemoteAircraftReadyForModelMatching(aircraft);
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -1082,7 +1082,18 @@ namespace BlackCore
|
||||
const CCallsign callsign = aircraft.getCallsign();
|
||||
if (!this->isPhysicallyRenderedAircraft(callsign)) { return false; }
|
||||
this->physicallyRemoveRemoteAircraft(callsign);
|
||||
return this->changeRemoteAircraftEnabled(aircraft);
|
||||
// return this->changeRemoteAircraftEnabled(aircraft);
|
||||
|
||||
const QPointer<ISimulator> myself(this);
|
||||
QTimer::singleShot(1000, this, [ = ]
|
||||
{
|
||||
if (!myself) { return; }
|
||||
if (this->isAircraftInRange(callsign))
|
||||
{
|
||||
this->changeRemoteAircraftEnabled(aircraft);
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
|
||||
CStatusMessageList ISimulator::debugVerifyStateAfterAllAircraftRemoved() const
|
||||
|
||||
@@ -331,7 +331,7 @@ namespace BlackGui
|
||||
const QString modelString = ui->completer_ModelStrings->getModelString();
|
||||
if (modelString.isEmpty())
|
||||
{
|
||||
this->showOverlayMessage(CStatusMessage(this).validationError(u"Missing model for mapping"), OverlayMessageMs);
|
||||
this->showOverlayHTMLMessage(CStatusMessage(this).validationError(u"Missing model for mapping"), OverlayMessageMs);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -394,7 +394,7 @@ namespace BlackGui
|
||||
|
||||
if (!changed)
|
||||
{
|
||||
this->showOverlayMessage(CLogMessage(this).info(u"Model mapping, nothing to change"), OverlayMessageMs);
|
||||
this->showOverlayHTMLMessage(CLogMessage(this).info(u"Model mapping, nothing to change"), OverlayMessageMs);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -405,9 +405,9 @@ namespace BlackGui
|
||||
if (callsign.isEmpty()) { return; }
|
||||
const bool reset = sGui->getIContextSimulator()->resetToModelMatchingAircraft(callsign);
|
||||
const CStatusMessage msg = reset ?
|
||||
CStatusMessage(this).info(u"Model reset for '%1'") << callsign.toQString() :
|
||||
CStatusMessage(this).info(u"Model reset for '%1'") << callsign.toQString() :
|
||||
CStatusMessage(this).info(u"Reset failed for '%1'") << callsign.toQString();
|
||||
this->showOverlayMessage(msg, 3000);
|
||||
this->showOverlayHTMLMessage(msg, 3000);
|
||||
}
|
||||
|
||||
void CMappingComponent::onModelPreviewChanged(int state)
|
||||
|
||||
@@ -550,6 +550,9 @@ namespace XSwiftBus
|
||||
const dbus_uint32_t serial = message.getSerial();
|
||||
const bool wantsReply = message.wantsReply();
|
||||
|
||||
// Debug message if needed
|
||||
// { const std::string d = "dbusMessageHandler: " + message.getMethodName(); INFO_LOG(d.c_str()); }
|
||||
|
||||
if (message.getInterfaceName() == DBUS_INTERFACE_INTROSPECTABLE)
|
||||
{
|
||||
if (message.getMethodName() == "Introspect")
|
||||
|
||||
Reference in New Issue
Block a user