mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-04 08:36:52 +08:00
Allow to save "selected objects" only as JSON
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace BlackGui
|
||||
static constexpr int asyncThreshold = 50;
|
||||
|
||||
//! Destructor
|
||||
virtual ~CListModelBaseNonTemplate() {}
|
||||
virtual ~CListModelBaseNonTemplate() override {}
|
||||
|
||||
//! \name Functions from QStandardItemModel
|
||||
//! @{
|
||||
@@ -125,10 +125,10 @@ namespace BlackGui
|
||||
void emitDataChanged(int startRowIndex, int endRowIndex);
|
||||
|
||||
//! Convert to JSON
|
||||
virtual QJsonObject toJson() const = 0;
|
||||
virtual QJsonObject toJson(bool selectedOnly = false) const = 0;
|
||||
|
||||
//! Convert to JSON string
|
||||
virtual QString toJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Indented) const = 0;
|
||||
virtual QString toJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Indented, bool selectedOnly = false) const = 0;
|
||||
|
||||
signals:
|
||||
//! Asynchronous update finished
|
||||
@@ -194,8 +194,8 @@ namespace BlackGui
|
||||
|
||||
//! \name Functions from CListModelBaseNonTemplate
|
||||
//! @{
|
||||
virtual QJsonObject toJson() const override;
|
||||
virtual QString toJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Indented) const override;
|
||||
virtual QJsonObject toJson(bool selectedOnly = false) const override;
|
||||
virtual QString toJsonString(QJsonDocument::JsonFormat format = QJsonDocument::Indented, bool selectedOnly = false) const override;
|
||||
virtual bool isOrderable() const override;
|
||||
//! @}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user