Added LoginMode for login from GUI

* updated context method
* updated GUI, checkboxes for mode
* style sheet modified due to GUI update
This commit is contained in:
Klaus Basan
2014-01-26 02:34:56 +01:00
parent 740424ed09
commit 1199f05fe2
7 changed files with 268 additions and 55 deletions

View File

@@ -195,7 +195,18 @@ void MainWindow::toggleNetworkConnection()
}
// Login is based on setting current server
msgs = this->m_contextNetwork->connectToNetwork();
INetwork::LoginMode mode = INetwork::LoginNormal;
if (this->ui->rb_SettingsLoginStealthMode->isChecked())
{
mode = INetwork::LoginStealth;
this->displayStatusMessage(CStatusMessage::getInfoMessage("login in stealth mode"));
}
else if (this->ui->rb_SettingsLoginObserver->isChecked())
{
mode = INetwork::LoginAsObserver;
this->displayStatusMessage(CStatusMessage::getInfoMessage("login in observer mode"));
}
msgs = this->m_contextNetwork->connectToNetwork(static_cast<uint>(mode));
}
else
{

View File

@@ -163,6 +163,14 @@ QPlainTextEdit {
border-radius: 5px;
}
QGroupBox {
border: 1px solid green;
}
QRadioButton {
font: 10px;
}
QComboBox {
border: 1px solid green;
border-radius: 5px;
@@ -268,7 +276,7 @@ QScrollBar::add-line:vertical {
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
QScrollBar::sub-line:vertical {
border: 2px solid gray;
background: blue;
height: 5px;
@@ -344,7 +352,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -362,7 +379,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -401,7 +427,16 @@ QSizeGrip {
<property name="spacing">
<number>2</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -508,7 +543,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -547,7 +591,16 @@ QSizeGrip {
<property name="spacing">
<number>2</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -809,7 +862,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -826,7 +888,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -849,7 +920,16 @@ QSizeGrip {
<property name="spacing">
<number>5</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -1311,7 +1391,16 @@ QSizeGrip {
<property name="spacing">
<number>2</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -1345,7 +1434,16 @@ QSizeGrip {
<property name="spacing">
<number>2</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number>
</property>
<item>
@@ -1408,7 +1506,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -1565,7 +1672,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
</layout>
@@ -1575,7 +1691,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -1591,7 +1716,16 @@ QSizeGrip {
<property name="spacing">
<number>2</number>
</property>
<property name="margin">
<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>
@@ -1615,7 +1749,16 @@ QSizeGrip {
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<property name="margin">
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
@@ -1764,6 +1907,9 @@ QSizeGrip {
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QFormLayout" name="fl_SettingsAircraft">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lbl_SettingsAircraftCallsign">
<property name="text">
@@ -1811,22 +1957,41 @@ QSizeGrip {
<item row="4" column="0">
<widget class="QLabel" name="lbl_SettingsModes">
<property name="text">
<string>Modes</string>
<string>Login modes</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="lbl_SettingsStealthMode">
<property name="text">
<string>Stealth mode</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QCheckBox" name="lbl_SettingsObserver">
<property name="text">
<string>Observer</string>
<widget class="QGroupBox" name="gb_LoginModes">
<property name="title">
<string/>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QRadioButton" name="rb_SetttingsNormalLoginMode">
<property name="text">
<string>Normal</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rb_SettingsLoginStealthMode">
<property name="text">
<string>Stealth mode</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="rb_SettingsLoginObserver">
<property name="text">
<string>Observer</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
@@ -1907,7 +2072,16 @@ QSizeGrip {
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
@@ -2584,8 +2758,6 @@ QSizeGrip {
<tabstop>le_SettingsIcaoTypeDesignator</tabstop>
<tabstop>le_SettingsIcaoAirline</tabstop>
<tabstop>le_SettingsIcaoType</tabstop>
<tabstop>lbl_SettingsStealthMode</tabstop>
<tabstop>lbl_SettingsObserver</tabstop>
<tabstop>cb_VoiceInputDevice</tabstop>
<tabstop>cb_VoiceOutputDevice</tabstop>
<tabstop>pb_VoiceStartMicTest</tabstop>

View File

@@ -48,6 +48,12 @@ QStatusBar {
padding: 3px;
}
/* No style for Dial
#sw_MainMiddel QDial {
background-color: rgba(0, 0, 255, 128);
}
*/
#wi_MainKeypadArea QPushButton {
font-family: arial-rounded;
background-color: black;
@@ -70,12 +76,6 @@ QStatusBar {
border-radius: 5px;
}
QComboBox {
border: 1px solid gray;
border-radius: 5px;
background: #1e1d1b;
}
QTabWidget::pane { /* The tab widget frame */
border: none;
}
@@ -106,6 +106,7 @@ QLabel {
QLineEdit {
background: black;
border: 1px solid green;
border-radius: 5px;
}
QLineEdit[readOnly="true"] {
@@ -113,16 +114,42 @@ QLineEdit[readOnly="true"] {
}
QCheckBox {
color: white;
color: white; /** font **/
border: 0px solid green;
background: transparent;
}
QTextEdit {
border: 1px solid green;
background: transparent;
border-radius: 5px;
}
QPlainTextEdit {
border: 1px solid green;
background: transparent;
border-radius: 5px;
}
QGroupBox {
border: 1px solid green;
}
QRadioButton {
font: 10px;
}
QComboBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
}
QDoubleSpinBox {
border: 1px solid green;
border-radius: 5px;
padding: 1px;
background: transparent;
}
@@ -193,7 +220,7 @@ QScrollBar::handle:vertical {
min-height: 15px;
}
QScrollBar::add-line:horizontal {
QScrollBar::add-line:horizontal {
border: 2px solid gray;
background: blue;
width: 5px;
@@ -217,7 +244,7 @@ QScrollBar::add-line:vertical {
subcontrol-origin: margin;
}
QScrollBar::sub-line:vertical {
QScrollBar::sub-line:vertical {
border: 2px solid gray;
background: blue;
height: 5px;
@@ -233,6 +260,8 @@ QHeaderView::section {
}
QTableView {
border: 1px solid green;
border-radius: 5px;
background-color: black;
alternate-background-color: darkslategray;
selection-background-color: blue;

View File

@@ -91,7 +91,7 @@ namespace BlackCore
/*
* Connect to network
*/
CStatusMessageList CContextNetwork::connectToNetwork()
CStatusMessageList CContextNetwork::connectToNetwork(uint loginMode)
{
// this->log(Q_FUNC_INFO);
CStatusMessageList msgs;
@@ -107,8 +107,10 @@ namespace BlackCore
}
else
{
INetwork::LoginMode mode = static_cast<INetwork::LoginMode>(loginMode);
this->m_ownAircraft.setPilot(currentServer.getUser()); // still needed?
this->m_network->presetServer(currentServer);
this->m_network->presetLoginMode(mode);
this->m_network->presetCallsign(this->m_ownAircraft.getCallsign());
this->m_network->presetIcaoCodes(this->m_ownAircraft.getIcaoInfo());
this->m_network->setOwnAircraft(this->m_ownAircraft);

View File

@@ -70,12 +70,12 @@ namespace BlackCore
public slots:
/*!
* \brief Read ATC bookings
* \copydoc IContextNetwork::readAtcBookingsFromSource()
*/
virtual void readAtcBookingsFromSource() const;
/*!
* \brief The "central" ATC list with online ATC controllers
* \copydoc IContextNetwork::getAtcStationsOnline()
* \todo If I make this &getAtcStations XML is not generated correctly, needs to be crosschecked with the latest version of Qt
*/
virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsOnline() const
@@ -85,7 +85,7 @@ namespace BlackCore
}
/*!
* \brief ATC list, with booked controllers
* \copydoc IContextNetwork::getAtcStationsBooked()
* \todo If I make this &getAtcStations XML is not generated correctly
*/
virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const
@@ -95,8 +95,7 @@ namespace BlackCore
}
/*!
* \brief Aircraft list
* \return
* \copydoc IContextNetwork::getAircraftsInRange()
*/
virtual const BlackMisc::Aviation::CAircraftList getAircraftsInRange() const
{
@@ -105,19 +104,17 @@ namespace BlackCore
}
/*!
* \brief Connect to Network
* \return a message list showing the connection situation
* \copydoc IContextNetwork::connectToNetwork()
*/
virtual BlackMisc::CStatusMessageList connectToNetwork();
virtual BlackMisc::CStatusMessageList connectToNetwork(uint mode);
/*!
* \brief Disconnect from network
* \return a message list showing the disconnection situation
* \copydoc IContextNetwork::disconnectFromNetwork()
*/
virtual BlackMisc::CStatusMessageList disconnectFromNetwork();
/*!
* \brief Network connected?
* \copydoc IContextNetwork::isConnected()
*/
virtual bool isConnected() const;

View File

@@ -101,9 +101,9 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::Aviation::CAircraft>(QLatin1Literal("getOwnAircraft"));
}
BlackMisc::CStatusMessageList IContextNetwork::connectToNetwork()
BlackMisc::CStatusMessageList IContextNetwork::connectToNetwork(uint loginMode)
{
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1Literal("connectToNetwork"));
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessageList>(QLatin1Literal("connectToNetwork"), loginMode);
}
BlackMisc::CStatusMessageList IContextNetwork::disconnectFromNetwork()

View File

@@ -143,6 +143,7 @@ namespace BlackCore
* \param from old status
* \param to new status
* \remarks If I use the enum, adaptor / interface are not created correctly
* \see INetwork::ConnectionStatus
*/
void connectionStatusChanged(uint from, uint to);
@@ -193,8 +194,9 @@ namespace BlackCore
/*!
* \brief Connect to Network
* \return messages gererated during connecting
* \see INetwork::LoginMode
*/
virtual BlackMisc::CStatusMessageList connectToNetwork();
virtual BlackMisc::CStatusMessageList connectToNetwork(uint loginMode);
/*!
* \brief Disconnect from network