From a5da201701afb844f793f6c5425614fd1a781610 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Thu, 26 Nov 2015 03:47:43 +0100 Subject: [PATCH] refs #514, ATC stations filter by valid frequency --- src/blackgui/components/atcstationcomponent.cpp | 6 +++++- src/blackmisc/aviation/atcstationlist.cpp | 5 +++++ src/blackmisc/aviation/atcstationlist.h | 6 +++++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/blackgui/components/atcstationcomponent.cpp b/src/blackgui/components/atcstationcomponent.cpp index a69f6ad35..3f9ab3591 100644 --- a/src/blackgui/components/atcstationcomponent.cpp +++ b/src/blackgui/components/atcstationcomponent.cpp @@ -126,7 +126,11 @@ namespace BlackGui // update if (this->m_timestampOnlineStationsChanged > this->m_timestampLastReadOnlineStations) { - this->ui->tvp_AtcStationsOnline->updateContainerMaybeAsync(this->getIContextNetwork()->getAtcStationsOnline().stationsWithValidVoiceRoom()); + this->ui->tvp_AtcStationsOnline->updateContainerMaybeAsync( + // test: filter by frequency, see if this is better + // this->getIContextNetwork()->getAtcStationsOnline().stationsWithValidVoiceRoom() + this->getIContextNetwork()->getAtcStationsOnline().stationsWithValidFrequency() + ); this->m_timestampLastReadOnlineStations = QDateTime::currentDateTimeUtc(); this->m_timestampOnlineStationsChanged = this->m_timestampLastReadOnlineStations; diff --git a/src/blackmisc/aviation/atcstationlist.cpp b/src/blackmisc/aviation/atcstationlist.cpp index 90aa323c2..9abd5bf22 100644 --- a/src/blackmisc/aviation/atcstationlist.cpp +++ b/src/blackmisc/aviation/atcstationlist.cpp @@ -37,6 +37,11 @@ namespace BlackMisc return this->findBy(&CAtcStation::hasValidVoiceRoom, true); } + CAtcStationList CAtcStationList::stationsWithValidFrequency() const + { + return this->findBy(&CAtcStation::hasValidFrequency, true); + } + CUserList CAtcStationList::getControllers() const { return this->findBy(Predicates::MemberValid(&CAtcStation::getController)).transform(Predicates::MemberTransform(&CAtcStation::getController)); diff --git a/src/blackmisc/aviation/atcstationlist.h b/src/blackmisc/aviation/atcstationlist.h index 159587037..2d4001ef5 100644 --- a/src/blackmisc/aviation/atcstationlist.h +++ b/src/blackmisc/aviation/atcstationlist.h @@ -47,9 +47,13 @@ namespace BlackMisc CAtcStationList findIfComUnitTunedIn25KHz(const BlackMisc::Aviation::CComSystem &comUnit) const; //! Find 0..n stations with valid voice room - //! \sa CAtcStation::hasValid + //! \sa CAtcStation::hasValidVoiceRoom CAtcStationList stationsWithValidVoiceRoom() const; + //! Find 0..n stations with valid COM frequency + //! \sa CAtcStation::hasValidFrequency + CAtcStationList stationsWithValidFrequency() const; + //! All controllers (with valid data) BlackMisc::Network::CUserList getControllers() const;