Skip to content

Commit ef1ad53

Browse files
committed
Explicitly forbid copy for QgsDevToolsModelGroup
1 parent 8b89007 commit ef1ad53

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

src/gui/devtools/qgsdevtoolsmodelnode.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@ QgsDevToolsModelGroup::QgsDevToolsModelGroup( const QString &title )
5252
{
5353
}
5454

55+
QgsDevToolsModelGroup::~QgsDevToolsModelGroup() = default;
56+
5557
QgsDevToolsModelNode *QgsDevToolsModelGroup::addChild( std::unique_ptr<QgsDevToolsModelNode> child )
5658
{
5759
if ( !child )

src/gui/devtools/qgsdevtoolsmodelnode.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,19 @@ class GUI_EXPORT QgsDevToolsModelNode
9494
*/
9595
class GUI_EXPORT QgsDevToolsModelGroup : public QgsDevToolsModelNode
9696
{
97+
public:
98+
~QgsDevToolsModelGroup() override;
99+
100+
/**
101+
* Constructor for a QgsDevToolsModelGroup. Copy constructor is disabled
102+
*/
103+
QgsDevToolsModelGroup( QgsDevToolsModelGroup &&other ) noexcept = default;
104+
105+
/**
106+
* Assignement operator for QgsDevToolsModelGroup. Copy assignement is disabled
107+
*/
108+
QgsDevToolsModelGroup &operator=( QgsDevToolsModelGroup &&other ) noexcept = default;
109+
97110
public:
98111
/**
99112
* Adds a \a child node to this node.
@@ -138,6 +151,10 @@ class GUI_EXPORT QgsDevToolsModelGroup : public QgsDevToolsModelNode
138151
std::deque<std::unique_ptr<QgsDevToolsModelNode>> mChildren;
139152

140153
private:
154+
// Prevent copying
155+
QgsDevToolsModelGroup( const QgsDevToolsModelGroup & ) = delete;
156+
QgsDevToolsModelGroup &operator=( const QgsDevToolsModelGroup & ) = delete;
157+
141158
QString mGroupTitle;
142159
};
143160

0 commit comments

Comments
 (0)