Allow to save "selected objects" only as JSON

This commit is contained in:
Klaus Basan
2018-10-17 19:38:07 +02:00
parent 6d696cfd91
commit f4822b69dd
4 changed files with 52 additions and 24 deletions

View File

@@ -740,16 +740,22 @@ namespace BlackGui
}
template <typename ObjectType, typename ContainerType, bool UseCompare>
QJsonObject CListModelBase<ObjectType, ContainerType, UseCompare>::toJson() const
QJsonObject CListModelBase<ObjectType, ContainerType, UseCompare>::toJson(bool selectedOnly) const
{
const CVariant variant = CVariant::fromValue(container());
const CVariant variant = CVariant::fromValue(
selectedOnly && m_selectionModel ?
m_selectionModel->selectedObjects() :
container());
return variant.toJson();
}
template <typename ObjectType, typename ContainerType, bool UseCompare>
QString CListModelBase<ObjectType, ContainerType, UseCompare>::toJsonString(QJsonDocument::JsonFormat format) const
QString CListModelBase<ObjectType, ContainerType, UseCompare>::toJsonString(QJsonDocument::JsonFormat format, bool selectedOnly) const
{
const CVariant variant = CVariant::fromValue(container());
const CVariant variant = CVariant::fromValue(
selectedOnly && m_selectionModel ?
m_selectionModel->selectedObjects() :
container());
return variant.toJsonString(format);
}