From 281b6d11a61adcefd9455b3859ed4ecc0d168a88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Garapich?= Date: Sun, 4 Sep 2016 21:03:18 +0200 Subject: [PATCH] refs #748 Make airport completer work * fixed typo in CWebDataServices * trigger CAirportDataReader::dataRead() when read from cache, too * make AirportReader part of AllSwiftDbReaders * fixed typo in CLoginComponent --- src/blackcore/airportdatareader.cpp | 4 +++- src/blackcore/webdataservices.cpp | 7 ++++--- src/blackcore/webreaderflags.h | 4 ++-- src/blackgui/components/logincomponent.cpp | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/blackcore/airportdatareader.cpp b/src/blackcore/airportdatareader.cpp index 512d6caa8..a25680dc7 100644 --- a/src/blackcore/airportdatareader.cpp +++ b/src/blackcore/airportdatareader.cpp @@ -96,10 +96,12 @@ namespace BlackCore m_airportCache.synchronize(); - if (m_airportCache.get().size() > 0 && + int size = m_airportCache.get().size(); + if (size > 0 && m_airportCache.getAvailableTimestamp().toMSecsSinceEpoch() >= static_cast(m_lastModified)) // cache is up-to-date { CLogMessage(this).info("Loaded %1 airports from cache") << m_airportCache.get().size(); + emit dataRead(CEntityFlags::AirportEntity, CEntityFlags::ReadFinished, size); } else { diff --git a/src/blackcore/webdataservices.cpp b/src/blackcore/webdataservices.cpp index fff5ad1a8..785cf2550 100644 --- a/src/blackcore/webdataservices.cpp +++ b/src/blackcore/webdataservices.cpp @@ -94,7 +94,7 @@ namespace BlackCore CEntityFlags::Entity restEntities = entities & ~icaoPart; restEntities &= ~modelPart; - this->readDeferredInBackground(modelPart, 3000); + this->readDeferredInBackground(restEntities, 3000); } CServerList CWebDataServices::getVatsimFsdServers() const @@ -689,9 +689,10 @@ namespace BlackCore if (flags.testFlag(CWebReaderFlags::WebReaderFlag::AirportReader)) { this->m_airportDataReader = new CAirportDataReader(this); - bool c = connect(this->m_airportDataReader, &CAirportDataReader::dataRead, this, &CWebDataServices::ps_readFromAirportDb); + c = connect(this->m_airportDataReader, &CAirportDataReader::dataRead, this, &CWebDataServices::ps_readFromAirportDb); Q_ASSERT_X(c, Q_FUNC_INFO, "Airport reader signals"); - Q_UNUSED(c); + c = connect(this->m_airportDataReader, &CAirportDataReader::dataRead, this, &CWebDataServices::dataRead); + Q_ASSERT_X(c, Q_FUNC_INFO, "connect failed for airports"); this->m_airportDataReader->start(QThread::LowPriority); } } diff --git a/src/blackcore/webreaderflags.h b/src/blackcore/webreaderflags.h index 3877f9bdd..9352cdc5a 100644 --- a/src/blackcore/webreaderflags.h +++ b/src/blackcore/webreaderflags.h @@ -39,8 +39,8 @@ namespace BlackCore AirportReader = 1 << 6, //!< reader for airport list InfoDataReader = 1 << 7, //!< DB info data (metdata, how many data, when updated) AllVatsimReaders = VatsimBookingReader | VatsimDataReader | VatsimMetarReader | VatsimStatusReader, //!< all VATSIM readers - AllSwiftDbReaders = IcaoDataReader | ModelReader | InfoDataReader, //!< all swift data - AllReaders = AirportReader | AllSwiftDbReaders | AllVatsimReaders //!< everything + AllSwiftDbReaders = IcaoDataReader | ModelReader | InfoDataReader | AirportReader, //!< all swift data + AllReaders = AllSwiftDbReaders | AllVatsimReaders //!< everything }; Q_DECLARE_FLAGS(WebReader, WebReaderFlag) diff --git a/src/blackgui/components/logincomponent.cpp b/src/blackgui/components/logincomponent.cpp index e85c73c72..9a944e74e 100644 --- a/src/blackgui/components/logincomponent.cpp +++ b/src/blackgui/components/logincomponent.cpp @@ -605,7 +605,7 @@ namespace BlackGui QCompleter *completer = new QCompleter(airports, this); QStyledItemDelegate *itemDelegate = new QStyledItemDelegate(completer); completer->popup()->setItemDelegate(itemDelegate); - ui->le_AirlineIcaoDesignator->setCompleter(completer); + ui->le_VatsimHomeAirport->setCompleter(completer); completer->popup()->setObjectName("AirportCompleter"); completer->popup()->setMinimumWidth(175); }