Ref T67, display load status messages

This commit is contained in:
Klaus Basan
2017-05-07 04:39:44 +02:00
parent 927b8bc577
commit 77100fc09e

View File

@@ -37,6 +37,7 @@
#include "blackmisc/icons.h" #include "blackmisc/icons.h"
#include "blackmisc/identifier.h" #include "blackmisc/identifier.h"
#include "blackmisc/identifierlist.h" #include "blackmisc/identifierlist.h"
#include "blackmisc/logmessage.h"
#include "blackmisc/namevariantpair.h" #include "blackmisc/namevariantpair.h"
#include "blackmisc/namevariantpairlist.h" #include "blackmisc/namevariantpairlist.h"
#include "blackmisc/network/client.h" #include "blackmisc/network/client.h"
@@ -573,14 +574,22 @@ namespace BlackGui
void CViewBaseNonTemplate::ps_loadJsonAction() void CViewBaseNonTemplate::ps_loadJsonAction()
{ {
if (!this->m_menus.testFlag(MenuLoad)) { return; } if (!this->m_menus.testFlag(MenuLoad)) { return; }
this->ps_loadJson(); const CStatusMessage m = this->ps_loadJson();
if (!m.isEmpty())
{
CLogMessage::preformatted(m);
}
} }
void CViewBaseNonTemplate::ps_saveJsonAction() void CViewBaseNonTemplate::ps_saveJsonAction()
{ {
if (this->isEmpty()) { return; } if (this->isEmpty()) { return; }
if (!this->m_menus.testFlag(MenuSave)) { return; } if (!this->m_menus.testFlag(MenuSave)) { return; }
this->ps_saveJson(); const CStatusMessage m = this->ps_saveJson();
if (!m.isEmpty())
{
CLogMessage::preformatted(m);
}
} }
void CViewBaseNonTemplate::ps_triggerReload() void CViewBaseNonTemplate::ps_triggerReload()
@@ -1374,7 +1383,7 @@ namespace BlackGui
CStatusMessage CViewBase<ModelClass, ContainerType, ObjectType>::validateLoadedJsonData(const ContainerType &data) const CStatusMessage CViewBase<ModelClass, ContainerType, ObjectType>::validateLoadedJsonData(const ContainerType &data) const
{ {
Q_UNUSED(data); Q_UNUSED(data);
static const CStatusMessage e(this, CStatusMessage::SeverityInfo, "no validation", true); static const CStatusMessage e(this, CStatusMessage::SeverityInfo, "validation passed", true);
return e; return e;
} }
@@ -1421,8 +1430,10 @@ namespace BlackGui
} }
ContainerType container = containerVariant.value<ContainerType>(); ContainerType container = containerVariant.value<ContainerType>();
const int countBefore = container.size();
m = this->modifyLoadedJsonData(container); m = this->modifyLoadedJsonData(container);
if (m.isFailure()) { break; } // modification error if (m.isFailure()) { break; } // modification error
if (countBefore > 0 && container.isEmpty()) { break; }
m = this->validateLoadedJsonData(container); m = this->validateLoadedJsonData(container);
if (m.isFailure()) { break; } // validaton error if (m.isFailure()) { break; } // validaton error
this->updateContainerMaybeAsync(container); this->updateContainerMaybeAsync(container);