mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-06 10:15:38 +08:00
As of RW/KB workshop
* changed aircraft view to siumlated aircraft models / views * functionality to change fast pos. updates (signals, slots) * allow to request text message widget from aircraft component
This commit is contained in:
@@ -152,6 +152,14 @@ namespace BlackCore
|
||||
return c > 0;
|
||||
}
|
||||
|
||||
bool CAirspaceMonitor::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
|
||||
{
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositonUpdates));
|
||||
Q_UNUSED(originator);
|
||||
int c = m_aircraftInRange.applyIfCallsign(callsign, vm);
|
||||
return c > 0;
|
||||
}
|
||||
|
||||
CFlightPlan CAirspaceMonitor::loadFlightPlanFromNetwork(const CCallsign &callsign)
|
||||
{
|
||||
CFlightPlan plan;
|
||||
|
||||
@@ -68,6 +68,9 @@ namespace BlackCore
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateFastPositionEnabled
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
|
||||
|
||||
//! Returns the list of users we know about
|
||||
BlackMisc::Network::CUserList getUsers() const;
|
||||
|
||||
|
||||
@@ -101,6 +101,9 @@ namespace BlackCore
|
||||
//! Aircraft enabled / disabled
|
||||
void changedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||
|
||||
//! Aircraft enabled / disabled
|
||||
void changedFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||
|
||||
//! Connection status changed for online station
|
||||
void changedAtcStationOnlineConnectionStatus(const BlackMisc::Aviation::CAtcStation &atcStation, bool connected);
|
||||
|
||||
@@ -233,6 +236,9 @@ namespace BlackCore
|
||||
//! Change model string
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
||||
|
||||
//! Change fast position updates
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) = 0;
|
||||
|
||||
//! Create dummy ATC stations for performance tests etc.
|
||||
virtual void testCreateDummyOnlineAtcStations(int number) = 0;
|
||||
|
||||
|
||||
@@ -249,6 +249,16 @@ namespace BlackCore
|
||||
return false;
|
||||
}
|
||||
|
||||
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override
|
||||
{
|
||||
logEmptyContextWarning(Q_FUNC_INFO);
|
||||
Q_UNUSED(callsign);
|
||||
Q_UNUSED(enableFastPositionSending);
|
||||
Q_UNUSED(originator);
|
||||
return false;
|
||||
}
|
||||
|
||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||
virtual bool isFastPositionSendingEnabled() const override
|
||||
{
|
||||
|
||||
@@ -537,6 +537,17 @@ namespace BlackCore
|
||||
return c;
|
||||
}
|
||||
|
||||
bool CContextNetwork::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator)
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << callsign << enableFastPositonUpdates << originator; }
|
||||
bool c = this->m_airspace->updateFastPositionUpdates(callsign, enableFastPositonUpdates, originator);
|
||||
if (c)
|
||||
{
|
||||
emit this->changedFastPositionUpdates(this->remoteAircraft().findFirstByCallsign(callsign), originator);
|
||||
}
|
||||
return c;
|
||||
}
|
||||
|
||||
bool CContextNetwork::isFastPositionSendingEnabled() const
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
@@ -561,6 +572,7 @@ namespace BlackCore
|
||||
{
|
||||
if (this->isDebugEnabled()) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
|
||||
Q_ASSERT(this->m_network);
|
||||
//! \todo Fast position updates in vatlib
|
||||
return CCallsignList();
|
||||
}
|
||||
|
||||
|
||||
@@ -76,9 +76,6 @@ namespace BlackCore
|
||||
) override;
|
||||
|
||||
signals:
|
||||
// IRemoteAircraftProviderReadOnly must be implemented by concrete class
|
||||
// must not prefixed virtual (though they are) -> warning
|
||||
|
||||
//! \copydoc IRemoteAircraftProviderReadOnly::addedRemoteAircraftSituation
|
||||
void addedRemoteAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||
|
||||
@@ -184,6 +181,9 @@ namespace BlackCore
|
||||
//! \copydoc IContextNetwork::updateAircraftModel
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||
virtual bool isFastPositionSendingEnabled() const override;
|
||||
|
||||
|
||||
@@ -81,6 +81,9 @@ namespace BlackCore
|
||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||
"changedAircraftEnabled", this, SIGNAL(changedAircraftEnabled(BlackMisc::Simulation::CSimulatedAircraft, QString)));
|
||||
Q_ASSERT(s);
|
||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||
"changedFastPositionUpdates", this, SIGNAL(changedFastPositionUpdates(BlackMisc::Simulation::CSimulatedAircraft,QString)));
|
||||
Q_ASSERT(s);
|
||||
s = connection.connect(serviceName, IContextNetwork::ObjectPath(), IContextNetwork::InterfaceName(),
|
||||
"addedAircraft", this, SIGNAL(addedAircraft(BlackMisc::Simulation::CSimulatedAircraft)));
|
||||
Q_ASSERT(s);
|
||||
@@ -184,6 +187,11 @@ namespace BlackCore
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateAircraftModel"), callsign, model, originator);
|
||||
}
|
||||
|
||||
bool CContextNetworkProxy::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositionSending, const QString &originator)
|
||||
{
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("updateFastPositionUpdates"), callsign, enableFastPositionSending, originator);
|
||||
}
|
||||
|
||||
bool CContextNetworkProxy::isFastPositionSendingEnabled() const
|
||||
{
|
||||
return this->m_dBusInterface->callDBusRet<bool>(QLatin1Literal("isFastPositionSendingEnabled"));
|
||||
|
||||
@@ -134,6 +134,9 @@ namespace BlackCore
|
||||
//! \copydoc IContextNetwork::updateAircraftModel
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::updateFastPositionUpdates
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositionSending, const QString &originator) override;
|
||||
|
||||
//! \copydoc IContextNetwork::isFastPositionSendingEnabled
|
||||
virtual bool isFastPositionSendingEnabled() const override;
|
||||
|
||||
|
||||
@@ -17,8 +17,9 @@
|
||||
|
||||
using namespace BlackGui;
|
||||
using namespace BlackGui::Views;
|
||||
using namespace BlackGui::Models;
|
||||
using namespace BlackCore;
|
||||
|
||||
using namespace BlackMisc::Simulation;
|
||||
|
||||
namespace BlackGui
|
||||
{
|
||||
@@ -33,9 +34,12 @@ namespace BlackGui
|
||||
this->tabBar()->setExpanding(false);
|
||||
this->ui->tvp_AirportsInRange->setResizeMode(CAirportView::ResizingOnce);
|
||||
m_updateTimer = new CUpdateTimer(&CAircraftComponent::update, this);
|
||||
this->ui->tvp_AircraftInRange->setAircraftMode(CSimulatedAircraftListModel::InfoMode);
|
||||
|
||||
connect(this->ui->tvp_AircraftInRange, &CSimulatedAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||
connect(this->ui->tvp_AircraftInRange, &CSimulatedAircraftView::requestTextMessageWidget, this, &CAircraftComponent::requestTextMessageWidget);
|
||||
connect(this->ui->tvp_AirportsInRange, &CSimulatedAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||
|
||||
connect(this->ui->tvp_AircraftInRange, &CAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||
connect(this->ui->tvp_AirportsInRange, &CAircraftView::rowCountChanged, this, &CAircraftComponent::ps_onRowCountChanged);
|
||||
}
|
||||
|
||||
CAircraftComponent::~CAircraftComponent()
|
||||
@@ -64,7 +68,7 @@ namespace BlackGui
|
||||
bool visible = (this->isVisibleWidget() && this->currentWidget() == this->ui->tb_AircraftInRange);
|
||||
if (this->countAircraft() < 1 || visible)
|
||||
{
|
||||
this->ui->tvp_AircraftInRange->updateContainer(this->getIContextNetwork()->getAircraftInRange().toAircraftList());
|
||||
this->ui->tvp_AircraftInRange->updateContainer(this->getIContextNetwork()->getAircraftInRange());
|
||||
}
|
||||
}
|
||||
if (this->getIContextSimulator()->isConnected())
|
||||
|
||||
@@ -49,6 +49,10 @@ namespace BlackGui
|
||||
//! Airports in range
|
||||
int countAirportsInRange() const;
|
||||
|
||||
signals:
|
||||
//! Request a text message
|
||||
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
public slots:
|
||||
//! Update aircrafts
|
||||
void update();
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="BlackGui::Views::CAircraftView" name="tvp_AircraftInRange">
|
||||
<widget class="BlackGui::Views::CSimulatedAircraftView" name="tvp_AircraftInRange">
|
||||
<property name="selectionMode">
|
||||
<enum>QAbstractItemView::SingleSelection</enum>
|
||||
</property>
|
||||
@@ -94,16 +94,16 @@
|
||||
</widget>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>BlackGui::Views::CAircraftView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/views/aircraftview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::Views::CAirportView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/views/airportview.h</header>
|
||||
</customwidget>
|
||||
<customwidget>
|
||||
<class>BlackGui::Views::CSimulatedAircraftView</class>
|
||||
<extends>QTableView</extends>
|
||||
<header>blackgui/views/simulatedaircraftview.h</header>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace BlackGui
|
||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestComFrequency, this, &CAtcStationComponent::ps_setComFrequency);
|
||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestTextMessage, this, &CAtcStationComponent::requestTextMessage);
|
||||
connect(this->ui->tvp_AtcStationsOnline, &CAtcStationView::requestTextMessageWidget, this, &CAtcStationComponent::requestTextMessageWidget);
|
||||
|
||||
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::requestUpdate, this, &CAtcStationComponent::ps_reloadAtcStationsBooked);
|
||||
connect(this->ui->tvp_AtcStationsBooked, &CAtcStationView::rowCountChanged, this, &CAtcStationComponent::ps_onCountChanged);
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace BlackGui
|
||||
|
||||
signals:
|
||||
//! Request a text message
|
||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
public slots:
|
||||
//! Update stations
|
||||
|
||||
@@ -49,8 +49,10 @@ namespace BlackGui
|
||||
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::rowCountChanged, this, &CMappingComponent::ps_onRowCountChanged);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::clicked, this, &CMappingComponent::ps_onAircraftSelectedInView);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView ::requestUpdate, this, &CMappingComponent::ps_onMappingsUpdateRequested);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestTextMessage, this, &CMappingComponent::requestTextMessage);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestUpdate, this, &CMappingComponent::ps_onMappingsUpdateRequested);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestTextMessageWidget, this, &CMappingComponent::requestTextMessageWidget);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestEnableAircraft, this, &CMappingComponent::ps_onMenuEnableAircraft);
|
||||
connect(this->ui->tvp_CurrentMappings, &CSimulatedAircraftView::requestFastPositionUpdates, this, &CMappingComponent::ps_onMenuChangeFastPositionUpdates);
|
||||
|
||||
connect(this->ui->pb_SaveAircraft, &QPushButton::clicked, this, &CMappingComponent::ps_onSaveAircraft);
|
||||
|
||||
@@ -304,6 +306,13 @@ namespace BlackGui
|
||||
Q_UNUSED(aircraft);
|
||||
}
|
||||
|
||||
void CMappingComponent::ps_onFastPositionUpdatesEnabled(const CSimulatedAircraft &aircraft, const QString &originator)
|
||||
{
|
||||
if (originator == mappingtOriginator()) { return; }
|
||||
this->ps_onMappingsUpdateRequested();
|
||||
Q_UNUSED(aircraft);
|
||||
}
|
||||
|
||||
void CMappingComponent::ps_onConnectionStatusChanged(uint from, uint to)
|
||||
{
|
||||
INetwork::ConnectionStatus fromStatus = static_cast<INetwork::ConnectionStatus>(from);
|
||||
@@ -315,6 +324,22 @@ namespace BlackGui
|
||||
}
|
||||
}
|
||||
|
||||
void CMappingComponent::ps_onMenuChangeFastPositionUpdates(const CSimulatedAircraft &aircraft)
|
||||
{
|
||||
if (getIContextNetwork())
|
||||
{
|
||||
getIContextNetwork()->updateFastPositionUpdates(aircraft.getCallsign(), aircraft.fastPositionUpdates(), mappingtOriginator());
|
||||
}
|
||||
}
|
||||
|
||||
void CMappingComponent::ps_onMenuEnableAircraft(const CSimulatedAircraft &aircraft)
|
||||
{
|
||||
if (getIContextNetwork())
|
||||
{
|
||||
getIContextNetwork()->updateAircraftEnabled(aircraft.getCallsign(), aircraft.isEnabled(), mappingtOriginator());
|
||||
}
|
||||
}
|
||||
|
||||
const QString &CMappingComponent::mappingtOriginator()
|
||||
{
|
||||
// string is generated once, the timestamp allows to use multiple
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace BlackGui
|
||||
|
||||
signals:
|
||||
//! Request a text message
|
||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
protected:
|
||||
//! \copydoc CRuntimeBasedComponent::runtimeHasBeenSet
|
||||
@@ -85,23 +85,32 @@ namespace BlackGui
|
||||
//! Model preview
|
||||
void ps_onModelPreviewChanged(int state);
|
||||
|
||||
//! Requested update for mappings from backend
|
||||
//! Request update for mappings from backend
|
||||
void ps_onMappingsUpdateRequested();
|
||||
|
||||
//! Request update for models from backend
|
||||
void ps_onModelsUpdateRequested();
|
||||
|
||||
//! Rendered aircraft changed
|
||||
//! Rendered aircraft changed in backend
|
||||
void ps_onRenderedAircraftModelChanged(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||
|
||||
//! aircraft enabled, disabled
|
||||
//! Aircraft enabled, disabled in backend
|
||||
void ps_onChangedAircraftEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||
|
||||
//! Fast position updates on/off in backend
|
||||
void ps_onFastPositionUpdatesEnabled(const BlackMisc::Simulation::CSimulatedAircraft &aircraft, const QString &originator);
|
||||
|
||||
//! Connection status has been changed
|
||||
void ps_onConnectionStatusChanged(uint from, uint to);
|
||||
|
||||
//! Fast position updates onf/off
|
||||
void ps_onMenuChangeFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||
|
||||
//! Enable / disable aircraft
|
||||
void ps_onMenuEnableAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||
|
||||
private:
|
||||
const QString &mappingtOriginator();
|
||||
static const QString &mappingtOriginator();
|
||||
QScopedPointer<Ui::CMappingComponent> ui;
|
||||
QCompleter *m_modelCompleter = nullptr;
|
||||
BlackGui::Views::CCheckBoxDelegate *m_currentMappingsViewDelegate = nullptr;
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace BlackGui
|
||||
{
|
||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CAircraft::IndexPilot, CUser::IndexRealName }));
|
||||
this->m_columns.addColumn(CColumn("distance", CAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("dist.", "distance", CAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("frequency", { CAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
||||
this->m_columns.addColumn(CColumn::standardString("icao", { CAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||
this->m_columns.addColumn(CColumn::standardString("transponder", { CAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
||||
|
||||
@@ -53,7 +53,7 @@ namespace BlackGui
|
||||
case InfoMode:
|
||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString));
|
||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||
this->m_columns.addColumn(CColumn("distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("frequency", { CSimulatedAircraft::IndexCom1System, CComSystem::IndexActiveFrequency }, new CComFrequencyFormatter()));
|
||||
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||
this->m_columns.addColumn(CColumn::standardString("transponder", { CSimulatedAircraft::IndexTransponder, CTransponder::IndexTransponderCodeAndModeFormatted }));
|
||||
@@ -74,10 +74,10 @@ namespace BlackGui
|
||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "rendered", "skipped"), true));
|
||||
this->m_columns.addColumn(CColumn::standardValueObject("cs.", "callsign", { CSimulatedAircraft::IndexCallsign, CCallsign::IndexCallsignString }));
|
||||
this->m_columns.addColumn(CColumn::standardString("realname", "pilot's real name", { CSimulatedAircraft::IndexPilot, CUser::IndexRealName }));
|
||||
this->m_columns.addColumn(CColumn("distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("dist.", "distance", CSimulatedAircraft::IndexDistanceToOwnAircraft, new CAirspaceDistanceFormatter()));
|
||||
this->m_columns.addColumn(CColumn("p.", "parts", CSimulatedAircraft::IndexPartsSynchronized,
|
||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "parts", "no parts"), true));
|
||||
this->m_columns.addColumn(CColumn("f.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates,
|
||||
this->m_columns.addColumn(CColumn("fp.", "fast position updates", CSimulatedAircraft::IndexFastPositionUpdates,
|
||||
new CBoolIconFormatter(CIcons::StandardIconTick16, CIcons::StandardIconCross16, "enabled", "disabled"), true));
|
||||
this->m_columns.addColumn(CColumn::standardString("icao", { CSimulatedAircraft::IndexIcao, CAircraftIcao::IndexAsString}));
|
||||
this->m_columns.addColumn(CColumn::standardString("model", { CSimulatedAircraft::IndexModel, CAircraftModel::IndexModelString}));
|
||||
|
||||
@@ -77,7 +77,7 @@ namespace BlackGui
|
||||
{
|
||||
CAtcStation s(this->selectedObject());
|
||||
if (s.getCallsign().isEmpty()) { return; }
|
||||
emit this->requestTextMessage(s.getCallsign());
|
||||
emit this->requestTextMessageWidget(s.getCallsign());
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -41,7 +41,7 @@ namespace BlackGui
|
||||
void requestComFrequency(const BlackMisc::PhysicalQuantities::CFrequency &frequency, BlackMisc::Aviation::CComSystem::ComUnit unit);
|
||||
|
||||
//! Request a text message to
|
||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
public slots:
|
||||
//! \copydoc CAtcStationListModel::changedAtcStationConnectionStatus
|
||||
|
||||
@@ -53,19 +53,23 @@ namespace BlackGui
|
||||
{
|
||||
CSimulatedAircraft aircraft(selectedObject());
|
||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||
emit requestTextMessage(aircraft.getCallsign());
|
||||
emit requestTextMessageWidget(aircraft.getCallsign());
|
||||
}
|
||||
|
||||
void CSimulatedAircraftView::ps_enableAircraft()
|
||||
{
|
||||
CSimulatedAircraft aircraft(selectedObject());
|
||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||
aircraft.setEnabled(!aircraft.isEnabled());
|
||||
emit requestFastPositionUpdates(aircraft);
|
||||
}
|
||||
|
||||
void CSimulatedAircraftView::ps_fastPositionUpdates()
|
||||
{
|
||||
CSimulatedAircraft aircraft(selectedObject());
|
||||
if (aircraft.getCallsign().isEmpty()) { return; }
|
||||
aircraft.setFastPositionUpdates(!aircraft.fastPositionUpdates());
|
||||
emit requestFastPositionUpdates(aircraft);
|
||||
}
|
||||
|
||||
} // ns
|
||||
|
||||
@@ -34,7 +34,13 @@ namespace BlackGui
|
||||
|
||||
signals:
|
||||
//! Request a text message
|
||||
void requestTextMessage(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
void requestTextMessageWidget(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
//! Request enable / disable fast position updates
|
||||
void requestFastPositionUpdates(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||
|
||||
//! Enable aircraft
|
||||
void requestEnableAircraft(const BlackMisc::Simulation::CSimulatedAircraft &aircraft);
|
||||
|
||||
protected:
|
||||
//! \copydoc CViewBase::customMenu
|
||||
|
||||
@@ -79,6 +79,9 @@ namespace BlackMisc
|
||||
|
||||
//! Change model string
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) = 0;
|
||||
|
||||
//! Change fast position updates
|
||||
virtual bool updateFastPositionUpdates(const BlackMisc::Aviation::CCallsign &callsign, bool enableFastPositonUpdates, const QString &originator) = 0;
|
||||
};
|
||||
|
||||
//! Class which can be directly used providing access to such an interface
|
||||
|
||||
@@ -73,6 +73,14 @@ namespace BlackMisc
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
bool CRemoteAircraftProviderDummy::updateFastPositionUpdates(const CCallsign &callsign, bool enableFastPositionUpdates, const QString &originator)
|
||||
{
|
||||
Q_UNUSED(originator);
|
||||
CPropertyIndexVariantMap vm(CSimulatedAircraft::IndexFastPositionUpdates, CVariant::fromValue(enableFastPositionUpdates));
|
||||
int n = this->m_aircraft.applyIfCallsign(callsign, vm);
|
||||
return n > 0;
|
||||
}
|
||||
|
||||
void CRemoteAircraftProviderDummy::insertNewSituation(const CAircraftSituation &situation)
|
||||
{
|
||||
this->m_situations.push_frontMaxElements(situation, 20);
|
||||
|
||||
@@ -62,6 +62,9 @@ namespace BlackMisc
|
||||
//! \copydoc IRemoteAircraftProvider::updateAircraftModel
|
||||
virtual bool updateAircraftModel(const BlackMisc::Aviation::CCallsign &callsign, const BlackMisc::Simulation::CAircraftModel &model, const QString &originator) override;
|
||||
|
||||
//! \copydoc IRemoteAircraftProvider::updateFastPositionUpdates
|
||||
virtual bool updateFastPositionUpdates(const Aviation::CCallsign &callsign, bool enableFastPositionUpdates, const QString &originator) override;
|
||||
|
||||
//! For testing, add new situation and fire signals
|
||||
void insertNewSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ void SwiftGuiStd::ps_handleTimerBasedUpdates()
|
||||
void SwiftGuiStd::setContextAvailability()
|
||||
{
|
||||
qint64 t = QDateTime::currentMSecsSinceEpoch();
|
||||
this->m_coreAvailable = this->getIContextApplication()->ping(t) == t;
|
||||
this->m_coreAvailable = (this->getIContextApplication()->ping(t) == t);
|
||||
this->m_contextNetworkAvailable = this->m_coreAvailable || this->getIContextNetwork()->isUsingImplementingObject();
|
||||
this->m_contextAudioAvailable = this->m_coreAvailable || this->getIContextAudio()->isUsingImplementingObject();
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ using namespace BlackMisc::Audio;
|
||||
*/
|
||||
bool SwiftGuiStd::ps_reloadOwnAircraft()
|
||||
{
|
||||
if (!this->isContextNetworkAvailableCheck()) return false;
|
||||
if (!this->isContextNetworkAvailableCheck()) { return false; }
|
||||
|
||||
// check for changed aircraft
|
||||
bool changed = false;
|
||||
|
||||
@@ -126,9 +126,9 @@ void SwiftGuiStd::init(const CRuntimeConfig &runtimeConfig)
|
||||
this->m_init = true;
|
||||
}
|
||||
|
||||
//
|
||||
// GUI signals
|
||||
//
|
||||
/*
|
||||
* GUI signals
|
||||
*/
|
||||
void SwiftGuiStd::initGuiSignals()
|
||||
{
|
||||
// Remark: With new style, only methods of same signature can be connected
|
||||
@@ -182,9 +182,10 @@ void SwiftGuiStd::initGuiSignals()
|
||||
this->ui->comp_MainInfoArea->getSettingsComponent()->setSettingsTab(CSettingsComponent::SettingTabNetworkServers);
|
||||
});
|
||||
|
||||
// textmessages
|
||||
connect(this->ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessage, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(this->ui->comp_MainInfoArea->getMappingComponet(), &CMappingComponent::requestTextMessage, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
// text messages
|
||||
connect(this->ui->comp_MainInfoArea->getAtcStationComponent(), &CAtcStationComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(this->ui->comp_MainInfoArea->getMappingComponet(), &CMappingComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
connect(this->ui->comp_MainInfoArea->getAircraftComponent(), &CAircraftComponent::requestTextMessageWidget, this->ui->comp_MainInfoArea->getTextMessageComponent(), &CTextMessageComponent::showCorrespondingTab);
|
||||
|
||||
// main info area
|
||||
connect(this->ui->comp_MainInfoArea, &CMainInfoAreaComponent::changedWholeInfoAreaFloating, this, &SwiftGuiStd::ps_onChangedMainInfoAreaFloating);
|
||||
|
||||
Reference in New Issue
Block a user