Misc. imorvements as discussed in RW/KB worksho

* preparation for a context menu to send text messages from ATC/aircraft view
* preparation for context menu for fast pos. updates
* reverse ICAO lookup at login screen
* display fast updates / parts in GUI
* moved max- aircraft into settings
* made serverselection own component
This commit is contained in:
Klaus Basan
2015-03-15 20:02:08 +01:00
parent fb12c608b1
commit 79b3cf3cd3
42 changed files with 979 additions and 410 deletions

View File

@@ -37,7 +37,6 @@ namespace BlackGui
{
CSettingsComponent::CSettingsComponent(QWidget *parent) :
QTabWidget(parent),
CEnableForRuntime(nullptr, false),
ui(new Ui::CSettingsComponent)
{
ui->setupUi(this);
@@ -77,11 +76,9 @@ namespace BlackGui
*/
void CSettingsComponent::reloadSettings()
{
// local copy
CSettingsNetwork nws = this->getIContextSettings()->getNetworkSettings();
// update servers
this->ui->tvp_SettingsTnServers->updateContainer(nws.getTrafficNetworkServers());
// reload components
this->ui->comp_AudioSetup->reloadSettings();
this->ui->comp_SettingsServersComponent->reloadSettings();
// update hot keys
this->ui->tvp_SettingsMiscHotkeys->updateContainer(this->getIContextSettings()->getHotkeys());
@@ -100,7 +97,7 @@ namespace BlackGui
*/
void CSettingsComponent::runtimeHasBeenSet()
{
if (!this->getIContextSettings()) qFatal("Settings missing");
Q_ASSERT_X(this->getIContextSettings(), "runtimeHasBeenSet", "Missing settings");
this->connect(this->getIContextSettings(), &IContextSettings::changedSettings, this, &CSettingsComponent::ps_changedSettings);
// Opacity, intervals
@@ -109,11 +106,6 @@ namespace BlackGui
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_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);
// Settings hotkeys
this->connect(this->ui->pb_SettingsMiscCancel, &QPushButton::clicked, this, &CSettingsComponent::reloadSettings);
this->connect(this->ui->pb_SettingsMiscSave, &QPushButton::clicked, this, &CSettingsComponent::ps_saveHotkeys);
@@ -136,42 +128,6 @@ namespace BlackGui
Q_UNUSED(connected);
}
/*
* Network has been selected
*/
void CSettingsComponent::ps_networkServerSelected(QModelIndex index)
{
const CServer clickedServer = this->ui->tvp_SettingsTnServers->at(index);
this->ui->frp_ServerForm->setServer(clickedServer);
}
/*
* Alter server
*/
void CSettingsComponent::ps_alterTrafficServer()
{
CServer server = this->ui->frp_ServerForm->getServer();
CStatusMessageList msgs = server.validate();
if (!msgs.isEmpty())
{
msgs.addCategories(this);
msgs.addCategory(CLogCategory::validation());
CLogMessage::preformatted(msgs);
return;
}
const QString path = CSettingUtilities::appendPaths(IContextSettings::PathNetworkSettings(), CSettingsNetwork::ValueTrafficServers());
QObject *sender = QObject::sender();
if (sender == this->ui->pb_SettingsTnRemoveServer)
{
this->getIContextSettings()->value(path, CSettingUtilities::CmdRemove(), server.toCVariant());
}
else if (sender == this->ui->pb_SettingsTnSaveServer)
{
this->getIContextSettings()->value(path, CSettingUtilities::CmdUpdate(), server.toCVariant());
}
}
/*
* Settings did change
*/