diff --git a/src/blackgui/components/logindialog.cpp b/src/blackgui/components/logindialog.cpp index 777022e26..0b5269242 100644 --- a/src/blackgui/components/logindialog.cpp +++ b/src/blackgui/components/logindialog.cpp @@ -30,6 +30,9 @@ namespace BlackGui connect(ui->comp_LoginComponent, &CLoginAdvComponent::loginOrLogoffCancelled, this, &CLoginDialog::onLoginOrLogoffCancelled); connect(ui->comp_LoginComponent, &CLoginAdvComponent::requestNetworkSettings, this, &CLoginDialog::onRequestNetworkSettings); + connect(ui->comp_LoginOverviewComponent, &CLoginOverviewComponent::closeOverview, this, &CLoginDialog::close); + connect(ui->comp_LoginOverviewComponent, &CLoginOverviewComponent::loginOrLogoffSuccessful, this, &CLoginDialog::onLoginOrLogoffCancelled); + if (sGui && sGui->getIContextNetwork()) { connect(sGui->getIContextNetwork(), &IContextNetwork::connectionStatusChanged, this, &CLoginDialog::onNetworkStatusChanged, Qt::QueuedConnection); @@ -61,6 +64,10 @@ namespace BlackGui { ui->comp_LoginOverviewComponent->showCurrentValues(); } + else + { + ui->comp_LoginComponent->resetState(); + } } ui->comp_LoginComponent->setVisible(!connected); diff --git a/src/blackgui/components/loginoverviewcomponent.cpp b/src/blackgui/components/loginoverviewcomponent.cpp index a0ec96bbe..77343026c 100644 --- a/src/blackgui/components/loginoverviewcomponent.cpp +++ b/src/blackgui/components/loginoverviewcomponent.cpp @@ -80,8 +80,8 @@ namespace BlackGui { ui->setupUi(this); - connect(ui->pb_Cancel, &QPushButton::clicked, this, &CLoginOverviewComponent::loginCancelled, Qt::QueuedConnection); - connect(ui->pb_Ok, &QPushButton::clicked, this, &CLoginOverviewComponent::toggleNetworkConnection, Qt::QueuedConnection); + connect(ui->pb_Cancel, &QPushButton::clicked, this, &CLoginOverviewComponent::cancel, Qt::QueuedConnection); + connect(ui->pb_Disconnect, &QPushButton::clicked, this, &CLoginOverviewComponent::toggleNetworkConnection, Qt::QueuedConnection); // overlay this->setOverlaySizeFactors(0.8, 0.5); @@ -113,10 +113,10 @@ namespace BlackGui ui->cb_AutoLogoff->setChecked(autoLogoff); } - void CLoginOverviewComponent::loginCancelled() + void CLoginOverviewComponent::cancel() { this->closeOverlay(); - emit this->loginOrLogoffCancelled(); + emit this->closeOverview(); } void CLoginOverviewComponent::toggleNetworkConnection() @@ -149,7 +149,7 @@ namespace BlackGui } else { - emit this->loginOrLogoffCancelled(); + emit this->cancel(); } } @@ -158,7 +158,9 @@ namespace BlackGui if (!this->hasValidContexts()) { return; } const CServer server = sGui->getIContextNetwork()->getConnectedServer(); ui->form_Server->setServer(server); + ui->form_Server->resetToFirstTab(); ui->form_Pilot->setUser(server.getUser()); + ui->le_LoginMode->setText(sGui->getIContextNetwork()->getLoginModeAsString()); ui->comp_NetworkAircraft->showValues(); } diff --git a/src/blackgui/components/loginoverviewcomponent.h b/src/blackgui/components/loginoverviewcomponent.h index fa1fcd6fa..9bc2eccaf 100644 --- a/src/blackgui/components/loginoverviewcomponent.h +++ b/src/blackgui/components/loginoverviewcomponent.h @@ -76,16 +76,13 @@ namespace BlackGui void loginOrLogoffSuccessful(); //! Cancelled - void loginOrLogoffCancelled(); - - //! Relevant login data changed (digest version) - void loginDataChangedDigest(); + void closeOverview(); private: // -------------- others ----------------- //! Login cancelled - void loginCancelled(); + void cancel(); //! Auto-logoff detection void autoLogoffDetection(); @@ -106,7 +103,6 @@ namespace BlackGui static constexpr int LogoffIntervalSeconds = 20; //!< time before logoff QScopedPointer ui; - BlackMisc::CDigestSignal m_changedLoginDataDigestSignal { this, &CLoginOverviewComponent::loginDataChangedDigest, 1500, 10 }; BlackCore::Data::CNetworkSetup m_networkSetup; //!< servers last used }; } // namespace diff --git a/src/blackgui/components/loginoverviewcomponent.ui b/src/blackgui/components/loginoverviewcomponent.ui index 42fac09e8..6dd3b0342 100644 --- a/src/blackgui/components/loginoverviewcomponent.ui +++ b/src/blackgui/components/loginoverviewcomponent.ui @@ -7,7 +7,7 @@ 0 0 295 - 264 + 316 @@ -60,6 +60,41 @@ + + + + Login mode + + + + 4 + + + 4 + + + 4 + + + 4 + + + + + Mode + + + + + + + true + + + + + + @@ -217,9 +252,9 @@ - + - ok + disconnect @@ -265,9 +300,10 @@ - form_Pilot + le_LoginMode + gb_OwnAircraft cb_AutoLogoff - pb_Ok + pb_Disconnect pb_Cancel