refs #288, adjusted server and network views

* aircraft settings are gone, move to login screen
* no selected server needed anymore
* marked outdated methods as deprecated
This commit is contained in:
Klaus Basan
2014-11-15 01:30:50 +01:00
committed by Roland Winklmeier
parent d1d02d6c3c
commit 44d0cd002b
9 changed files with 59 additions and 405 deletions

View File

@@ -52,31 +52,11 @@ namespace BlackGui
return ui->comp_AudioSetup->playNotificationSounds();
}
/*
* Update own ICAO data from GUI
*/
void CSettingsComponent::setOwnAircraftIcaoDataFromGui(CAircraftIcao &icao) const
{
icao.setAirlineDesignator(this->ui->le_SettingsIcaoAirlineDesignator->text());
icao.setAircraftDesignator(this->ui->le_SettingsIcaoAircraftDesignator->text());
icao.setAircraftCombinedType(this->ui->le_SettingsIcaoCombinedType->text());
}
void CSettingsComponent::setGuiOpacity(double value)
{
this->ui->hs_SettingsGuiOpacity->setValue(value);
}
bool CSettingsComponent::loginAsObserver() const
{
return this->ui->rb_SettingsLoginStealthMode->isChecked();
}
bool CSettingsComponent::loginStealth() const
{
return this->ui->rb_SettingsLoginStealthMode->isChecked();
}
int CSettingsComponent::getAtcUpdateIntervalSeconds() const
{
return this->ui->hs_SettingsGuiAtcRefreshTime->value();
@@ -92,11 +72,6 @@ namespace BlackGui
return this->ui->hs_SettingsGuiUserRefreshTime->value();
}
QString CSettingsComponent::getOwnCallsignFromGui() const
{
return this->ui->le_SettingsAircraftCallsign->text();
}
/*
* Reload settings
*/
@@ -106,7 +81,6 @@ namespace BlackGui
CSettingsNetwork nws = this->getIContextSettings()->getNetworkSettings();
// update servers
this->ui->tvp_SettingsTnServers->setSelectedServer(nws.getCurrentTrafficNetworkServer());
this->ui->tvp_SettingsTnServers->updateContainer(nws.getTrafficNetworkServers());
// update hot keys
@@ -130,14 +104,12 @@ namespace BlackGui
this->connect(this->getIContextSettings(), &IContextSettings::changedSettings, this, &CSettingsComponent::ps_changedSettings);
// Opacity, intervals
bool connected = false;
this->connect(this->ui->hs_SettingsGuiOpacity, &QSlider::valueChanged, this, &CSettingsComponent::changedWindowsOpacity);
this->connect(this->ui->hs_SettingsGuiAircraftRefreshTime, &QSlider::valueChanged, this, &CSettingsComponent::changedAircraftsUpdateInterval);
this->connect(this->ui->hs_SettingsGuiAtcRefreshTime, &QSlider::valueChanged, this, &CSettingsComponent::changedAtcStationsUpdateInterval);
this->connect(this->ui->hs_SettingsGuiUserRefreshTime, &QSlider::valueChanged, this, &CSettingsComponent::changedUsersUpdateInterval);
// Settings server
this->connect(this->ui->pb_SettingsTnCurrentServer, &QPushButton::released, this, &CSettingsComponent::ps_alterTrafficServer);
this->connect(this->ui->pb_SettingsTnRemoveServer, &QPushButton::released, this, &CSettingsComponent::ps_alterTrafficServer);
this->connect(this->ui->pb_SettingsTnSaveServer, &QPushButton::released, this, &CSettingsComponent::ps_alterTrafficServer);
this->connect(this->ui->tvp_SettingsTnServers, &QTableView::clicked, this, &CSettingsComponent::ps_networkServerSelected);
@@ -154,7 +126,7 @@ namespace BlackGui
this->ui->cb_SettingsGuiFontSize->setCurrentText(QString::number(font.pointSize()));
this->m_fontColor = QColor(CStyleSheetUtility::instance().fontColor());
this->ui->le_SettingsGuiFontColor->setText(this->m_fontColor.name());
connected = this->connect(this->ui->cb_SettingsGuiFont, SIGNAL(currentFontChanged(QFont)), this, SLOT(ps_fontChanged()));
bool connected = this->connect(this->ui->cb_SettingsGuiFont, SIGNAL(currentFontChanged(QFont)), this, SLOT(ps_fontChanged()));
Q_ASSERT(connected);
connected = this->connect(this->ui->cb_SettingsGuiFontSize, SIGNAL(currentIndexChanged(QString)), this, SLOT(ps_fontChanged()));
Q_ASSERT(connected);
@@ -169,7 +141,7 @@ namespace BlackGui
void CSettingsComponent::ps_networkServerSelected(QModelIndex index)
{
const CServer clickedServer = this->ui->tvp_SettingsTnServers->at<CServer>(index);
this->ps_updateGuiSelectedServerTextboxes(clickedServer);
this->ui->frp_ServerForm->setServer(clickedServer);
}
/*
@@ -177,20 +149,17 @@ namespace BlackGui
*/
void CSettingsComponent::ps_alterTrafficServer()
{
CServer server = this->ps_selectedServerFromTextboxes();
if (!server.isValidForLogin())
CServer server = this->ui->frp_ServerForm->getServer();
CStatusMessageList msgs = server.validate();
if (!msgs.isEmpty())
{
CLogMessage().validationWarning("Wrong settings for server");
CLogMessage(this).validations(msgs);
return;
}
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathNetworkSettings(), CSettingsNetwork::ValueTrafficServers());
QObject *sender = QObject::sender();
if (sender == this->ui->pb_SettingsTnCurrentServer)
{
this->getIContextSettings()->value(path, CSettingsNetwork::CmdSetCurrentServer(), server.toQVariant());
}
else if (sender == this->ui->pb_SettingsTnRemoveServer)
if (sender == this->ui->pb_SettingsTnRemoveServer)
{
this->getIContextSettings()->value(path, CSettingUtilities::CmdRemove(), server.toQVariant());
}
@@ -210,42 +179,6 @@ namespace BlackGui
Q_UNUSED(type);
}
/*
* Textboxes from server
*/
void CSettingsComponent::ps_updateGuiSelectedServerTextboxes(const CServer &server)
{
this->ui->le_SettingsTnCsName->setText(server.getName());
this->ui->le_SettingsTnCsDescription->setText(server.getDescription());
this->ui->le_SettingsTnCsAddress->setText(server.getAddress());
this->ui->le_SettingsTnCsPort->setText(QString::number(server.getPort()));
this->ui->le_SettingsTnCsRealName->setText(server.getUser().getRealName());
this->ui->le_SettingsTnCsNetworkId->setText(server.getUser().getId());
this->ui->le_SettingsTnCsPassword->setText(server.getUser().getPassword());
}
/*
* Server settings from textboxes
*/
CServer CSettingsComponent::ps_selectedServerFromTextboxes() const
{
CServer server;
bool portOk = false;
server.setName(this->ui->le_SettingsTnCsName->text());
server.setDescription(this->ui->le_SettingsTnCsDescription->text());
server.setAddress(this->ui->le_SettingsTnCsAddress->text());
server.setPort(this->ui->le_SettingsTnCsPort->text().toInt(&portOk));
if (!portOk) server.setPort(-1);
CUser user;
user.setRealName(this->ui->le_SettingsTnCsRealName->text());
user.setId(this->ui->le_SettingsTnCsNetworkId->text());
user.setPassword(this->ui->le_SettingsTnCsPassword->text());
server.setUser(user);
return server;
}
/*
* Save the hotkeys
*/

View File

@@ -56,18 +56,9 @@ namespace BlackGui
//! \copydoc CAudioSetupComponent::playNotificationSounds
bool playNotificationSounds() const;
//! ICAO data from GUI
void setOwnAircraftIcaoDataFromGui(BlackMisc::Aviation::CAircraftIcao &icao) const;
//! GUI Opacity 0-100%
void setGuiOpacity(double value);
//! Login as observer
bool loginAsObserver() const;
//! Login as observer
bool loginStealth() const;
//! ATC refresh time
int getAtcUpdateIntervalSeconds() const;
@@ -77,9 +68,6 @@ namespace BlackGui
//! Aircraft refresh time
int getUsersUpdateIntervalSeconds() const;
//! Own callsign
QString getOwnCallsignFromGui() const;
signals:
//! Change the windows opacity 0..100
void changedWindowsOpacity(int opacity);
@@ -112,15 +100,6 @@ namespace BlackGui
//! Alter traffic server
void ps_alterTrafficServer();
/*!
* \brief Update the selected server textboxes
* \param server to be displayed
*/
void ps_updateGuiSelectedServerTextboxes(const BlackMisc::Network::CServer &server);
//! Selected server from textboxes
BlackMisc::Network::CServer ps_selectedServerFromTextboxes() const;
//! Settings have been changed
void ps_changedSettings(uint typeValue);

View File

@@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>338</width>
<height>323</height>
<width>359</width>
<height>269</height>
</rect>
</property>
<property name="sizePolicy">
@@ -20,7 +20,7 @@
<string>Settings</string>
</property>
<property name="currentIndex">
<number>1</number>
<number>0</number>
</property>
<widget class="QWidget" name="tb_SettingsTrafficNetwork">
<attribute name="title">
@@ -44,6 +44,12 @@
</property>
<item>
<widget class="BlackGui::Views::CServerView" name="tvp_SettingsTnServers">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editTriggers">
<set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
</property>
@@ -59,119 +65,26 @@
</widget>
</item>
<item>
<layout class="QFormLayout" name="fl_SettingsTnCurrentServer">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
<widget class="BlackGui::CServerForm" name="frp_ServerForm">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="leftMargin">
<number>6</number>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="topMargin">
<number>6</number>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="rightMargin">
<number>6</number>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsName">
<property name="text">
<string>Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsName">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsDescription">
<property name="text">
<string>Description</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsDescription"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsAddress">
<property name="text">
<string>Address</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsAddress"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsPort">
<property name="text">
<string>Port</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsPort">
<property name="maxLength">
<number>5</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsRealName">
<property name="text">
<string>Real name</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsRealName">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsNetworkId">
<property name="text">
<string>Id:</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsNetworkId">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="lbl_SettingsTnCsPassword">
<property name="text">
<string>Password</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLineEdit" name="le_SettingsTnCsPassword">
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>32</number>
</property>
<property name="echoMode">
<enum>QLineEdit::Password</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="fr_SettingsTnButtons">
@@ -188,6 +101,19 @@
<property name="bottomMargin">
<number>3</number>
</property>
<item>
<spacer name="hs_SettingsTnSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="pb_SettingsTnSaveServer">
<property name="sizePolicy">
@@ -214,143 +140,11 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pb_SettingsTnCurrentServer">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Current server</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="tb_SettingsAircraft">
<attribute name="title">
<string>Aircraft</string>
</attribute>
<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">
<string>Callsign</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_SettingsAircraftCallsign">
<property name="inputMethodHints">
<set>Qt::ImhLatinOnly|Qt::ImhUppercaseOnly</set>
</property>
<property name="text">
<string>BLACK</string>
</property>
<property name="maxLength">
<number>20</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="lbl_SettingsIcaoAircraftDesignator">
<property name="text">
<string>ICAO type (e.g. A320)</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_SettingsIcaoAircraftDesignator">
<property name="inputMethodHints">
<set>Qt::ImhUppercaseOnly</set>
</property>
<property name="text">
<string>C172</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="lbl_SettingsIcaoAirlineDesignator">
<property name="text">
<string>ICAO airline (e.g.DLH)</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="le_SettingsIcaoAirlineDesignator">
<property name="text">
<string>SGN</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="lbl_SettingsIcaoCombinedType">
<property name="text">
<string>Aircraft type (e.g. L2J)</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_SettingsIcaoCombinedType">
<property name="text">
<string>L1P</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="lbl_SettingsModes">
<property name="text">
<string>Login modes</string>
</property>
</widget>
</item>
<item row="4" column="1">
<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>
</item>
</layout>
</widget>
<widget class="QWidget" name="tb_SettingsAudio">
<attribute name="title">
<string>Audio</string>
@@ -826,6 +620,12 @@
<header>blackgui/components/settingssimulatorcomponent.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>BlackGui::CServerForm</class>
<extends>QFrame</extends>
<header>blackgui/serverform.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>