style and consistency:

* rename CStatusMessages to CStatusMessageList
* rename NetworkVatlib to CNetworkVatlib
* replace all occurrences of Realname with RealName (correct camel case)
* CSequence method corresponding to CList::append is push_back
* don't compile the qdbuscpp2xml metadata plugin by default
* CAircraftIcao string members always trimmed and capitalized
* added CComSystem::roundTo25KHz
* using epsilon comparison in a couple of places

refs #81
This commit is contained in:
Klaus Basan
2014-01-07 23:00:39 +00:00
committed by Mathew Sutcliffe
parent b5c3a5543f
commit bb61654a29
80 changed files with 846 additions and 753 deletions

View File

@@ -153,11 +153,11 @@ bool MainWindow::reloadOwnAircraft()
*/
void MainWindow::toggleNetworkConnection()
{
CStatusMessages msgs;
CStatusMessageList msgs;
if (!this->isContextNetworkAvailableCheck()) return;
if (!this->m_contextNetwork->isConnected())
{
QString cs = this->ui->le_SettingsPlaneCallsign->text();
QString cs = this->ui->le_SettingsAircraftCallsign->text();
if (cs.isEmpty())
{
this->displayStatusMessage(CStatusMessage::getValidationError("missing callsign"));
@@ -196,10 +196,10 @@ void MainWindow::displayStatusMessage(const CStatusMessage &message)
/*
* Display a status message
*/
void MainWindow::displayStatusMessages(const CStatusMessages &messages)
void MainWindow::displayStatusMessages(const CStatusMessageList &messages)
{
if (messages.isEmpty()) return;
foreach(CStatusMessage msg, messages.getMessages())
foreach(CStatusMessage msg, messages)
{
this->displayStatusMessage(msg);
}
@@ -211,37 +211,44 @@ void MainWindow::displayStatusMessages(const CStatusMessages &messages)
void MainWindow::menuClicked()
{
QObject *sender = QObject::sender();
CStatusMessages msgs;
CStatusMessageList msgs;
if (sender == this->ui->menu_TestLocationsEDRY)
{
this->m_contextNetwork->updateOwnPosition(
CCoordinateGeodetic(
CLatitude::fromWgs84("N 049° 18' 17"),
CLongitude::fromWgs84("E 008° 27' 05"),
CLength(0, CLengthUnit::m())),
CAltitude(312, CAltitude::MeanSeaLevel, CLengthUnit::ft())
);
this->setTestPosition("N 049° 18' 17", "E 008° 27' 05", CAltitude(312, CAltitude::MeanSeaLevel, CLengthUnit::ft()));
}
else if (sender == this->ui->menu_TestLocationsEDNX)
{
this->setTestPosition("N 048° 14 22", "E 011° 33 41", CAltitude(486, CAltitude::MeanSeaLevel, CLengthUnit::m()));
}
else if (sender == this->ui->menu_TestLocationsEDDM)
{
this->setTestPosition("N 048° 21 14", "E 011° 47 10", CAltitude(448, CAltitude::MeanSeaLevel, CLengthUnit::m()));
}
else if (sender == this->ui->menu_TestLocationsEDDF)
{
this->setTestPosition("N 50° 2 0", "E 8° 34 14", CAltitude(100, CAltitude::MeanSeaLevel, CLengthUnit::m()));
}
else if (sender == this->ui->menu_ReloadSettings)
{
this->reloadSettings();
msgs.append(CStatusMessage::getInfoMessage("Settings reloaded"));
msgs.push_back(CStatusMessage::getInfoMessage("Settings reloaded"));
}
if (!msgs.isEmpty()) this->displayStatusMessages(msgs);
}
/*
* Connection terminated
*/
* Connection terminated
*/
void MainWindow::connectionTerminated()
{
this->updateGuiStatusInformation();
}
/*
* Connection status changed
*/
* Connection status changed
*/
void MainWindow::connectionStatusChanged(uint /** from **/, uint to)
{
// CContextNetwork::ConnectionStatus statusFrom = static_cast<CContextNetwork::ConnectionStatus>(from);

View File

@@ -20,6 +20,8 @@ using namespace BlackMisc::Math;
void MainWindow::cockpitValuesChanged()
{
Q_ASSERT(this->m_timerCollectedCockpitUpdates);
// this will call send cockpit updates with all changes made
this->m_timerCollectedCockpitUpdates->stop();
this->m_timerCollectedCockpitUpdates->start(1000); // start
this->m_timerCollectedCockpitUpdates->setSingleShot(true);
@@ -83,6 +85,21 @@ void MainWindow::updateCockpitFromContext()
default:
break;
}
/*
* Reset transponder mode to Standby
*/
void MainWindow::resetTransponderModerToStandby()
{
this->ui->cb_CockpitTransponderMode->setCurrentText("S");
}
/*
* Reset transponder mode to Standby
*/
void MainWindow::resetTransponderModerToCharly()
{
this->ui->cb_CockpitTransponderMode->setCurrentText("C");
}
/*
@@ -94,6 +111,9 @@ void MainWindow::sendCockpitUpdates()
CComSystem com1 = this->m_ownAircraft.getCom1System();
CComSystem com2 = this->m_ownAircraft.getCom2System();
//
// Transponder
//
QString transponderCode = QString::number(qRound(this->ui->ds_CockpitTransponder->value()));
if (CTransponder::isValidTransponderCode(transponderCode))
{
@@ -101,8 +121,8 @@ void MainWindow::sendCockpitUpdates()
}
else
{
this->displayStatusMessage(CStatusMessage::getValidationError("Wrong transponder code"));
return;
this->displayStatusMessage(CStatusMessage::getValidationError("Wrong transponder code, reset"));
this->ui->ds_CockpitTransponder->setValue(transponder.getTransponderCode());
}
QString tm = this->ui->cb_CockpitTransponderMode->currentText().toUpper();
@@ -111,13 +131,28 @@ void MainWindow::sendCockpitUpdates()
else if (tm == "C")
transponder.setTransponderMode(CTransponder::ModeC);
else if (tm == "I")
{
// ident shall be sent for some time, then reset
transponder.setTransponderMode(CTransponder::StateIdent);
if (this->m_ownAircraft.getTransponderMode() == CTransponder::ModeS)
QTimer::singleShot(5000, this, SLOT(resetTransponderModerToStandby()));
else
QTimer::singleShot(5000, this, SLOT(resetTransponderModerToCharly()));
}
//
// COM units
//
com1.setFrequencyActiveMHz(this->ui->ds_CockpitCom1Active->value());
com1.setFrequencyStandbyMHz(this->ui->ds_CockpitCom1Standby->value());
com2.setFrequencyActiveMHz(this->ui->ds_CockpitCom2Active->value());
com2.setFrequencyStandbyMHz(this->ui->ds_CockpitCom2Standby->value());
//
// Send to context
//
bool changedCockpit = false;
if (this->m_contextNetworkAvailable)
{
if (this->m_ownAircraft.getCom1System() != com1 ||
@@ -125,7 +160,8 @@ void MainWindow::sendCockpitUpdates()
this->m_ownAircraft.getTransponder() != transponder)
{
this->m_contextNetwork->updateOwnCockpit(com1, com2, transponder);
this->reloadOwnAircraft();
this->reloadOwnAircraft(); // also loads resolved voice rooms
changedCockpit = true;
}
}
}

View File

@@ -17,7 +17,6 @@ using namespace BlackGui;
void MainWindow::init(bool withDBus)
{
if (this->m_init) return;
this->m_init = true;
this->m_withDBus = withDBus;
// init models, the delete allows to re-init
@@ -120,6 +119,7 @@ void MainWindow::init(bool withDBus)
connect = this->connect(this->ui->sw_MainMiddle, SIGNAL(currentChanged(int)),
this, SLOT(middlePanelChanged(int)));
Q_ASSERT_X(connect, "init", "cannot connect middle panle changed");
Q_UNUSED(connect);
// start timers
@@ -132,6 +132,10 @@ void MainWindow::init(bool withDBus)
// start screen
this->setMainPage(true);
// do this as last statement, so it can be used as flag
// whether init has been completed
this->m_init = true;
}
/*
@@ -140,8 +144,8 @@ void MainWindow::init(bool withDBus)
void MainWindow::initialDataReads()
{
qint64 t = QDateTime::currentMSecsSinceEpoch();
m_contextNetworkAvailable = (this->m_contextNetwork->usingLocalObjects() || (this->m_contextNetwork->ping(t) == t));
if (!this->m_contextNetworkAvailable)
this->m_coreAvailable = (this->m_contextNetwork->usingLocalObjects() || (this->m_contextApplication->ping(t) == t));
if (!this->m_coreAvailable)
{
this->displayStatusMessage(CStatusMessage(CStatusMessage::TypeCore, CStatusMessage::SeverityError,
"No initial data read as network context is not available"));

View File

@@ -50,7 +50,7 @@ void MainWindow::alterTrafficServer()
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathNetworkSettings(), CSettingsNetwork::PathTrafficServer());
QObject *sender = QObject::sender();
CStatusMessages msgs;
CStatusMessageList msgs;
if (sender == this->ui->pb_SettingsTnCurrentServer)
{
msgs = this->m_contextSettings->value(path, CSettingsNetwork::CmdSetCurrentServer(), server.toQVariant());
@@ -85,7 +85,7 @@ void MainWindow::updateGuiSelectedServerTextboxes(const CServer &server)
this->ui->le_SettingsTnCsDescription->setText(server.getDescription());
this->ui->le_SettingsTnCsAddress->setText(server.getAddress());
this->ui->le_SettingsTnCsPort->setText(QString::number(server.getPort()));
this->ui->le_SettingsTnCsRealname->setText(server.getUser().getRealname());
this->ui->le_SettingsTnCsRealName->setText(server.getUser().getRealName());
this->ui->le_SettingsTnCsNetworkId->setText(server.getUser().getId());
this->ui->le_SettingsTnCsPassword->setText(server.getUser().getPassword());
}
@@ -105,7 +105,7 @@ CServer MainWindow::selectedServerFromTextboxes() const
if (!portOk) server.setPort(-1);
CUser user;
user.setRealname(this->ui->le_SettingsTnCsRealname->text());
user.setRealName(this->ui->le_SettingsTnCsRealName->text());
user.setId(this->ui->le_SettingsTnCsNetworkId->text());
user.setPassword(this->ui->le_SettingsTnCsPassword->text());
server.setUser(user);

View File

@@ -168,8 +168,6 @@ void MainWindow::closeTextMessageTab()
if (index >= 0) this->ui->tw_TextMessages->removeTab(index);
}
/*
* Command entered
*/
@@ -185,7 +183,7 @@ void MainWindow::commandEntered()
QString cmd = parts[0].startsWith('.') ? parts[0].toLower() : "";
if (cmd == ".m" || cmd == ".msg")
{
if (!this->m_contextNetwork->isConnected())
if (!this->m_contextNetworkAvailable || !this->m_contextNetwork->isConnected())
{
this->displayStatusMessage(CStatusMessage(CStatusMessage::TypeTrafficNetwork, CStatusMessage::SeverityError, "network needs to be connected"));
return;
@@ -217,7 +215,7 @@ void MainWindow::commandEntered()
this->ui->tw_TextMessages->setCurrentWidget(tab);
}
CTextMessage tm = this->getTextMessageStubForChannel();
int index = cmdLine.indexOf(tm.getToCallsign().asString(), 0, Qt::CaseInsensitive);
int index = cmdLine.indexOf(tm.getToCallsign().getStringAsSet(), 0, Qt::CaseInsensitive);
if (index < 0)
{
this->displayStatusMessage(