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 // 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 else
{ {

View File

@@ -163,6 +163,14 @@ QPlainTextEdit {
border-radius: 5px; border-radius: 5px;
} }
QGroupBox {
border: 1px solid green;
}
QRadioButton {
font: 10px;
}
QComboBox { QComboBox {
border: 1px solid green; border: 1px solid green;
border-radius: 5px; border-radius: 5px;
@@ -344,7 +352,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -362,7 +379,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -401,7 +427,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -508,7 +543,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -547,7 +591,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -809,7 +862,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -826,7 +888,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -849,7 +920,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>5</number> <number>5</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -1311,7 +1391,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -1345,7 +1434,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </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> <number>2</number>
</property> </property>
<item> <item>
@@ -1408,7 +1506,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -1565,7 +1672,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
</layout> </layout>
@@ -1575,7 +1691,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -1591,7 +1716,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </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> <number>1</number>
</property> </property>
<item> <item>
@@ -1615,7 +1749,16 @@ QSizeGrip {
<property name="fieldGrowthPolicy"> <property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum> <enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property> </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> <number>6</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="0">
@@ -1764,6 +1907,9 @@ QSizeGrip {
<layout class="QVBoxLayout" name="verticalLayout_5"> <layout class="QVBoxLayout" name="verticalLayout_5">
<item> <item>
<layout class="QFormLayout" name="fl_SettingsAircraft"> <layout class="QFormLayout" name="fl_SettingsAircraft">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="lbl_SettingsAircraftCallsign"> <widget class="QLabel" name="lbl_SettingsAircraftCallsign">
<property name="text"> <property name="text">
@@ -1811,25 +1957,44 @@ QSizeGrip {
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="lbl_SettingsModes"> <widget class="QLabel" name="lbl_SettingsModes">
<property name="text"> <property name="text">
<string>Modes</string> <string>Login modes</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="QCheckBox" name="lbl_SettingsStealthMode"> <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"> <property name="text">
<string>Stealth mode</string> <string>Stealth mode</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item>
<widget class="QCheckBox" name="lbl_SettingsObserver"> <widget class="QRadioButton" name="rb_SettingsLoginObserver">
<property name="text"> <property name="text">
<string>Observer</string> <string>Observer</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item>
</layout>
</item> </item>
</layout> </layout>
</widget> </widget>
@@ -1907,7 +2072,16 @@ QSizeGrip {
<property name="spacing"> <property name="spacing">
<number>0</number> <number>0</number>
</property> </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> <number>0</number>
</property> </property>
<item> <item>
@@ -2584,8 +2758,6 @@ QSizeGrip {
<tabstop>le_SettingsIcaoTypeDesignator</tabstop> <tabstop>le_SettingsIcaoTypeDesignator</tabstop>
<tabstop>le_SettingsIcaoAirline</tabstop> <tabstop>le_SettingsIcaoAirline</tabstop>
<tabstop>le_SettingsIcaoType</tabstop> <tabstop>le_SettingsIcaoType</tabstop>
<tabstop>lbl_SettingsStealthMode</tabstop>
<tabstop>lbl_SettingsObserver</tabstop>
<tabstop>cb_VoiceInputDevice</tabstop> <tabstop>cb_VoiceInputDevice</tabstop>
<tabstop>cb_VoiceOutputDevice</tabstop> <tabstop>cb_VoiceOutputDevice</tabstop>
<tabstop>pb_VoiceStartMicTest</tabstop> <tabstop>pb_VoiceStartMicTest</tabstop>

View File

@@ -48,6 +48,12 @@ QStatusBar {
padding: 3px; padding: 3px;
} }
/* No style for Dial
#sw_MainMiddel QDial {
background-color: rgba(0, 0, 255, 128);
}
*/
#wi_MainKeypadArea QPushButton { #wi_MainKeypadArea QPushButton {
font-family: arial-rounded; font-family: arial-rounded;
background-color: black; background-color: black;
@@ -70,12 +76,6 @@ QStatusBar {
border-radius: 5px; border-radius: 5px;
} }
QComboBox {
border: 1px solid gray;
border-radius: 5px;
background: #1e1d1b;
}
QTabWidget::pane { /* The tab widget frame */ QTabWidget::pane { /* The tab widget frame */
border: none; border: none;
} }
@@ -106,6 +106,7 @@ QLabel {
QLineEdit { QLineEdit {
background: black; background: black;
border: 1px solid green; border: 1px solid green;
border-radius: 5px;
} }
QLineEdit[readOnly="true"] { QLineEdit[readOnly="true"] {
@@ -113,16 +114,42 @@ QLineEdit[readOnly="true"] {
} }
QCheckBox { QCheckBox {
color: white; color: white; /** font **/
border: 0px solid green; border: 0px solid green;
background: transparent; background: transparent;
} }
QTextEdit { QTextEdit {
border: 1px solid green;
background: transparent; background: transparent;
border-radius: 5px;
} }
QPlainTextEdit { 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; background: transparent;
} }
@@ -233,6 +260,8 @@ QHeaderView::section {
} }
QTableView { QTableView {
border: 1px solid green;
border-radius: 5px;
background-color: black; background-color: black;
alternate-background-color: darkslategray; alternate-background-color: darkslategray;
selection-background-color: blue; selection-background-color: blue;

View File

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

View File

@@ -70,12 +70,12 @@ namespace BlackCore
public slots: public slots:
/*! /*!
* \brief Read ATC bookings * \copydoc IContextNetwork::readAtcBookingsFromSource()
*/ */
virtual void readAtcBookingsFromSource() const; 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 * \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 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 * \todo If I make this &getAtcStations XML is not generated correctly
*/ */
virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const virtual const BlackMisc::Aviation::CAtcStationList getAtcStationsBooked() const
@@ -95,8 +95,7 @@ namespace BlackCore
} }
/*! /*!
* \brief Aircraft list * \copydoc IContextNetwork::getAircraftsInRange()
* \return
*/ */
virtual const BlackMisc::Aviation::CAircraftList getAircraftsInRange() const virtual const BlackMisc::Aviation::CAircraftList getAircraftsInRange() const
{ {
@@ -105,19 +104,17 @@ namespace BlackCore
} }
/*! /*!
* \brief Connect to Network * \copydoc IContextNetwork::connectToNetwork()
* \return a message list showing the connection situation
*/ */
virtual BlackMisc::CStatusMessageList connectToNetwork(); virtual BlackMisc::CStatusMessageList connectToNetwork(uint mode);
/*! /*!
* \brief Disconnect from network * \copydoc IContextNetwork::disconnectFromNetwork()
* \return a message list showing the disconnection situation
*/ */
virtual BlackMisc::CStatusMessageList disconnectFromNetwork(); virtual BlackMisc::CStatusMessageList disconnectFromNetwork();
/*! /*!
* \brief Network connected? * \copydoc IContextNetwork::isConnected()
*/ */
virtual bool isConnected() const; virtual bool isConnected() const;

View File

@@ -101,9 +101,9 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::Aviation::CAircraft>(QLatin1Literal("getOwnAircraft")); 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() BlackMisc::CStatusMessageList IContextNetwork::disconnectFromNetwork()

View File

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