refs #922, refs #911, JSON cut/copy/paste

* utility function for CVariant
* use CVariant for cut/copy/paste
This commit is contained in:
Klaus Basan
2017-03-24 18:24:59 +01:00
committed by Mathew Sutcliffe
parent 5ba438699f
commit 08f8916344
6 changed files with 24 additions and 8 deletions

View File

@@ -91,7 +91,7 @@ namespace BlackMisc
else
{
CLogMessage(&a).warning("Comparing two CVariants containing unrelated value objects: %1 (%2) and %3 (%4)")
<< a.typeName() << a.userType() << b.typeName() << b.userType();
<< a.typeName() << a.userType() << b.typeName() << b.userType();
return 0;
}
}
@@ -152,6 +152,12 @@ namespace BlackMisc
return json;
}
QString CVariant::toJsonString(QJsonDocument::JsonFormat format) const
{
QJsonDocument jsonDoc(toJson());
return jsonDoc.toJson(format);
}
void CVariant::convertFromJson(const QJsonObject &json)
{
// Remark: Names "type" and "value" are also used for drag and drop

View File

@@ -273,6 +273,9 @@ namespace BlackMisc
//! \copydoc BlackMisc::Mixin::JsonByMetaClass::toJson
QJsonObject toJson() const;
//! Convenience function JSON as string
QString toJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Indented) const;
//! \copydoc BlackMisc::Mixin::JsonByMetaClass::convertFromJson
void convertFromJson(const QJsonObject &json);