From 6ef10b92ab52d5b022d4178b9c81fed2a6318890 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Sun, 2 Dec 2018 18:26:49 +0100 Subject: [PATCH] Fixed non-saving crashdump setting and some improvements for setup Registration for "Settings::CCrashSettings::registerMetadata()" was missing --- src/blackcore/data/globalsetup.cpp | 2 +- src/blackcore/setupreader.cpp | 4 ++-- src/blackcore/setupreader.h | 4 ++-- src/blackgui/components/legalinfocomponent.cpp | 5 +++-- src/blackmisc/registermetadata.cpp | 2 ++ 5 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/blackcore/data/globalsetup.cpp b/src/blackcore/data/globalsetup.cpp index 6e04604ed..4ab586721 100644 --- a/src/blackcore/data/globalsetup.cpp +++ b/src/blackcore/data/globalsetup.cpp @@ -260,7 +260,7 @@ namespace BlackCore bool CGlobalSetup::isSwiftVersionMinimumMappingVersion() const { - if (!this->wasLoadedFromWeb()) { return false; } + if (!this->wasLoadedFromWeb()) { return false; } // only allowed from web if (m_mappingMinimumVersion.isEmpty()) { return false; } const QVersionNumber min = QVersionNumber::fromString(this->getMappingMinimumVersionString()); return CBuildConfig::getVersion() >= min; diff --git a/src/blackcore/setupreader.cpp b/src/blackcore/setupreader.cpp index 0ce9df139..7ddc3c5e6 100644 --- a/src/blackcore/setupreader.cpp +++ b/src/blackcore/setupreader.cpp @@ -224,7 +224,7 @@ namespace BlackCore // same web load within 5000ms const CGlobalSetup setup = m_setup.get(); - if (m_setup.lastUpdatedAge() < 5000 && setup.wasLoadedFromWeb()) + if (m_setup.lastUpdatedAge() < 5000 && setup.wasLoadedFromWeb()) // really loaded from web { const CStatusMessage m(this, CStatusMessage::SeverityInfo, "Update info just updated, skip read"); CStatusMessageList msgs(m); @@ -679,7 +679,7 @@ namespace BlackCore } else { - const bool cacheAvailable = m_setup.get().wasLoadedFromWeb(); + const bool cacheAvailable = m_setup.get().wasLoaded(); // loaded from web or file available = cacheAvailable && m_bootstrapMode != Explicit; } diff --git a/src/blackcore/setupreader.h b/src/blackcore/setupreader.h index 86c4ff096..51493434e 100644 --- a/src/blackcore/setupreader.h +++ b/src/blackcore/setupreader.h @@ -162,8 +162,8 @@ namespace BlackCore CacheOnly }; - std::atomic m_shutdown { false }; - std::atomic m_setupAvailable { false }; //!< setup available + std::atomic m_shutdown { false }; //!< shutdown in progress + std::atomic m_setupAvailable { false }; //!< setup available? std::atomic m_updateInfoAvailable { false }; //!< update info available std::atomic m_ignoreCmdBootstrapUrl { false }; //!< ignore the explicitly set bootstrap URL std::atomic m_checkCmdBootstrapUrl { true }; //!< check connection on CMD bootstrap URL diff --git a/src/blackgui/components/legalinfocomponent.cpp b/src/blackgui/components/legalinfocomponent.cpp index a0d8484b3..45562c74d 100644 --- a/src/blackgui/components/legalinfocomponent.cpp +++ b/src/blackgui/components/legalinfocomponent.cpp @@ -14,6 +14,7 @@ #include "blackcore/data/globalsetup.h" #include "blackmisc/network/url.h" #include "blackmisc/crashsettings.h" +#include "blackmisc/logmessage.h" #include "blackmisc/statusmessage.h" #include "blackconfig/buildconfig.h" @@ -37,9 +38,9 @@ namespace BlackGui this->setChecklistInfo(); const CCrashSettings settings = m_crashDumpSettings.get(); - ui->cb_CrashDumps->setChecked(settings.isEnabled()); ui->cb_Agree->setChecked(CBuildConfig::isLocalDeveloperDebugBuild()); + connect(ui->cb_CrashDumps, &QCheckBox::toggled, this, &CLegalInfoComponent::onAllowCrashDumps); QPointer myself(this); @@ -70,7 +71,7 @@ namespace BlackGui { CCrashSettings settings = m_crashDumpSettings.get(); settings.setEnabled(checked); - m_crashDumpSettings.setAndSave(settings); + CLogMessage::preformatted(m_crashDumpSettings.setAndSave(settings)); } void CLegalInfoComponent::showCrashDumpHint() diff --git a/src/blackmisc/registermetadata.cpp b/src/blackmisc/registermetadata.cpp index 59262a97f..153fa3c26 100644 --- a/src/blackmisc/registermetadata.cpp +++ b/src/blackmisc/registermetadata.cpp @@ -20,6 +20,7 @@ #include "blackmisc/applicationinfolist.h" #include "blackmisc/countrylist.h" +#include "blackmisc/crashsettings.h" #include "blackmisc/dbus.h" #include "blackmisc/directories.h" #include "blackmisc/iconlist.h" @@ -96,6 +97,7 @@ namespace BlackMisc Network::registerMetadata(); PhysicalQuantities::registerMetadata(); Simulation::registerMetadata(); + Settings::CCrashSettings::registerMetadata(); Weather::registerMetadata(); // needed by XSwiftBus proxy class