Skip to content

Commit 15c2f0a

Browse files
authoredJul 3, 2016
Make QgsMapLayer::name a Q_PROPERTY (#3259)
Make QgsMapLayer::name a Q_PROPERTY And align setName / name / nameChanged Deprecates setLayerName / layerNameChanged
1 parent 143cfab commit 15c2f0a

File tree

10 files changed

+66
-24
lines changed

10 files changed

+66
-24
lines changed
 

‎python/core/qgsmaplayer.sip

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,15 @@ class QgsMapLayer : QObject
6464
/** Set the display name of the layer
6565
* @param name New name for the layer
6666
*/
67-
void setLayerName( const QString & name );
67+
void setLayerName( const QString & name ) /Deprecated/;
68+
69+
/**
70+
* Set the display name of the layer
71+
* @param name New name for the layer
72+
*
73+
* @note added in 2.16
74+
*/
75+
void setName( const QString& name );
6876

6977
/** Get the display name of the layer
7078
* @return the layer name
@@ -631,9 +639,18 @@ class QgsMapLayer : QObject
631639
/** Emit a signal with status (e.g. to be caught by QgisApp and display a msg on status bar) */
632640
void statusChanged( const QString& theStatus );
633641

634-
/** Emit a signal that the layer name has been changed */
642+
/** Emit a signal that the layer name has been changed
643+
* @deprecated since 2.16 use nameChanged() instead
644+
*/
635645
void layerNameChanged();
636646

647+
/**
648+
* Emitted when the name has been changed
649+
*
650+
* @note added in 2.16
651+
*/
652+
void nameChanged();
653+
637654
/** Emit a signal that layer's CRS has been reset */
638655
void layerCrsChanged();
639656

‎src/app/qgisapp.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3568,7 +3568,7 @@ bool QgisApp::addVectorLayers( const QStringList &theLayerQStringList, const QSt
35683568
Q_ASSERT( elements.size() >= 4 );
35693569
if ( layer->name() != elements.at( 1 ) )
35703570
{
3571-
layer->setLayerName( QString( "%1 %2 %3" ).arg( layer->name(), elements.at( 1 ), elements.at( 3 ) ) );
3571+
layer->setName( QString( "%1 %2 %3" ).arg( layer->name(), elements.at( 1 ), elements.at( 3 ) ) );
35723572
}
35733573

35743574
myList << layer;
@@ -7503,7 +7503,7 @@ QgsVectorLayer *QgisApp::pasteAsNewMemoryVector( const QString & theLayerName )
75037503
if ( !layer )
75047504
return nullptr;
75057505

7506-
layer->setLayerName( layerName );
7506+
layer->setName( layerName );
75077507

75087508
mMapCanvas->freeze();
75097509

@@ -8891,7 +8891,7 @@ void QgisApp::showOptionsDialog( QWidget *parent, const QString& currentPage )
88918891
{
88928892
// if the layer capitalization has changed, we need to update all layer names
88938893
Q_FOREACH ( QgsMapLayer* layer, QgsMapLayerRegistry::instance()->mapLayers() )
8894-
layer->setLayerName( layer->originalName() );
8894+
layer->setName( layer->originalName() );
88958895
}
88968896

88978897
//update any open compositions so they reflect new composer settings
@@ -11089,7 +11089,7 @@ QgsPluginLayer* QgisApp::addPluginLayer( const QString& uri, const QString& base
1108911089
if ( !layer )
1109011090
return nullptr;
1109111091

11092-
layer->setLayerName( baseName );
11092+
layer->setName( baseName );
1109311093

1109411094
QgsMapLayerRegistry::instance()->addMapLayer( layer );
1109511095

‎src/app/qgsrasterlayerproperties.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -904,7 +904,7 @@ void QgsRasterLayerProperties::apply()
904904
/*
905905
* General Tab
906906
*/
907-
mRasterLayer->setLayerName( mLayerOrigNameLineEd->text() );
907+
mRasterLayer->setName( mLayerOrigNameLineEd->text() );
908908

909909
// set up the scale based layer visibility stuff....
910910
mRasterLayer->setScaleBasedVisibility( chkUseScaleDependentRendering->isChecked() );

‎src/app/qgsvectorlayerproperties.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -613,7 +613,7 @@ void QgsVectorLayerProperties::apply()
613613
}
614614
Q_NOWARN_DEPRECATED_POP
615615

616-
mLayer->setLayerName( mLayerOrigNameLineEdit->text() );
616+
mLayer->setName( mLayerOrigNameLineEdit->text() );
617617

618618
// Apply fields settings
619619
mFieldsPropertiesDialog->apply();

‎src/core/layertree/qgslayertreelayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ QString QgsLayerTreeLayer::layerName() const
7979
void QgsLayerTreeLayer::setLayerName( const QString& n )
8080
{
8181
if ( mLayer )
82-
mLayer->setLayerName( n );
82+
mLayer->setName( n );
8383
else
8484
mLayerName = n;
8585
}

‎src/core/qgsmaplayer.cpp

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,7 @@ QgsMapLayer::QgsMapLayer( QgsMapLayer::LayerType type,
6464
, mStyleManager( new QgsMapLayerStyleManager( this ) )
6565
{
6666
// Set the display name = internal name
67-
QgsDebugMsg( "original name: '" + mLayerOrigName + '\'' );
6867
mLayerName = capitaliseLayerName( mLayerOrigName );
69-
QgsDebugMsg( "display name: '" + mLayerName + '\'' );
7068

7169
mShortName = "";
7270
//mShortName.replace( QRegExp( "[\\W]" ), "_" );
@@ -86,6 +84,8 @@ QgsMapLayer::QgsMapLayer( QgsMapLayer::LayerType type,
8684
mMinScale = 0;
8785
mMaxScale = 100000000;
8886
mScaleBasedVisibility = false;
87+
88+
connect( this, SIGNAL( nameChanged() ), this, SIGNAL( layerNameChanged() ) );
8989
}
9090

9191
QgsMapLayer::~QgsMapLayer()
@@ -105,16 +105,21 @@ QString QgsMapLayer::id() const
105105
return mID;
106106
}
107107

108-
/** Write property of QString layerName. */
109108
void QgsMapLayer::setLayerName( const QString & name )
110109
{
111-
QgsDebugMsg( "new original name: '" + name + '\'' );
110+
setName( name );
111+
}
112+
113+
void QgsMapLayer::setName( const QString& name )
114+
{
112115
QString newName = capitaliseLayerName( name );
113-
QgsDebugMsg( "new display name: '" + name + '\'' );
114-
if ( name == mLayerOrigName && newName == mLayerName ) return;
116+
if ( name == mLayerOrigName && newName == mLayerName )
117+
return;
118+
115119
mLayerOrigName = name; // store the new original name
116120
mLayerName = newName;
117-
emit layerNameChanged();
121+
122+
emit nameChanged();
118123
}
119124

120125
/** Read property of QString layerName. */
@@ -434,7 +439,7 @@ bool QgsMapLayer::readLayerXML( const QDomElement& layerElement )
434439
// set name
435440
mnl = layerElement.namedItem( "layername" );
436441
mne = mnl.toElement();
437-
setLayerName( mne.text() );
442+
setName( mne.text() );
438443

439444
//short name
440445
QDomElement shortNameElem = layerElement.firstChildElement( "shortname" );

‎src/core/qgsmaplayer.h

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ class CORE_EXPORT QgsMapLayer : public QObject
5050
{
5151
Q_OBJECT
5252

53+
Q_PROPERTY( QString name READ name WRITE setName NOTIFY nameChanged )
54+
5355
public:
5456
/** Layers enum defining the types of layers that can be added to a map */
5557
enum LayerType
@@ -79,8 +81,17 @@ class CORE_EXPORT QgsMapLayer : public QObject
7981

8082
/** Set the display name of the layer
8183
* @param name New name for the layer
84+
* @deprecated Since 2.16, use setName instead
85+
*/
86+
Q_DECL_DEPRECATED void setLayerName( const QString & name );
87+
88+
/**
89+
* Set the display name of the layer
90+
* @param name New name for the layer
91+
*
92+
* @note added in 2.16
8293
*/
83-
void setLayerName( const QString & name );
94+
void setName( const QString& name );
8495

8596
/** Get the display name of the layer
8697
* @return the layer name
@@ -651,8 +662,17 @@ class CORE_EXPORT QgsMapLayer : public QObject
651662
/** Emit a signal with status (e.g. to be caught by QgisApp and display a msg on status bar) */
652663
void statusChanged( const QString& theStatus );
653664

654-
/** Emit a signal that the layer name has been changed */
655-
void layerNameChanged();
665+
/** Emit a signal that the layer name has been changed
666+
* @deprecated since 2.16 use nameChanged() instead
667+
*/
668+
Q_DECL_DEPRECATED void layerNameChanged();
669+
670+
/**
671+
* Emitted when the name has been changed
672+
*
673+
* @note added in 2.16
674+
*/
675+
void nameChanged();
656676

657677
/** Emit a signal that layer's CRS has been reset */
658678
void layerCrsChanged();

‎src/core/qgsvectorlayer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1692,7 +1692,7 @@ void QgsVectorLayer::setDataSource( const QString& dataSource, const QString& ba
16921692

16931693
mDataSource = dataSource;
16941694
mLayerName = capitaliseLayerName( baseName );
1695-
setLayerName( mLayerName );
1695+
setName( mLayerName );
16961696
setDataProvider( provider );
16971697

16981698
if ( !mValid )
@@ -1791,7 +1791,7 @@ bool QgsVectorLayer::setDataProvider( QString const & provider )
17911791
}
17921792

17931793
if ( !lName.isEmpty() )
1794-
setLayerName( lName );
1794+
setName( lName );
17951795
}
17961796

17971797
QgsDebugMsg( "Beautified layer name " + name() );

‎src/core/raster/qgsrasterlayer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ void QgsRasterLayer::setDataProvider( QString const & provider )
646646
// set the layer name (uppercase first character)
647647
if ( ! mLayerName.isEmpty() ) // XXX shouldn't this happen in parent?
648648
{
649-
setLayerName( mLayerName );
649+
setName( mLayerName );
650650
}
651651

652652
//mBandCount = 0;

‎src/server/qgswmsserver.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ QImage* QgsWMSServer::getLegendGraphics()
960960
Q_FOREACH ( const QString& layerId, layerIds )
961961
{
962962
QgsMapLayer *ml = QgsMapLayerRegistry::instance()->mapLayer( layerId );
963-
ml->setLayerName( layerNameMap[ layerId ] );
963+
ml->setName( layerNameMap[ layerId ] );
964964
}
965965
// clear map layer registry
966966
QgsMapLayerRegistry::instance()->removeAllMapLayers();

0 commit comments

Comments
 (0)
Please sign in to comment.