mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-13 07:35:41 +08:00
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:
committed by
Mathew Sutcliffe
parent
b5c3a5543f
commit
bb61654a29
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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"));
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user