mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 07:35:48 +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);
|
||||
}
|
||||
|
||||
// server GUI element
|
||||
// server and UI elements when in disconnect
|
||||
ui->frp_CurrentServer->setReadOnly(true);
|
||||
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);
|
||||
|
||||
// inital setup, if data already available
|
||||
@@ -243,7 +247,9 @@ namespace BlackGui
|
||||
this->updateOwnAircaftIcaoValuesFromGuiValues();
|
||||
|
||||
// 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)
|
||||
{
|
||||
case INetwork::LoginStealth:
|
||||
@@ -626,6 +632,20 @@ namespace BlackGui
|
||||
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)
|
||||
{
|
||||
// completers where possible
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "blackmisc/datacache.h"
|
||||
|
||||
#include <QFrame>
|
||||
#include <QIcon>
|
||||
#include <QObject>
|
||||
#include <QScopedPointer>
|
||||
#include <QString>
|
||||
@@ -122,6 +123,9 @@ namespace BlackGui
|
||||
//! Launch mapping wizard
|
||||
void mappingWizard();
|
||||
|
||||
//! Pause/Continue timeout
|
||||
void toggleTimeout();
|
||||
|
||||
//! GUI aircraft values, formatted
|
||||
struct CGuiAircraftValues
|
||||
{
|
||||
@@ -206,8 +210,10 @@ namespace BlackGui
|
||||
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?
|
||||
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
|
||||
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::CSetting<BlackGui::Settings::TOwnAircraftModel> m_currentAircraftModel { this }; //!< current settings of aircraft
|
||||
BlackMisc::CData<BlackCore::Data::TVatsimCurrentServer> m_currentVatsimServer { this }; //!< cache for current VATSIM server
|
||||
|
||||
@@ -6,34 +6,28 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>384</width>
|
||||
<height>576</height>
|
||||
<width>348</width>
|
||||
<height>625</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Login component</string>
|
||||
</property>
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="vl_LoginComponent">
|
||||
<layout class="QVBoxLayout" name="hl_Timeout_2">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>2</number>
|
||||
<number>1</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="gb_Network">
|
||||
@@ -65,10 +59,7 @@
|
||||
</size>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>false</bool>
|
||||
<string>Login mode</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -583,21 +574,14 @@
|
||||
<enum>QFrame::Raised</enum>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<item row="1" column="0">
|
||||
<widget class="QLabel" name="lbl_LoginAsAircraft">
|
||||
<property name="text">
|
||||
<string>Your aircraft:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="2">
|
||||
<widget class="QLineEdit" name="le_LoginAsAircaft">
|
||||
<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>
|
||||
@@ -605,12 +589,26 @@
|
||||
</widget>
|
||||
</item>
|
||||
<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">
|
||||
<property name="readOnly">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</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>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -618,16 +616,47 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QProgressBar" name="pb_LogoffTimeout">
|
||||
<property name="maximum">
|
||||
<number>10</number>
|
||||
<widget class="QFrame" name="fr_Timeout">
|
||||
<property name="frameShape">
|
||||
<enum>QFrame::StyledPanel</enum>
|
||||
</property>
|
||||
<property name="value">
|
||||
<number>10</number>
|
||||
</property>
|
||||
<property name="format">
|
||||
<string>%v</string>
|
||||
<property name="frameShadow">
|
||||
<enum>QFrame::Raised</enum>
|
||||
</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>
|
||||
</item>
|
||||
</layout>
|
||||
|
||||
Reference in New Issue
Block a user