mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 00:16:51 +08:00
Login UI improvements
This commit is contained in:
@@ -129,6 +129,7 @@ namespace BlackGui
|
||||
connect(ui->selector_AircraftIcao, &CDbAircraftIcaoSelectorComponent::changedAircraftIcao, this, &CLoginComponent::changedAircraftIcao, Qt::QueuedConnection);
|
||||
connect(ui->selector_AirlineIcao, &CDbAirlineIcaoSelectorComponent::changedAirlineIcao, this, &CLoginComponent::changedAirlineIcao, Qt::QueuedConnection);
|
||||
connect(ui->tb_SimulatorIcaoReverseLookup, &QToolButton::clicked, this, &CLoginComponent::reverseLookupAircraftModel);
|
||||
connect(ui->tw_Details, &QTabWidget::currentChanged, this, &CLoginComponent::onDetailsTabChanged);
|
||||
|
||||
if (sGui && sGui->getIContextSimulator())
|
||||
{
|
||||
@@ -142,7 +143,10 @@ namespace BlackGui
|
||||
connect(ui->tb_Timeout, &QToolButton::clicked, this, &CLoginComponent::toggleTimeout);
|
||||
|
||||
// web service data
|
||||
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CLoginComponent::onWebServiceDataRead, Qt::QueuedConnection);
|
||||
if (sGui && sGui->getWebDataServices())
|
||||
{
|
||||
connect(sGui->getWebDataServices(), &CWebDataServices::dataRead, this, &CLoginComponent::onWebServiceDataRead, Qt::QueuedConnection);
|
||||
}
|
||||
|
||||
// inital setup, if data already available
|
||||
this->validateAircraftValues();
|
||||
@@ -223,6 +227,7 @@ namespace BlackGui
|
||||
void CLoginComponent::toggleNetworkConnection()
|
||||
{
|
||||
if (!sGui || sGui->isShuttingDown()) { return; }
|
||||
if (!sGui->getIContextNetwork() || !sGui->getIContextAudio()) { return; }
|
||||
|
||||
const bool isConnected = sGui && sGui->getIContextNetwork()->isConnected();
|
||||
const bool vatsimLogin = this->isVatsimNetworkTabSelected();
|
||||
@@ -262,9 +267,7 @@ namespace BlackGui
|
||||
}
|
||||
|
||||
// Server
|
||||
currentServer = vatsimLogin ?
|
||||
this->getCurrentVatsimServer() :
|
||||
this->getCurrentOtherServer();
|
||||
currentServer = vatsimLogin ? this->getCurrentVatsimServer() : this->getCurrentOtherServer();
|
||||
const CUser user = this->getUserFromPilotGuiValues();
|
||||
currentServer.setUser(user);
|
||||
|
||||
@@ -304,7 +307,8 @@ namespace BlackGui
|
||||
|
||||
m_networkSetup.setLastServer(currentServer);
|
||||
m_lastAircraftModel.set(ownAircraft.getModel());
|
||||
ui->le_HomeBase->setText(currentServer.getUser().getHomeBase().asString());
|
||||
ui->le_LoginCallsign->setText(ownAircraft.getCallsignAsString());
|
||||
ui->le_LoginHomeBase->setText(currentServer.getUser().getHomeBase().asString());
|
||||
if (vatsimLogin) { m_networkSetup.setLastVatsimServer(currentServer); }
|
||||
}
|
||||
else
|
||||
@@ -376,8 +380,8 @@ namespace BlackGui
|
||||
|
||||
void CLoginComponent::overrideCredentialsToPilot()
|
||||
{
|
||||
const QObject *s = QObject::sender();
|
||||
CServer server;
|
||||
const QObject *s = QObject::sender();
|
||||
if (s == ui->pb_OverrideCredentialsOtherServers)
|
||||
{
|
||||
server = this->getCurrentOtherServer();
|
||||
@@ -408,7 +412,7 @@ namespace BlackGui
|
||||
ui->form_Pilot->setUser(server.getUser(), true);
|
||||
}
|
||||
|
||||
bool CLoginComponent::hasValidContexts()
|
||||
bool CLoginComponent::hasValidContexts() const
|
||||
{
|
||||
if (!sGui || !sGui->supportsContexts()) { return false; }
|
||||
if (sGui->isShuttingDown()) { return false; }
|
||||
@@ -418,6 +422,21 @@ namespace BlackGui
|
||||
return true;
|
||||
}
|
||||
|
||||
void CLoginComponent::setServerButtonsVisible(bool visible)
|
||||
{
|
||||
ui->wi_OtherServersButtons->setVisible(visible);
|
||||
ui->wi_VatsimButtons->setVisible(visible);
|
||||
}
|
||||
|
||||
void CLoginComponent::onDetailsTabChanged(int index)
|
||||
{
|
||||
Q_UNUSED(index);
|
||||
const bool showNetwork = (ui->tw_Details->currentWidget() != ui->tb_FsdDetails);
|
||||
ui->tw_Network->setVisible(showNetwork);
|
||||
// this->setServerButtonsVisible(showNetwork);
|
||||
ui->tw_Details->setMinimumHeight(showNetwork ? 0 : 125);
|
||||
}
|
||||
|
||||
CLoginComponent::CGuiAircraftValues CLoginComponent::getAircraftValuesFromGui() const
|
||||
{
|
||||
CGuiAircraftValues values;
|
||||
@@ -538,11 +557,15 @@ namespace BlackGui
|
||||
|
||||
void CLoginComponent::setGuiLoginAsValues(const CSimulatedAircraft &ownAircraft)
|
||||
{
|
||||
QString ac(ownAircraft.getCallsignAsString() % QLatin1Char(' ') % ownAircraft.getAircraftIcaoCodeDesignator());
|
||||
if (ownAircraft.hasAirlineDesignator()) { ac += QLatin1Char(' ') % ownAircraft.getAirlineIcaoCodeDesignator(); }
|
||||
if (!ownAircraft.getAircraftIcaoCombinedType().isEmpty()) { ac += QLatin1Char(' ') % ownAircraft.getAircraftIcaoCode().getCombinedType(); }
|
||||
const QString ac(
|
||||
ownAircraft.getAircraftIcaoCodeDesignator() %
|
||||
(ownAircraft.hasAirlineDesignator() ? (QLatin1Char(' ') % ownAircraft.getAirlineIcaoCodeDesignator()) : QStringLiteral("")) %
|
||||
(ownAircraft.hasModelString() ? (QLatin1Char(' ') % ownAircraft.getModelString()) : QStringLiteral(""))
|
||||
);
|
||||
ui->le_LoginSince->setText(QDateTime::currentDateTimeUtc().toString());
|
||||
ui->le_LoginAsAircaft->setText(ac);
|
||||
ui->le_LoginCallsign->setText(ownAircraft.getCallsignAsString());
|
||||
ui->le_LoginAsAircaft->home(false);
|
||||
}
|
||||
|
||||
bool CLoginComponent::validateAircraftValues()
|
||||
@@ -771,14 +794,15 @@ namespace BlackGui
|
||||
|
||||
void CLoginComponent::updateGui()
|
||||
{
|
||||
if (!this->hasValidContexts()) { return; }
|
||||
if (!this->hasValidContexts()) { return; }
|
||||
if (!sGui->getIContextNetwork()) { return; }
|
||||
IContextNetwork *nwc = sGui->getIContextNetwork();
|
||||
const bool connected = nwc->isConnected();
|
||||
if (!connected) { return; }
|
||||
this->setUiLoginState(connected);
|
||||
this->setOwnModelAndIcaoValues();
|
||||
const CServer server = nwc->getConnectedServer();
|
||||
ui->le_HomeBase->setText(server.getUser().getHomeBase().asString());
|
||||
ui->le_LoginHomeBase->setText(server.getUser().getHomeBase().asString());
|
||||
ui->frp_CurrentServer->setServer(server);
|
||||
ui->frp_LoginMode->setLoginMode(nwc->getLoginMode());
|
||||
const CSimulatedAircraft ownAircraft = sGui->getIContextOwnAircraft()->getOwnAircraft();
|
||||
|
||||
@@ -304,17 +304,17 @@
|
||||
<number>3</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QScrollArea" name="scrollArea">
|
||||
<widget class="QScrollArea" name="sa_FsdDetails">
|
||||
<property name="widgetResizable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<widget class="QWidget" name="sa_FsdDetails">
|
||||
<widget class="QWidget" name="qw_FsdDetails">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>253</width>
|
||||
<height>55</height>
|
||||
<height>45</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="vl_ScrollAreaFsdDetails">
|
||||
@@ -755,36 +755,53 @@
|
||||
<item>
|
||||
<widget class="QFrame" name="fr_CurrentLoginAddInfo">
|
||||
<layout class="QGridLayout" name="gl_AddInfo" columnstretch="1,2,1">
|
||||
<item row="0" column="2">
|
||||
<widget class="QLineEdit" name="le_HomeBase">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="lbl_LoginSince">
|
||||
<property name="text">
|
||||
<string>Login since:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="le_LoginAsAircaft">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lbl_LoginAsAircraft">
|
||||
<property name="text">
|
||||
<string>Aircraft:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="le_LoginSince">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QLabel" name="lbl_LoginAsAircraft">
|
||||
<widget class="QLabel" name="lbl_LoginCallsign">
|
||||
<property name="toolTip">
|
||||
<string>Callsign/home</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Aircraft/home:</string>
|
||||
<string>CS/home:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="1">
|
||||
<widget class="QLineEdit" name="le_LoginCallsign">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLineEdit" name="le_LoginHomeBase">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="le_LoginSince">
|
||||
<widget class="QLineEdit" name="le_LoginAsAircaft">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
@@ -961,7 +978,7 @@
|
||||
<tabstop>pb_OtherServersGotoSettings</tabstop>
|
||||
<tabstop>pb_OverrideCredentialsOtherServers</tabstop>
|
||||
<tabstop>tw_Details</tabstop>
|
||||
<tabstop>scrollArea</tabstop>
|
||||
<tabstop>sa_FsdDetails</tabstop>
|
||||
<tabstop>le_SimulatorModel</tabstop>
|
||||
<tabstop>tb_SimulatorIcaoReverseLookup</tabstop>
|
||||
<tabstop>tb_MappingWizard</tabstop>
|
||||
@@ -969,8 +986,8 @@
|
||||
<tabstop>selector_AircraftIcao</tabstop>
|
||||
<tabstop>le_AircraftCombinedType</tabstop>
|
||||
<tabstop>selector_AirlineIcao</tabstop>
|
||||
<tabstop>le_LoginCallsign</tabstop>
|
||||
<tabstop>le_LoginAsAircaft</tabstop>
|
||||
<tabstop>le_HomeBase</tabstop>
|
||||
<tabstop>le_LoginSince</tabstop>
|
||||
<tabstop>tb_Timeout</tabstop>
|
||||
<tabstop>pb_Ok</tabstop>
|
||||
|
||||
@@ -68,10 +68,10 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item alignment="Qt::AlignLeft">
|
||||
<item alignment="Qt::AlignRight">
|
||||
<widget class="QPushButton" name="pb_SetDefaults">
|
||||
<property name="text">
|
||||
<string> set defaults </string>
|
||||
<string>set defaults</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
Reference in New Issue
Block a user