@@ -412,14 +412,14 @@ void QgisApp::validateSrs( QgsCoordinateReferenceSystem &srs )
412
412
// XXX TODO: Change project to store selected CS as 'projectCRS' not 'selectedWkt'
413
413
authid = QgisApp::instance ()->mapCanvas ()->mapRenderer ()->destinationCrs ().authid ();
414
414
QgsDebugMsg ( " Layer srs set from project: " + authid );
415
- QgisApp::instance ()->statusBar ()->showMessage ( QObject:: tr ( " CRS undefined - defaulting to project CRS" ) );
415
+ QgisApp::instance ()->statusBar ()->showMessage ( tr ( " CRS undefined - defaulting to project CRS" ) );
416
416
srs.createFromOgcWmsCrs ( authid );
417
417
}
418
418
else // /Projections/defaultBehaviour==useGlobal
419
419
{
420
420
authid = mySettings.value ( " /Projections/layerDefaultCrs" , GEO_EPSG_CRS_AUTHID ).toString ();
421
421
srs.createFromOgcWmsCrs ( authid );
422
- QgisApp::instance ()->statusBar ()->showMessage ( QObject:: tr ( " CRS undefined - defaulting to default CRS: %1" ).arg ( authid ) );
422
+ QgisApp::instance ()->statusBar ()->showMessage ( tr ( " CRS undefined - defaulting to default CRS: %1" ).arg ( authid ) );
423
423
}
424
424
}
425
425
@@ -4225,8 +4225,8 @@ void QgisApp::modifyAnnotation()
4225
4225
4226
4226
void QgisApp::labeling ()
4227
4227
{
4228
- QgsMapLayer* layer = activeLayer ();
4229
- if ( layer == NULL || layer-> type () != QgsMapLayer::VectorLayer )
4228
+ QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer*>( activeLayer () );
4229
+ if ( !vlayer )
4230
4230
{
4231
4231
messageBar ()->pushMessage ( tr ( " Labeling Options" ),
4232
4232
tr ( " Please select a vector layer first" ),
@@ -4235,7 +4235,6 @@ void QgisApp::labeling()
4235
4235
return ;
4236
4236
}
4237
4237
4238
- QgsVectorLayer* vlayer = dynamic_cast <QgsVectorLayer*>( layer );
4239
4238
4240
4239
QDialog *dlg = new QDialog ( this );
4241
4240
dlg->setWindowTitle ( tr ( " Layer labeling settings" ) );
@@ -4274,7 +4273,7 @@ void QgisApp::labeling()
4274
4273
4275
4274
delete dlg;
4276
4275
4277
- activateDeactivateLayerRelatedActions ( layer );
4276
+ activateDeactivateLayerRelatedActions ( vlayer );
4278
4277
}
4279
4278
4280
4279
void QgisApp::fieldCalculator ()
@@ -4339,7 +4338,7 @@ void QgisApp::saveAsRasterFile()
4339
4338
4340
4339
QProgressDialog pd ( 0 , tr ( " Abort..." ), 0 , 0 );
4341
4340
// Show the dialo immediately because cloning pipe can take some time (WCS)
4342
- pd.setLabelText ( QObject:: tr ( " Reading raster" ) );
4341
+ pd.setLabelText ( tr ( " Reading raster" ) );
4343
4342
pd.show ();
4344
4343
pd.setWindowModality ( Qt::WindowModal );
4345
4344
@@ -5281,22 +5280,20 @@ void QgisApp::deselectAll()
5281
5280
5282
5281
void QgisApp::selectByExpression ()
5283
5282
{
5284
- QgsVectorLayer* vlayer = NULL ;
5285
- if ( !mMapCanvas ->currentLayer ()
5286
- || NULL == ( vlayer = qobject_cast<QgsVectorLayer *>( mMapCanvas ->currentLayer () ) ) )
5283
+ QgsVectorLayer *vlayer = qobject_cast<QgsVectorLayer *>( mMapCanvas ->currentLayer () );
5284
+ if ( !vlayer )
5287
5285
{
5288
5286
messageBar ()->pushMessage (
5289
- QObject:: tr ( " No active vector layer" ),
5290
- QObject:: tr ( " To select features, choose a vector layer in the legend" ),
5287
+ tr ( " No active vector layer" ),
5288
+ tr ( " To select features, choose a vector layer in the legend" ),
5291
5289
QgsMessageBar::INFO,
5292
5290
messageTimeout () );
5291
+ return ;
5293
5292
}
5294
- else
5295
- {
5296
- QgsExpressionSelectionDialog* dlg = new QgsExpressionSelectionDialog ( vlayer );
5297
- dlg->setAttribute ( Qt::WA_DeleteOnClose );
5298
- dlg->show ();
5299
- }
5293
+
5294
+ QgsExpressionSelectionDialog* dlg = new QgsExpressionSelectionDialog ( vlayer );
5295
+ dlg->setAttribute ( Qt::WA_DeleteOnClose );
5296
+ dlg->show ();
5300
5297
}
5301
5298
5302
5299
void QgisApp::addRing ()
@@ -7880,6 +7877,8 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
7880
7877
mActionSelectFreehand ->setEnabled ( false );
7881
7878
mActionSelectRadius ->setEnabled ( false );
7882
7879
mActionIdentify ->setEnabled ( QSettings ().value ( " /Map/identifyMode" , 0 ).toInt () != 0 );
7880
+ mActionSelectByExpression ->setEnabled ( false );
7881
+ mActionLabeling ->setEnabled ( false );
7883
7882
mActionOpenTable ->setEnabled ( false );
7884
7883
mActionOpenFieldCalc ->setEnabled ( false );
7885
7884
mActionToggleEditing ->setEnabled ( false );
@@ -7957,13 +7956,15 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
7957
7956
mActionLocalHistogramStretch ->setEnabled ( false );
7958
7957
mActionFullHistogramStretch ->setEnabled ( false );
7959
7958
mActionZoomActualSize ->setEnabled ( false );
7959
+ mActionLabeling ->setEnabled ( true );
7960
7960
7961
7961
mActionSelect ->setEnabled ( true );
7962
7962
mActionSelectRectangle ->setEnabled ( true );
7963
7963
mActionSelectPolygon ->setEnabled ( true );
7964
7964
mActionSelectFreehand ->setEnabled ( true );
7965
7965
mActionSelectRadius ->setEnabled ( true );
7966
7966
mActionIdentify ->setEnabled ( true );
7967
+ mActionSelectByExpression ->setEnabled ( true );
7967
7968
mActionOpenTable ->setEnabled ( true );
7968
7969
mActionLayerSaveAs ->setEnabled ( true );
7969
7970
mActionLayerSelectionSaveAs ->setEnabled ( true );
@@ -8140,6 +8141,7 @@ void QgisApp::activateDeactivateLayerRelatedActions( QgsMapLayer* layer )
8140
8141
mActionSimplifyFeature ->setEnabled ( false );
8141
8142
mActionReshapeFeatures ->setEnabled ( false );
8142
8143
mActionSplitFeatures ->setEnabled ( false );
8144
+ mActionLabeling ->setEnabled ( false );
8143
8145
8144
8146
// NOTE: This check does not really add any protection, as it is called on load not on layer select/activate
8145
8147
// If you load a layer with a provider and idenitfy ability then load another without, the tool would be disabled for both
0 commit comments