diff --git a/src/blackcore/data/networksetup.cpp b/src/blackcore/data/networksetup.cpp index b4b86b714..556089476 100644 --- a/src/blackcore/data/networksetup.cpp +++ b/src/blackcore/data/networksetup.cpp @@ -32,6 +32,11 @@ namespace BlackCore return m_lastVatsimServer.set(server); } + CStatusMessage CNetworkSetup::setAutoLogoff(bool autoLogoff) + { + return m_autoLogoff.setAndSave(autoLogoff); + } + CServer CNetworkSetup::getLastServer() const { return m_lastServer.get(); diff --git a/src/blackcore/data/networksetup.h b/src/blackcore/data/networksetup.h index 2688b4f39..517f0792f 100644 --- a/src/blackcore/data/networksetup.h +++ b/src/blackcore/data/networksetup.h @@ -18,6 +18,7 @@ #include "blackmisc/network/data/lastserver.h" #include "blackmisc/network/settings/serversettings.h" #include "blackmisc/network/serverlist.h" +#include "blackmisc/statusmessage.h" #include "blackmisc/settingscache.h" #include "blackmisc/metaclass.h" @@ -47,6 +48,9 @@ namespace BlackCore //! Set value of last VATSIM server BlackMisc::CStatusMessage setLastVatsimServer(const BlackMisc::Network::CServer &server); + //! Save auto logoff + BlackMisc::CStatusMessage setAutoLogoff(bool autoLogoff); + //! Last server (all networks) BlackMisc::Network::CServer getLastServer() const; @@ -68,6 +72,9 @@ namespace BlackCore //! Used with an other server (i.e. non VATSIM) bool wasLastUsedWithOtherServer() const; + //! Auto logoff? + bool useAutoLogoff() const { return m_autoLogoff.get(); } + signals: //! Setup changed void setupChanged(); @@ -77,6 +84,7 @@ namespace BlackCore void onSettingsChanged(); BlackMisc::CSettingReadOnly m_otherTrafficNetworkServers { this, &CNetworkSetup::onSettingsChanged }; + BlackMisc::CSetting m_autoLogoff { this, &CNetworkSetup::onSettingsChanged }; BlackMisc::CData m_lastServer { this, &CNetworkSetup::onSettingsChanged }; //!< recently used server (VATSIM, other) BlackMisc::CData m_lastVatsimServer { this, &CNetworkSetup::onSettingsChanged }; //!< recently used VATSIM server }; diff --git a/src/blackgui/components/logincomponent.cpp b/src/blackgui/components/logincomponent.cpp index e9afe715b..716a801dd 100644 --- a/src/blackgui/components/logincomponent.cpp +++ b/src/blackgui/components/logincomponent.cpp @@ -156,9 +156,11 @@ namespace BlackGui this->onWebServiceDataRead(CEntityFlags::VatsimDataFile, CEntityFlags::ReadFinished, -1); const CServerList otherServers(m_networkSetup.getOtherServersPlusTestServers()); ui->comp_OtherServers->setServers(otherServers); + ui->cb_AutoLogoff->setChecked(m_networkSetup.useAutoLogoff()); connect(ui->pb_OverrideCredentialsVatsim, &QPushButton::clicked, this, &CLoginComponent::overrideCredentialsToPilot); connect(ui->pb_OverrideCredentialsOtherServers, &QPushButton::clicked, this, &CLoginComponent::overrideCredentialsToPilot); + this->setUiLoginState(false); const int tab = m_networkSetup.wasLastUsedWithOtherServer() ? LoginOthers : LoginVATSIM; @@ -234,6 +236,7 @@ namespace BlackGui const bool isConnected = sGui && sGui->getIContextNetwork()->isConnected(); const bool vatsimLogin = this->isVatsimNetworkTabSelected(); + m_networkSetup.setAutoLogoff(ui->cb_AutoLogoff->isChecked()); ui->form_Pilot->setVatsimValidation(vatsimLogin); this->setUiLoginState(isConnected); diff --git a/src/blackgui/components/logincomponent.h b/src/blackgui/components/logincomponent.h index ec5b2a984..200177b97 100644 --- a/src/blackgui/components/logincomponent.h +++ b/src/blackgui/components/logincomponent.h @@ -238,7 +238,7 @@ namespace BlackGui static constexpr int LogoffIntervalSeconds = 20; //!< time before logoff QScopedPointer ui; - QScopedPointer m_mappingWizard; + QScopedPointer m_mappingWizard; //!< mapping wizard BlackMisc::CDigestSignal m_changedLoginDataDigestSignal { this, &CLoginComponent::loginDataChangedDigest, 1500, 10 }; bool m_autoPopupWizard = false; //!< automatically popup wizard if mapping is needed bool m_visible = false; //!< is this component selected?