Ref T82, removed add button for servers, only save

* save will add a new server when not already existing
* when saved with same name, it will override values
* default values for FSD setup
* adjusted validation
This commit is contained in:
Klaus Basan
2017-06-11 21:37:14 +02:00
parent 76e1a06c44
commit 699a8d0f9f
8 changed files with 53 additions and 52 deletions

View File

@@ -47,7 +47,6 @@ namespace BlackGui
// Settings server
this->connect(ui->pb_RemoveServer, &QPushButton::pressed, this, &CSettingsNetworkServersComponent::ps_alterTrafficServer);
this->connect(ui->pb_SaveServer, &QPushButton::pressed, this, &CSettingsNetworkServersComponent::ps_alterTrafficServer);
this->connect(ui->pb_AddServer, &QPushButton::pressed, this, &CSettingsNetworkServersComponent::ps_alterTrafficServer);
this->connect(ui->tvp_Servers, &QTableView::clicked, this, &CSettingsNetworkServersComponent::ps_serverSelected);
this->ps_reloadSettings();
}
@@ -76,47 +75,38 @@ namespace BlackGui
void CSettingsNetworkServersComponent::ps_alterTrafficServer()
{
CServer server(ui->form_Server->getServer());
CStatusMessageList msgs = server.validate();
if (!msgs.isEmpty()) { msgs.addCategories(this); }
const QObject *sender = QObject::sender();
const CServer server(ui->form_Server->getServer());
CServerList serverList(m_trafficNetworkServers.getThreadLocal());
QObject *sender = QObject::sender();
CStatusMessage msg;
bool changed = false;
bool save = false;
if (sender == ui->pb_RemoveServer)
{
// lenient name removal
serverList.removeByName(server.getName());
changed = true;
}
else if (sender == ui->pb_AddServer)
else if (sender == ui->pb_SaveServer)
{
if (!msgs.isEmpty())
CStatusMessageList msgs = server.validate();
if (!msgs.isEmpty()) { msgs.addCategories(this); }
// error?
if (msgs.isFailure())
{
CLogMessage::preformatted(msgs);
return;
}
serverList.replaceOrAdd(&CServer::getName, server.getName(), server);
changed = true;
}
else if (sender == ui->pb_SaveServer)
else
{
save = true;
if (msgs.isEmpty() && server.hasAddressAndPort())
{
// update in any case to list before saving if we have a valid form
serverList.replaceOrAdd(&CServer::getName, server.getName(), server);
changed = true;
}
qFatal("Wrong sender");
return;
}
if (changed)
{
msg = save ? m_trafficNetworkServers.setAndSave(serverList) : m_trafficNetworkServers.set(serverList);
this->ps_reloadSettings(); // call manually as local object
}
msg = m_trafficNetworkServers.setAndSave(serverList);
this->ps_reloadSettings(); // call manually as local object
if (!msg.isEmpty())
{

View File

@@ -24,7 +24,6 @@ class QModelIndex;
class QWidget;
namespace Ui { class CSettingsNetworkServersComponent; }
namespace BlackGui
{
namespace Components
@@ -40,7 +39,7 @@ namespace BlackGui
explicit CSettingsNetworkServersComponent(QWidget *parent = nullptr);
//! Destructor
~CSettingsNetworkServersComponent();
virtual ~CSettingsNetworkServersComponent();
private slots:
//! Reload settings

View File

@@ -120,13 +120,6 @@
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pb_AddServer">
<property name="text">
<string>add</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pb_RemoveServer">
<property name="sizePolicy">