forked from qt-creator/qt-creator
QmlDesigner: Use more secure friend declaration
The shorter form is not declaring any class implicitly. The class have to be declared before. So you avoid the mistake of declaring a new class instead of make one friend. Change-Id: Ia035e2f5967c24cdb053ac8b91aa61bbbd5ea20d Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -50,7 +50,7 @@ public:
|
||||
virtual ~NodeDumperCreatorBase() {}
|
||||
protected:
|
||||
virtual NodeDumper *instance(const QByteArrayList &, const ModelNode &) const = 0;
|
||||
friend class QmlDesigner::Component;
|
||||
friend Component;
|
||||
};
|
||||
|
||||
template<class T>
|
||||
|
@@ -44,7 +44,7 @@ class GraphicsView : public QGraphicsView
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class Playhead;
|
||||
friend Playhead;
|
||||
|
||||
signals:
|
||||
void currentFrameChanged(int frame, bool notify);
|
||||
|
@@ -40,7 +40,8 @@ class FormEditorView;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT AbstractFormEditorTool
|
||||
{
|
||||
friend class FormEditorView;
|
||||
friend FormEditorView;
|
||||
|
||||
public:
|
||||
AbstractFormEditorTool(FormEditorView* view);
|
||||
|
||||
|
@@ -49,7 +49,8 @@ namespace Internal {
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT FormEditorItem : public QGraphicsItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
~FormEditorItem() override;
|
||||
|
||||
@@ -156,7 +157,8 @@ private: // variables
|
||||
|
||||
class FormEditorFlowItem : public FormEditorItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
void synchronizeOtherProperty(const QByteArray &propertyName) override;
|
||||
void setDataModelPosition(const QPointF &position) override;
|
||||
@@ -175,7 +177,8 @@ private:
|
||||
|
||||
class FormEditorFlowActionItem : public FormEditorItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
void setDataModelPosition(const QPointF &position) override;
|
||||
void setDataModelPositionInBaseState(const QPointF &position) override;
|
||||
@@ -194,7 +197,8 @@ private:
|
||||
|
||||
class FormEditorTransitionItem : public FormEditorItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
void synchronizeOtherProperty(const QByteArray &propertyName) override;
|
||||
void setDataModelPosition(const QPointF &position) override;
|
||||
@@ -220,7 +224,7 @@ private:
|
||||
|
||||
class FormEditorFlowDecisionItem : FormEditorFlowItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
void updateGeometry() override;
|
||||
@@ -243,7 +247,7 @@ protected:
|
||||
|
||||
class FormEditorFlowWildcardItem : FormEditorFlowDecisionItem
|
||||
{
|
||||
friend class QmlDesigner::FormEditorScene;
|
||||
friend FormEditorScene;
|
||||
|
||||
public:
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override;
|
||||
|
@@ -47,8 +47,8 @@ class QMLDESIGNERCORE_EXPORT FormEditorScene : public QGraphicsScene
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class QmlDesigner::FormEditorItem;
|
||||
friend class QmlDesigner::FormEditorView;
|
||||
friend FormEditorItem;
|
||||
friend FormEditorView;
|
||||
|
||||
public:
|
||||
|
||||
|
@@ -37,7 +37,8 @@ class WeakResizeController;
|
||||
|
||||
class ResizeController
|
||||
{
|
||||
friend class WeakResizeController;
|
||||
friend WeakResizeController;
|
||||
|
||||
public:
|
||||
ResizeController();
|
||||
ResizeController(LayerItem *layerItem, FormEditorItem *formEditorItem);
|
||||
@@ -76,7 +77,8 @@ private: // variables
|
||||
|
||||
class WeakResizeController
|
||||
{
|
||||
friend class ResizeController;
|
||||
friend ResizeController;
|
||||
|
||||
public:
|
||||
WeakResizeController();
|
||||
WeakResizeController(const WeakResizeController &resizeController);
|
||||
|
@@ -37,7 +37,8 @@ class WeakRotationController;
|
||||
|
||||
class RotationController
|
||||
{
|
||||
friend class WeakRotationController;
|
||||
friend WeakRotationController;
|
||||
|
||||
public:
|
||||
RotationController();
|
||||
RotationController(LayerItem *layerItem, FormEditorItem *formEditorItem);
|
||||
@@ -74,7 +75,8 @@ private:
|
||||
|
||||
class WeakRotationController
|
||||
{
|
||||
friend class RotationController;
|
||||
friend RotationController;
|
||||
|
||||
public:
|
||||
WeakRotationController();
|
||||
WeakRotationController(const WeakRotationController &rotationController);
|
||||
|
@@ -133,8 +133,6 @@ private:
|
||||
QHash<QUrl, QHash<QString, bool>> m_expandMap;
|
||||
|
||||
NavigatorModelInterface *m_currentModelInterface = nullptr;
|
||||
|
||||
friend class TestNavigator;
|
||||
};
|
||||
|
||||
}
|
||||
|
@@ -65,7 +65,8 @@ private:
|
||||
class PathItem : public QGraphicsObject
|
||||
{
|
||||
Q_OBJECT
|
||||
friend class PathUpdateDisabler;
|
||||
friend PathUpdateDisabler;
|
||||
|
||||
public:
|
||||
enum
|
||||
{
|
||||
|
@@ -61,8 +61,8 @@ namespace Internal {
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT AbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator ==(const AbstractProperty &property1, const AbstractProperty &property2);
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator !=(const AbstractProperty &property1, const AbstractProperty &property2);
|
||||
|
@@ -32,9 +32,9 @@ namespace QmlDesigner {
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT BindingProperty : public QmlDesigner::AbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
friend AbstractProperty;
|
||||
|
||||
public:
|
||||
void setExpression(const QString &expression);
|
||||
|
@@ -48,8 +48,6 @@ QMLDESIGNERCORE_EXPORT QDebug operator<<(QDebug debug, const ItemLibraryEntry &i
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT ItemLibraryEntry
|
||||
{
|
||||
//friend class QmlDesigner::MetaInfo;
|
||||
//friend class QmlDesigner::Internal::MetaInfoParser;
|
||||
friend QMLDESIGNERCORE_EXPORT QDataStream& operator<<(QDataStream& stream, const ItemLibraryEntry &itemLibraryEntry);
|
||||
friend QMLDESIGNERCORE_EXPORT QDataStream& operator>>(QDataStream& stream, ItemLibraryEntry &itemLibraryEntry);
|
||||
friend QMLDESIGNERCORE_EXPORT QDebug operator<<(QDebug debug, const ItemLibraryEntry &itemLibraryEntry);
|
||||
|
@@ -52,10 +52,10 @@ QMLDESIGNERCORE_EXPORT bool operator!=(const MetaInfo &first, const MetaInfo &se
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT MetaInfo
|
||||
{
|
||||
friend class QmlDesigner::Internal::MetaInfoPrivate;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::Internal::MetaInfoReader;
|
||||
friend class QmlDesigner::Internal::SubComponentManagerPrivate;
|
||||
friend Internal::MetaInfoPrivate;
|
||||
friend Internal::ModelPrivate;
|
||||
friend Internal::MetaInfoReader;
|
||||
friend Internal::SubComponentManagerPrivate;
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator==(const MetaInfo &, const MetaInfo &);
|
||||
|
||||
public:
|
||||
|
@@ -64,12 +64,12 @@ using PropertyListType = QList<QPair<PropertyName, QVariant> >;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT Model : public QObject
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend class QmlDesigner::AbstractView;
|
||||
friend class Internal::ModelPrivate;
|
||||
friend class Internal::WriteLocker;
|
||||
friend class QmlDesigner::Internal::NodeMetaInfoPrivate;
|
||||
friend ModelNode;
|
||||
friend AbstractProperty;
|
||||
friend AbstractView;
|
||||
friend Internal::ModelPrivate;
|
||||
friend Internal::WriteLocker;
|
||||
friend Internal::NodeMetaInfoPrivate;
|
||||
|
||||
Q_OBJECT
|
||||
|
||||
|
@@ -75,12 +75,12 @@ class QMLDESIGNERCORE_EXPORT ModelNode
|
||||
friend QMLDESIGNERCORE_EXPORT QDebug operator<<(QDebug debug, const ModelNode &modelNode);
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator <(const ModelNode &firstNode, const ModelNode &secondNode);
|
||||
friend QMLDESIGNERCORE_EXPORT QList<Internal::InternalNodePointer> toInternalNodeList(const QList<ModelNode> &nodeList);
|
||||
friend class QmlDesigner::Model;
|
||||
friend class QmlDesigner::AbstractView;
|
||||
friend class QmlDesigner::NodeListProperty;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::NodeAbstractProperty;
|
||||
friend class QmlDesigner::NodeProperty;
|
||||
friend Model;
|
||||
friend AbstractView;
|
||||
friend NodeListProperty;
|
||||
friend Internal::ModelPrivate;
|
||||
friend NodeAbstractProperty;
|
||||
friend NodeProperty;
|
||||
|
||||
public:
|
||||
enum NodeSourceType {
|
||||
|
@@ -36,9 +36,9 @@ namespace Internal {
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT NodeAbstractProperty : public AbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
friend AbstractProperty;
|
||||
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator ==(const NodeAbstractProperty &property1, const NodeAbstractProperty &property2);
|
||||
friend QMLDESIGNERCORE_EXPORT bool operator !=(const NodeAbstractProperty &property1, const NodeAbstractProperty &property2);
|
||||
|
@@ -42,7 +42,8 @@ class ProxyNodeInstanceData;
|
||||
|
||||
class NodeInstance
|
||||
{
|
||||
friend class NodeInstanceView;
|
||||
friend NodeInstanceView;
|
||||
|
||||
public:
|
||||
static NodeInstance create(const ModelNode &node);
|
||||
NodeInstance();
|
||||
|
@@ -73,7 +73,7 @@ class QMLDESIGNERCORE_EXPORT NodeInstanceView : public AbstractView, public Node
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
friend class NodeInstance;
|
||||
friend NodeInstance;
|
||||
|
||||
public:
|
||||
using Pointer = QWeakPointer<NodeInstanceView>;
|
||||
|
@@ -35,8 +35,6 @@
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
class NodeListProperty;
|
||||
|
||||
namespace Internal {
|
||||
class ModelPrivate;
|
||||
class InternalNodeListProperty;
|
||||
@@ -44,7 +42,7 @@ using InternalNodeListPropertyPointer = QSharedPointer<InternalNodeListProperty>
|
||||
|
||||
class NodeListPropertyIterator
|
||||
{
|
||||
friend class QmlDesigner::NodeListProperty;
|
||||
friend NodeListProperty;
|
||||
|
||||
public:
|
||||
using iterator_category = std::random_access_iterator_tag;
|
||||
@@ -177,9 +175,10 @@ private:
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT NodeListProperty : public NodeAbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend ModelNode;
|
||||
friend AbstractProperty;
|
||||
friend Internal::ModelPrivate;
|
||||
|
||||
public:
|
||||
using value_type = ModelNode;
|
||||
using iterator = Internal::NodeListPropertyIterator;
|
||||
|
@@ -34,9 +34,9 @@ namespace Internal { class ModelPrivate; }
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT NodeProperty : public NodeAbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
friend AbstractProperty;
|
||||
|
||||
public:
|
||||
void setModelNode(const ModelNode &modelNode);
|
||||
|
@@ -32,9 +32,11 @@
|
||||
|
||||
namespace QmlDesigner {
|
||||
|
||||
class StatesEditorView;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT QmlConnections : public QmlModelNodeFacade
|
||||
{
|
||||
friend class StatesEditorView;
|
||||
friend StatesEditorView;
|
||||
|
||||
public:
|
||||
QmlConnections();
|
||||
|
@@ -44,7 +44,8 @@ class ItemLibraryEntry;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT QmlItemNode : public QmlVisualNode
|
||||
{
|
||||
friend class QmlAnchors;
|
||||
friend QmlAnchors;
|
||||
|
||||
public:
|
||||
QmlItemNode() : QmlVisualNode() {}
|
||||
QmlItemNode(const ModelNode &modelNode) : QmlVisualNode(modelNode) {}
|
||||
|
@@ -42,8 +42,9 @@ class QmlVisualNode;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT QmlObjectNode : public QmlModelNodeFacade
|
||||
{
|
||||
friend class QmlItemNode;
|
||||
friend class MoveManipulator;
|
||||
friend QmlItemNode;
|
||||
friend MoveManipulator;
|
||||
|
||||
public:
|
||||
QmlObjectNode();
|
||||
QmlObjectNode(const ModelNode &modelNode);
|
||||
|
@@ -36,10 +36,11 @@ class QmlObjectNode;
|
||||
class QmlModelStateGroup;
|
||||
class Annotation;
|
||||
class AnnotationEditor;
|
||||
class StatesEditorView;
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT QmlModelState : public QmlModelNodeFacade
|
||||
{
|
||||
friend class StatesEditorView;
|
||||
friend StatesEditorView;
|
||||
|
||||
public:
|
||||
QmlModelState();
|
||||
|
@@ -32,9 +32,9 @@ namespace QmlDesigner {
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT SignalHandlerProperty : public QmlDesigner::AbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
friend AbstractProperty;
|
||||
|
||||
public:
|
||||
void setSource(const QString &source);
|
||||
|
@@ -42,9 +42,9 @@ namespace Internal { class ModelPrivate; }
|
||||
|
||||
class QMLDESIGNERCORE_EXPORT VariantProperty : public AbstractProperty
|
||||
{
|
||||
friend class QmlDesigner::ModelNode;
|
||||
friend class QmlDesigner::Internal::ModelPrivate;
|
||||
friend class QmlDesigner::AbstractProperty;
|
||||
friend ModelNode;
|
||||
friend Internal::ModelPrivate;
|
||||
friend AbstractProperty;
|
||||
|
||||
public:
|
||||
void setValue(const QVariant &value);
|
||||
|
@@ -48,13 +48,15 @@ namespace QmlDesigner {
|
||||
class NodeInstanceClientInterface;
|
||||
class NodeInstanceView;
|
||||
class NodeInstanceClientProxy;
|
||||
class BaseConnectionManager;
|
||||
class ConnectionManagerInterface;
|
||||
|
||||
class NodeInstanceServerProxy : public NodeInstanceServerInterface
|
||||
{
|
||||
friend class BaseConnectionManager;
|
||||
Q_OBJECT
|
||||
|
||||
friend BaseConnectionManager;
|
||||
|
||||
public:
|
||||
explicit NodeInstanceServerProxy(NodeInstanceView *nodeInstanceView,
|
||||
ProjectExplorer::Target *target,
|
||||
|
@@ -52,7 +52,8 @@ using InternalPropertyPointer = QSharedPointer<InternalProperty>;
|
||||
|
||||
class InternalNode
|
||||
{
|
||||
friend class InternalProperty;
|
||||
friend InternalProperty;
|
||||
|
||||
public:
|
||||
using Pointer = QSharedPointer<InternalNode>;
|
||||
using WeakPointer = QWeakPointer<InternalNode>;
|
||||
|
@@ -33,7 +33,7 @@ namespace Internal {
|
||||
|
||||
class InternalNodeAbstractProperty : public InternalProperty
|
||||
{
|
||||
friend class InternalNode;
|
||||
friend InternalNode;
|
||||
|
||||
public:
|
||||
using Pointer = QSharedPointer<InternalNodeAbstractProperty>;
|
||||
|
@@ -83,9 +83,9 @@ class ModelPrivate : public QObject {
|
||||
Q_OBJECT
|
||||
Q_DISABLE_COPY(ModelPrivate)
|
||||
|
||||
friend class QmlDesigner::Model;
|
||||
friend class QmlDesigner::Internal::WriteLocker;
|
||||
friend class QmlDesigner::Internal::NodeMetaInfoPrivate;
|
||||
friend Model;
|
||||
friend Internal::WriteLocker;
|
||||
friend Internal::NodeMetaInfoPrivate;
|
||||
|
||||
public:
|
||||
ModelPrivate(Model *model);
|
||||
|
Reference in New Issue
Block a user