forked from qt-creator/qt-creator
QmlDesigner: Rename CollectionModel to CollectionSourceModel
Change-Id: Ic6ec8809061f4fe235d71ebcdf3e9e92c6df7654 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
This commit is contained in:
@@ -787,7 +787,7 @@ extend_qtc_plugin(QmlDesigner
|
|||||||
extend_qtc_plugin(QmlDesigner
|
extend_qtc_plugin(QmlDesigner
|
||||||
SOURCES_PREFIX components/collectioneditor
|
SOURCES_PREFIX components/collectioneditor
|
||||||
SOURCES
|
SOURCES
|
||||||
collectionmodel.cpp collectionmodel.h
|
collectionsourcemodel.cpp collectionsourcemodel.h
|
||||||
collectionview.cpp collectionview.h
|
collectionview.cpp collectionview.h
|
||||||
collectionwidget.cpp collectionwidget.h
|
collectionwidget.cpp collectionwidget.h
|
||||||
singlecollectionmodel.cpp singlecollectionmodel.h
|
singlecollectionmodel.cpp singlecollectionmodel.h
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
// Copyright (C) 2023 The Qt Company Ltd.
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
#include "collectionmodel.h"
|
#include "collectionsourcemodel.h"
|
||||||
|
|
||||||
#include "abstractview.h"
|
#include "abstractview.h"
|
||||||
#include "variantproperty.h"
|
#include "variantproperty.h"
|
||||||
@@ -8,14 +8,14 @@
|
|||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
CollectionModel::CollectionModel() {}
|
CollectionSourceModel::CollectionSourceModel() {}
|
||||||
|
|
||||||
int CollectionModel::rowCount(const QModelIndex &) const
|
int CollectionSourceModel::rowCount(const QModelIndex &) const
|
||||||
{
|
{
|
||||||
return m_collections.size();
|
return m_collections.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant CollectionModel::data(const QModelIndex &index, int role) const
|
QVariant CollectionSourceModel::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
QTC_ASSERT(index.isValid(), return {});
|
QTC_ASSERT(index.isValid(), return {});
|
||||||
|
|
||||||
@@ -33,7 +33,7 @@ QVariant CollectionModel::data(const QModelIndex &index, int role) const
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CollectionModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
bool CollectionSourceModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||||
{
|
{
|
||||||
if (!index.isValid())
|
if (!index.isValid())
|
||||||
return false;
|
return false;
|
||||||
@@ -75,7 +75,7 @@ bool CollectionModel::setData(const QModelIndex &index, const QVariant &value, i
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CollectionModel::removeRows(int row, int count, [[maybe_unused]] const QModelIndex &parent)
|
bool CollectionSourceModel::removeRows(int row, int count, [[maybe_unused]] const QModelIndex &parent)
|
||||||
{
|
{
|
||||||
const int rowMax = std::min(row + count, rowCount());
|
const int rowMax = std::min(row + count, rowCount());
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ bool CollectionModel::removeRows(int row, int count, [[maybe_unused]] const QMod
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
QHash<int, QByteArray> CollectionModel::roleNames() const
|
QHash<int, QByteArray> CollectionSourceModel::roleNames() const
|
||||||
{
|
{
|
||||||
static QHash<int, QByteArray> roles;
|
static QHash<int, QByteArray> roles;
|
||||||
if (roles.isEmpty()) {
|
if (roles.isEmpty()) {
|
||||||
@@ -130,7 +130,7 @@ QHash<int, QByteArray> CollectionModel::roleNames() const
|
|||||||
return roles;
|
return roles;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::setCollections(const ModelNodes &collections)
|
void CollectionSourceModel::setCollections(const ModelNodes &collections)
|
||||||
{
|
{
|
||||||
beginResetModel();
|
beginResetModel();
|
||||||
bool wasEmpty = isEmpty();
|
bool wasEmpty = isEmpty();
|
||||||
@@ -148,7 +148,7 @@ void CollectionModel::setCollections(const ModelNodes &collections)
|
|||||||
updateSelectedCollection(true);
|
updateSelectedCollection(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::removeCollection(const ModelNode &node)
|
void CollectionSourceModel::removeCollection(const ModelNode &node)
|
||||||
{
|
{
|
||||||
int nodePlace = m_collectionsIndexHash.value(node.internalId(), -1);
|
int nodePlace = m_collectionsIndexHash.value(node.internalId(), -1);
|
||||||
if (nodePlace < 0)
|
if (nodePlace < 0)
|
||||||
@@ -157,12 +157,12 @@ void CollectionModel::removeCollection(const ModelNode &node)
|
|||||||
removeRow(nodePlace);
|
removeRow(nodePlace);
|
||||||
}
|
}
|
||||||
|
|
||||||
int CollectionModel::collectionIndex(const ModelNode &node) const
|
int CollectionSourceModel::collectionIndex(const ModelNode &node) const
|
||||||
{
|
{
|
||||||
return m_collectionsIndexHash.value(node.internalId(), -1);
|
return m_collectionsIndexHash.value(node.internalId(), -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::selectCollection(const ModelNode &node)
|
void CollectionSourceModel::selectCollection(const ModelNode &node)
|
||||||
{
|
{
|
||||||
int nodePlace = m_collectionsIndexHash.value(node.internalId(), -1);
|
int nodePlace = m_collectionsIndexHash.value(node.internalId(), -1);
|
||||||
if (nodePlace < 0)
|
if (nodePlace < 0)
|
||||||
@@ -171,7 +171,7 @@ void CollectionModel::selectCollection(const ModelNode &node)
|
|||||||
selectCollectionIndex(nodePlace, true);
|
selectCollectionIndex(nodePlace, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
QmlDesigner::ModelNode CollectionModel::collectionNodeAt(int idx)
|
QmlDesigner::ModelNode CollectionSourceModel::collectionNodeAt(int idx)
|
||||||
{
|
{
|
||||||
QModelIndex data = index(idx);
|
QModelIndex data = index(idx);
|
||||||
if (!data.isValid())
|
if (!data.isValid())
|
||||||
@@ -180,12 +180,12 @@ QmlDesigner::ModelNode CollectionModel::collectionNodeAt(int idx)
|
|||||||
return m_collections.at(idx);
|
return m_collections.at(idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CollectionModel::isEmpty() const
|
bool CollectionSourceModel::isEmpty() const
|
||||||
{
|
{
|
||||||
return m_collections.isEmpty();
|
return m_collections.isEmpty();
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::selectCollectionIndex(int idx, bool selectAtLeastOne)
|
void CollectionSourceModel::selectCollectionIndex(int idx, bool selectAtLeastOne)
|
||||||
{
|
{
|
||||||
int collectionCount = m_collections.size();
|
int collectionCount = m_collections.size();
|
||||||
int prefferedIndex = -1;
|
int prefferedIndex = -1;
|
||||||
@@ -199,31 +199,31 @@ void CollectionModel::selectCollectionIndex(int idx, bool selectAtLeastOne)
|
|||||||
setSelectedIndex(prefferedIndex);
|
setSelectedIndex(prefferedIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::deselect()
|
void CollectionSourceModel::deselect()
|
||||||
{
|
{
|
||||||
setSelectedIndex(-1);
|
setSelectedIndex(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::updateSelectedCollection(bool selectAtLeastOne)
|
void CollectionSourceModel::updateSelectedCollection(bool selectAtLeastOne)
|
||||||
{
|
{
|
||||||
int idx = m_selectedIndex;
|
int idx = m_selectedIndex;
|
||||||
m_selectedIndex = -1;
|
m_selectedIndex = -1;
|
||||||
selectCollectionIndex(idx, selectAtLeastOne);
|
selectCollectionIndex(idx, selectAtLeastOne);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::updateNodeName(const ModelNode &node)
|
void CollectionSourceModel::updateNodeName(const ModelNode &node)
|
||||||
{
|
{
|
||||||
QModelIndex index = indexOfNode(node);
|
QModelIndex index = indexOfNode(node);
|
||||||
emit dataChanged(index, index, {NameRole, Qt::DisplayRole});
|
emit dataChanged(index, index, {NameRole, Qt::DisplayRole});
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::updateNodeId(const ModelNode &node)
|
void CollectionSourceModel::updateNodeId(const ModelNode &node)
|
||||||
{
|
{
|
||||||
QModelIndex index = indexOfNode(node);
|
QModelIndex index = indexOfNode(node);
|
||||||
emit dataChanged(index, index, {IdRole});
|
emit dataChanged(index, index, {IdRole});
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::setSelectedIndex(int idx)
|
void CollectionSourceModel::setSelectedIndex(int idx)
|
||||||
{
|
{
|
||||||
idx = (idx > -1 && idx < m_collections.count()) ? idx : -1;
|
idx = (idx > -1 && idx < m_collections.count()) ? idx : -1;
|
||||||
|
|
||||||
@@ -243,7 +243,7 @@ void CollectionModel::setSelectedIndex(int idx)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionModel::updateEmpty()
|
void CollectionSourceModel::updateEmpty()
|
||||||
{
|
{
|
||||||
bool isEmptyNow = isEmpty();
|
bool isEmptyNow = isEmpty();
|
||||||
if (m_isEmpty != isEmptyNow) {
|
if (m_isEmpty != isEmptyNow) {
|
||||||
@@ -255,7 +255,7 @@ void CollectionModel::updateEmpty()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QModelIndex CollectionModel::indexOfNode(const ModelNode &node) const
|
QModelIndex CollectionSourceModel::indexOfNode(const ModelNode &node) const
|
||||||
{
|
{
|
||||||
return index(m_collectionsIndexHash.value(node.internalId(), -1));
|
return index(m_collectionsIndexHash.value(node.internalId(), -1));
|
||||||
}
|
}
|
@@ -13,7 +13,7 @@ QT_END_NAMESPACE
|
|||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
|
|
||||||
class CollectionModel : public QAbstractListModel
|
class CollectionSourceModel : public QAbstractListModel
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ class CollectionModel : public QAbstractListModel
|
|||||||
public:
|
public:
|
||||||
enum Roles { IdRole = Qt::UserRole + 1, NameRole, SelectedRole };
|
enum Roles { IdRole = Qt::UserRole + 1, NameRole, SelectedRole };
|
||||||
|
|
||||||
explicit CollectionModel();
|
explicit CollectionSourceModel();
|
||||||
|
|
||||||
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;
|
||||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
@@ -2,7 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
#include "collectionview.h"
|
#include "collectionview.h"
|
||||||
#include "collectionmodel.h"
|
#include "collectionsourcemodel.h"
|
||||||
#include "collectionwidget.h"
|
#include "collectionwidget.h"
|
||||||
#include "designmodecontext.h"
|
#include "designmodecontext.h"
|
||||||
#include "nodelistproperty.h"
|
#include "nodelistproperty.h"
|
||||||
@@ -353,11 +353,11 @@ QmlDesigner::WidgetInfo CollectionView::widgetInfo()
|
|||||||
|
|
||||||
auto collectionEditorContext = new Internal::CollectionEditorContext(m_widget.data());
|
auto collectionEditorContext = new Internal::CollectionEditorContext(m_widget.data());
|
||||||
Core::ICore::addContextObject(collectionEditorContext);
|
Core::ICore::addContextObject(collectionEditorContext);
|
||||||
CollectionModel *collectionModel = m_widget->collectionModel().data();
|
CollectionSourceModel *sourceModel = m_widget->sourceModel().data();
|
||||||
|
|
||||||
connect(collectionModel, &CollectionModel::selectedIndexChanged, this, [&](int selectedIndex) {
|
connect(sourceModel, &CollectionSourceModel::selectedIndexChanged, this, [&](int selectedIndex) {
|
||||||
m_widget->singleCollectionModel()->setCollection(
|
m_widget->singleCollectionModel()->setCollection(
|
||||||
m_widget->collectionModel()->collectionNodeAt(selectedIndex));
|
m_widget->sourceModel()->collectionNodeAt(selectedIndex));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,19 +394,19 @@ void CollectionView::nodeReparented(const ModelNode &node,
|
|||||||
refreshModel();
|
refreshModel();
|
||||||
|
|
||||||
if (isCollection(node))
|
if (isCollection(node))
|
||||||
m_widget->collectionModel()->selectCollection(node);
|
m_widget->sourceModel()->selectCollection(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionView::nodeAboutToBeRemoved(const ModelNode &removedNode)
|
void CollectionView::nodeAboutToBeRemoved(const ModelNode &removedNode)
|
||||||
{
|
{
|
||||||
// removing the collections lib node
|
// removing the collections lib node
|
||||||
if (isCollectionLib(removedNode)) {
|
if (isCollectionLib(removedNode)) {
|
||||||
m_widget->collectionModel()->setCollections({});
|
m_widget->sourceModel()->setCollections({});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isCollection(removedNode))
|
if (isCollection(removedNode))
|
||||||
m_widget->collectionModel()->removeCollection(removedNode);
|
m_widget->sourceModel()->removeCollection(removedNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionView::nodeRemoved([[maybe_unused]] const ModelNode &removedNode,
|
void CollectionView::nodeRemoved([[maybe_unused]] const ModelNode &removedNode,
|
||||||
@@ -416,7 +416,7 @@ void CollectionView::nodeRemoved([[maybe_unused]] const ModelNode &removedNode,
|
|||||||
if (parentProperty.parentModelNode().id() != Constants::COLLECTION_LIB_ID)
|
if (parentProperty.parentModelNode().id() != Constants::COLLECTION_LIB_ID)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_widget->collectionModel()->updateSelectedCollection(true);
|
m_widget->sourceModel()->updateSelectedCollection(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void CollectionView::variantPropertiesChanged(const QList<VariantProperty> &propertyList,
|
void CollectionView::variantPropertiesChanged(const QList<VariantProperty> &propertyList,
|
||||||
@@ -426,9 +426,9 @@ void CollectionView::variantPropertiesChanged(const QList<VariantProperty> &prop
|
|||||||
ModelNode node(property.parentModelNode());
|
ModelNode node(property.parentModelNode());
|
||||||
if (isCollection(node)) {
|
if (isCollection(node)) {
|
||||||
if (property.name() == "objectName")
|
if (property.name() == "objectName")
|
||||||
m_widget->collectionModel()->updateNodeName(node);
|
m_widget->sourceModel()->updateNodeName(node);
|
||||||
else if (property.name() == "id")
|
else if (property.name() == "id")
|
||||||
m_widget->collectionModel()->updateNodeId(node);
|
m_widget->sourceModel()->updateNodeId(node);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -443,7 +443,7 @@ void CollectionView::selectedNodesChanged(const QList<ModelNode> &selectedNodeLi
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (selectedCollections.size() == 1) { // If exactly one collection is selected
|
if (selectedCollections.size() == 1) { // If exactly one collection is selected
|
||||||
m_widget->collectionModel()->selectCollection(selectedCollections.first());
|
m_widget->sourceModel()->selectCollection(selectedCollections.first());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -455,7 +455,7 @@ void CollectionView::selectedNodesChanged(const QList<ModelNode> &selectedNodeLi
|
|||||||
return element.parentProperty().parentModelNode() == parentElement;
|
return element.parentProperty().parentModelNode() == parentElement;
|
||||||
});
|
});
|
||||||
if (haveSameParent)
|
if (haveSameParent)
|
||||||
m_widget->collectionModel()->selectCollection(parentElement);
|
m_widget->sourceModel()->selectCollection(parentElement);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -499,7 +499,7 @@ void CollectionView::refreshModel()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_widget->collectionModel()->setCollections(collections);
|
m_widget->sourceModel()->setCollections(collections);
|
||||||
}
|
}
|
||||||
|
|
||||||
ModelNode CollectionView::getNewCollectionNode(const Collection &collection)
|
ModelNode CollectionView::getNewCollectionNode(const Collection &collection)
|
||||||
|
@@ -2,7 +2,7 @@
|
|||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
|
||||||
|
|
||||||
#include "collectionwidget.h"
|
#include "collectionwidget.h"
|
||||||
#include "collectionmodel.h"
|
#include "collectionsourcemodel.h"
|
||||||
#include "collectionview.h"
|
#include "collectionview.h"
|
||||||
#include "qmldesignerconstants.h"
|
#include "qmldesignerconstants.h"
|
||||||
#include "qmldesignerplugin.h"
|
#include "qmldesignerplugin.h"
|
||||||
@@ -36,7 +36,7 @@ namespace QmlDesigner {
|
|||||||
CollectionWidget::CollectionWidget(CollectionView *view)
|
CollectionWidget::CollectionWidget(CollectionView *view)
|
||||||
: QFrame()
|
: QFrame()
|
||||||
, m_view(view)
|
, m_view(view)
|
||||||
, m_model(new CollectionModel)
|
, m_sourceModel(new CollectionSourceModel)
|
||||||
, m_singleCollectionModel(new SingleCollectionModel)
|
, m_singleCollectionModel(new SingleCollectionModel)
|
||||||
, m_quickWidget(new StudioQuickWidget(this))
|
, m_quickWidget(new StudioQuickWidget(this))
|
||||||
{
|
{
|
||||||
@@ -65,7 +65,7 @@ CollectionWidget::CollectionWidget(CollectionView *view)
|
|||||||
auto map = m_quickWidget->registerPropertyMap("CollectionEditorBackend");
|
auto map = m_quickWidget->registerPropertyMap("CollectionEditorBackend");
|
||||||
map->setProperties(
|
map->setProperties(
|
||||||
{{"rootView", QVariant::fromValue(this)},
|
{{"rootView", QVariant::fromValue(this)},
|
||||||
{"model", QVariant::fromValue(m_model.data())},
|
{"model", QVariant::fromValue(m_sourceModel.data())},
|
||||||
{"singleCollectionModel", QVariant::fromValue(m_singleCollectionModel.data())}});
|
{"singleCollectionModel", QVariant::fromValue(m_singleCollectionModel.data())}});
|
||||||
|
|
||||||
auto hotReloadShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F4), this);
|
auto hotReloadShortcut = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_F4), this);
|
||||||
@@ -82,9 +82,9 @@ void CollectionWidget::contextHelp(const Core::IContext::HelpCallback &callback)
|
|||||||
callback({});
|
callback({});
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointer<CollectionModel> CollectionWidget::collectionModel() const
|
QPointer<CollectionSourceModel> CollectionWidget::sourceModel() const
|
||||||
{
|
{
|
||||||
return m_model;
|
return m_sourceModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
QPointer<SingleCollectionModel> CollectionWidget::singleCollectionModel() const
|
QPointer<SingleCollectionModel> CollectionWidget::singleCollectionModel() const
|
||||||
|
@@ -10,7 +10,7 @@ class StudioQuickWidget;
|
|||||||
|
|
||||||
namespace QmlDesigner {
|
namespace QmlDesigner {
|
||||||
|
|
||||||
class CollectionModel;
|
class CollectionSourceModel;
|
||||||
class CollectionView;
|
class CollectionView;
|
||||||
class SingleCollectionModel;
|
class SingleCollectionModel;
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ public:
|
|||||||
CollectionWidget(CollectionView *view);
|
CollectionWidget(CollectionView *view);
|
||||||
void contextHelp(const Core::IContext::HelpCallback &callback) const;
|
void contextHelp(const Core::IContext::HelpCallback &callback) const;
|
||||||
|
|
||||||
QPointer<CollectionModel> collectionModel() const;
|
QPointer<CollectionSourceModel> sourceModel() const;
|
||||||
QPointer<SingleCollectionModel> singleCollectionModel() const;
|
QPointer<SingleCollectionModel> singleCollectionModel() const;
|
||||||
|
|
||||||
void reloadQmlSource();
|
void reloadQmlSource();
|
||||||
@@ -37,7 +37,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QPointer<CollectionView> m_view;
|
QPointer<CollectionView> m_view;
|
||||||
QPointer<CollectionModel> m_model;
|
QPointer<CollectionSourceModel> m_sourceModel;
|
||||||
QPointer<SingleCollectionModel> m_singleCollectionModel;
|
QPointer<SingleCollectionModel> m_singleCollectionModel;
|
||||||
QScopedPointer<StudioQuickWidget> m_quickWidget;
|
QScopedPointer<StudioQuickWidget> m_quickWidget;
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user