mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-21 12:55:31 +08:00
Ref T146, improved login component
* logoff countdown can be stopped * login mode (normal, obs, ..) shown
This commit is contained in:
committed by
Mathew Sutcliffe
parent
adfd341cbc
commit
7946fd8d18
@@ -140,10 +140,14 @@ namespace BlackGui
|
|||||||
connect(sGui->getIContextSimulator(), &IContextSimulator::ownAircraftModelChanged, this, &CLoginComponent::simulatorModelChanged);
|
connect(sGui->getIContextSimulator(), &IContextSimulator::ownAircraftModelChanged, this, &CLoginComponent::simulatorModelChanged);
|
||||||
}
|
}
|
||||||
|
|
||||||
// server GUI element
|
// server and UI elements when in disconnect
|
||||||
ui->frp_CurrentServer->setReadOnly(true);
|
ui->frp_CurrentServer->setReadOnly(true);
|
||||||
ui->frp_CurrentServer->showPasswordField(false);
|
ui->frp_CurrentServer->showPasswordField(false);
|
||||||
|
ui->gbp_LoginWithMode->setReadOnly(true);
|
||||||
|
ui->tb_Timeout->setIcon(m_iconPause);
|
||||||
|
connect(ui->tb_Timeout, &QToolButton::clicked, this, &CLoginComponent::toggleTimeout);
|
||||||
|
|
||||||
|
// web service data
|
||||||
connect(sGui->getIContextNetwork(), &IContextNetwork::webServiceDataRead, this, &CLoginComponent::onWebServiceDataRead);
|
connect(sGui->getIContextNetwork(), &IContextNetwork::webServiceDataRead, this, &CLoginComponent::onWebServiceDataRead);
|
||||||
|
|
||||||
// inital setup, if data already available
|
// inital setup, if data already available
|
||||||
@@ -243,7 +247,9 @@ namespace BlackGui
|
|||||||
this->updateOwnAircaftIcaoValuesFromGuiValues();
|
this->updateOwnAircaftIcaoValuesFromGuiValues();
|
||||||
|
|
||||||
// Login mode
|
// Login mode
|
||||||
INetwork::LoginMode mode = ui->gbp_LoginMode->getLoginMode();
|
const INetwork::LoginMode mode = ui->gbp_LoginMode->getLoginMode();
|
||||||
|
ui->gbp_LoginWithMode->setLoginMode(mode);
|
||||||
|
ui->gbp_LoginWithMode->setReadOnly(true); // need to be set after each change
|
||||||
switch (mode)
|
switch (mode)
|
||||||
{
|
{
|
||||||
case INetwork::LoginStealth:
|
case INetwork::LoginStealth:
|
||||||
@@ -626,6 +632,20 @@ namespace BlackGui
|
|||||||
this->m_mappingWizard->show();
|
this->m_mappingWizard->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CLoginComponent::toggleTimeout()
|
||||||
|
{
|
||||||
|
if (m_logoffCountdownTimer->isActive())
|
||||||
|
{
|
||||||
|
m_logoffCountdownTimer->stop();
|
||||||
|
ui->tb_Timeout->setIcon(m_iconPlay);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_logoffCountdownTimer->start();
|
||||||
|
ui->tb_Timeout->setIcon(m_iconPause);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void CLoginComponent::initCompleters(CEntityFlags::Entity entity)
|
void CLoginComponent::initCompleters(CEntityFlags::Entity entity)
|
||||||
{
|
{
|
||||||
// completers where possible
|
// completers where possible
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
#include "blackmisc/datacache.h"
|
#include "blackmisc/datacache.h"
|
||||||
|
|
||||||
#include <QFrame>
|
#include <QFrame>
|
||||||
|
#include <QIcon>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
@@ -122,6 +123,9 @@ namespace BlackGui
|
|||||||
//! Launch mapping wizard
|
//! Launch mapping wizard
|
||||||
void mappingWizard();
|
void mappingWizard();
|
||||||
|
|
||||||
|
//! Pause/Continue timeout
|
||||||
|
void toggleTimeout();
|
||||||
|
|
||||||
//! GUI aircraft values, formatted
|
//! GUI aircraft values, formatted
|
||||||
struct CGuiAircraftValues
|
struct CGuiAircraftValues
|
||||||
{
|
{
|
||||||
@@ -206,8 +210,10 @@ namespace BlackGui
|
|||||||
BlackMisc::CDigestSignal m_changedLoginDataDigestSignal { this, &CLoginComponent::loginDataChangedDigest, 1500, 10 };
|
BlackMisc::CDigestSignal m_changedLoginDataDigestSignal { this, &CLoginComponent::loginDataChangedDigest, 1500, 10 };
|
||||||
bool m_autoPopupWizard = false; //!< automatically popup wizard if mapping is needed
|
bool m_autoPopupWizard = false; //!< automatically popup wizard if mapping is needed
|
||||||
bool m_visible = false; //!< is this component selected?
|
bool m_visible = false; //!< is this component selected?
|
||||||
|
QIcon m_iconPlay {":/famfamfam/icons/famfamfam/icons/silk/control_play_blue.png"};
|
||||||
|
QIcon m_iconPause {":/famfamfam/icons/famfamfam/icons/silk/control_pause_blue.png"};
|
||||||
const int LogoffIntervalSeconds = 20; //!< time before logoff
|
const int LogoffIntervalSeconds = 20; //!< time before logoff
|
||||||
QTimer *m_logoffCountdownTimer { nullptr }; //!< timer used logoff countdown
|
QTimer *m_logoffCountdownTimer { nullptr }; //!< timer for logoff countdown
|
||||||
BlackMisc::CSettingReadOnly<BlackCore::Vatsim::TTrafficServers> m_otherTrafficNetworkServers { this, &CLoginComponent::reloadSettings };
|
BlackMisc::CSettingReadOnly<BlackCore::Vatsim::TTrafficServers> m_otherTrafficNetworkServers { this, &CLoginComponent::reloadSettings };
|
||||||
BlackMisc::CSetting<BlackGui::Settings::TOwnAircraftModel> m_currentAircraftModel { this }; //!< current settings of aircraft
|
BlackMisc::CSetting<BlackGui::Settings::TOwnAircraftModel> m_currentAircraftModel { this }; //!< current settings of aircraft
|
||||||
BlackMisc::CData<BlackCore::Data::TVatsimCurrentServer> m_currentVatsimServer { this }; //!< cache for current VATSIM server
|
BlackMisc::CData<BlackCore::Data::TVatsimCurrentServer> m_currentVatsimServer { this }; //!< cache for current VATSIM server
|
||||||
|
|||||||
@@ -6,34 +6,28 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>384</width>
|
<width>348</width>
|
||||||
<height>576</height>
|
<height>625</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Login component</string>
|
<string>Login component</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="frameShape">
|
<layout class="QVBoxLayout" name="hl_Timeout_2">
|
||||||
<enum>QFrame::StyledPanel</enum>
|
|
||||||
</property>
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Raised</enum>
|
|
||||||
</property>
|
|
||||||
<layout class="QVBoxLayout" name="vl_LoginComponent">
|
|
||||||
<property name="spacing">
|
<property name="spacing">
|
||||||
<number>6</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="leftMargin">
|
<property name="leftMargin">
|
||||||
<number>2</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="topMargin">
|
<property name="topMargin">
|
||||||
<number>2</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="rightMargin">
|
<property name="rightMargin">
|
||||||
<number>2</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="bottomMargin">
|
<property name="bottomMargin">
|
||||||
<number>2</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_Network">
|
<widget class="QGroupBox" name="gb_Network">
|
||||||
@@ -65,10 +59,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string/>
|
<string>Login mode</string>
|
||||||
</property>
|
|
||||||
<property name="flat">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -583,21 +574,14 @@
|
|||||||
<enum>QFrame::Raised</enum>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0">
|
<item row="1" column="0">
|
||||||
<widget class="QLabel" name="lbl_LoginAsAircraft">
|
<widget class="QLabel" name="lbl_LoginAsAircraft">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Your aircraft:</string>
|
<string>Your aircraft:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="2" column="0">
|
||||||
<widget class="QLineEdit" name="le_LoginAsAircaft">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="lbl_LoginSince">
|
<widget class="QLabel" name="lbl_LoginSince">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Login since:</string>
|
<string>Login since:</string>
|
||||||
@@ -605,12 +589,26 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="2">
|
<item row="1" column="2">
|
||||||
|
<widget class="QLineEdit" name="le_LoginAsAircaft">
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
<widget class="QLineEdit" name="le_LoginSince">
|
<widget class="QLineEdit" name="le_LoginSince">
|
||||||
<property name="readOnly">
|
<property name="readOnly">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="0" colspan="3">
|
||||||
|
<widget class="BlackGui::CLoginModeButtons" name="gbp_LoginWithMode">
|
||||||
|
<property name="title">
|
||||||
|
<string>Login mode</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
@@ -618,16 +616,47 @@
|
|||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QProgressBar" name="pb_LogoffTimeout">
|
<widget class="QFrame" name="fr_Timeout">
|
||||||
<property name="maximum">
|
<property name="frameShape">
|
||||||
<number>10</number>
|
<enum>QFrame::StyledPanel</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="value">
|
<property name="frameShadow">
|
||||||
<number>10</number>
|
<enum>QFrame::Raised</enum>
|
||||||
</property>
|
|
||||||
<property name="format">
|
|
||||||
<string>%v</string>
|
|
||||||
</property>
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="hl_Timeout">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QProgressBar" name="pb_LogoffTimeout">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="format">
|
||||||
|
<string>%v</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="tb_Timeout">
|
||||||
|
<property name="text">
|
||||||
|
<string>...</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
|||||||
Reference in New Issue
Block a user