Validation for XP model directory in simulator basics

This commit is contained in:
Klaus Basan
2019-07-13 03:41:47 +02:00
committed by Mat Sutcliffe
parent 5799e31d27
commit 18778ed97e
2 changed files with 20 additions and 12 deletions

View File

@@ -140,21 +140,29 @@ namespace BlackGui
s.setSimulatorDirectory(simulatorDir);
s.setModelDirectories(modelDirs);
s.setModelExcludeDirectories(relativeDirs);
const CStatusMessage m = m_settings.setAndSaveSettings(s, simulator);
if (!m.isEmpty()) { CLogMessage::preformatted(m); }
if (m.isSuccess())
const CStatusMessageList msgs = m_settings.setAndValidateSettings(s, simulator);
if (msgs.isSuccess())
{
this->showOverlayHTMLMessage("Saved settings", 5000);
const CStatusMessage m = m_settings.setAndSaveSettings(s, simulator);
if (!m.isEmpty()) { CLogMessage::preformatted(m); }
if (m.isSuccess())
{
this->showOverlayHTMLMessage("Saved settings", 5000);
}
else
{
this->showOverlayMessage(m);
}
m_unsavedChanges = m_unsavedChanges && !m.isSuccess(); // reset if success, but only if there were changes
// display as it was saved
this->displaySettings(simulator);
}
else
{
this->showOverlayMessage(m);
this->showOverlayHTMLMessageOrMessages(msgs);
}
m_unsavedChanges = m_unsavedChanges && !m.isSuccess(); // reset if success, but only if there were changes
// display as saved
this->displaySettings(simulator);
}
void CSettingsSimulatorBasicsComponent::copyDefaults()

View File

@@ -35,7 +35,7 @@ namespace BlackGui
void CSettingsSimulatorMessagesComponent::save()
{
CSimulatorMessagesSettings settings;
settings.setGloballyEnabled(ui->cb_Messages->isChecked());
settings.setRelayGloballyEnabled(ui->cb_Messages->isChecked());
if (ui->rb_NoTechnicalMessages->isChecked())
{
settings.disableTechnicalMessages();
@@ -53,7 +53,7 @@ namespace BlackGui
settings.setTechnicalLogSeverity(CStatusMessage::SeverityInfo);
}
settings.setGloballyEnabled(ui->cb_Messages->isChecked());
settings.setRelayGloballyEnabled(ui->cb_Messages->isChecked());
CSimulatorMessagesSettings::TextMessageType mt = CSimulatorMessagesSettings::NoTextMessages;
if (ui->cb_PrivateMessages->isChecked()) { mt |= CSimulatorMessagesSettings::TextMessagePrivate; }
@@ -69,7 +69,7 @@ namespace BlackGui
void CSettingsSimulatorMessagesComponent::load()
{
const CSimulatorMessagesSettings settings(this->m_settings.get());
ui->cb_Messages->setChecked(settings.isGloballyEnabled());
ui->cb_Messages->setChecked(settings.isRelayGloballyEnabled());
if (settings.isRelayInfoMessages())
{
ui->rb_ErrorWarningsInfo->setChecked(true);