@@ -267,7 +267,7 @@ QgsVectorLayerProperties::QgsVectorLayerProperties(
267
267
268
268
QgsVectorLayerProperties::~QgsVectorLayerProperties ()
269
269
{
270
- if ( mOptsPage_LabelsOld && layer->hasGeometryType () )
270
+ if ( mOptsPage_LabelsOld && labelDialog && layer->hasGeometryType () )
271
271
{
272
272
disconnect ( labelDialog, SIGNAL ( labelSourceSet () ), this , SLOT ( setLabelCheckBox () ) );
273
273
}
@@ -395,24 +395,29 @@ void QgsVectorLayerProperties::syncToLayer( void )
395
395
// load appropriate symbology page (V1 or V2)
396
396
updateSymbologyPage ();
397
397
398
+ actionDialog->init ();
399
+
398
400
// reset fields in label dialog
399
401
layer->label ()->setFields ( layer->pendingFields () );
400
402
401
- actionDialog->init ();
402
-
403
403
if ( layer->hasGeometryType () )
404
404
{
405
405
labelingDialog->init ();
406
- labelDialog->init ();
407
406
}
408
407
409
- labelCheckBox->setChecked ( layer->hasLabelsEnabled () );
410
- labelOptionsFrame->setEnabled ( layer->hasLabelsEnabled () );
408
+ if ( mOptsPage_LabelsOld )
409
+ {
410
+ if ( labelDialog && layer->hasGeometryType () )
411
+ {
412
+ labelDialog->init ();
413
+ }
414
+ labelCheckBox->setChecked ( layer->hasLabelsEnabled () );
415
+ labelOptionsFrame->setEnabled ( layer->hasLabelsEnabled () );
416
+ QObject::connect ( labelCheckBox, SIGNAL ( clicked ( bool ) ), this , SLOT ( enableLabelOptions ( bool ) ) );
417
+ }
411
418
412
419
mFieldsPropertiesDialog ->init ();
413
420
414
- QObject::connect ( labelCheckBox, SIGNAL ( clicked ( bool ) ), this , SLOT ( enableLabelOptions ( bool ) ) );
415
-
416
421
// delete deprecated labels tab if not already used by project
417
422
// NOTE: this is not ideal, but a quick fix for QGIS 2.0 release
418
423
bool ok;
@@ -421,7 +426,10 @@ void QgsVectorLayerProperties::syncToLayer( void )
421
426
{
422
427
if ( mOptsPage_LabelsOld )
423
428
{
424
- disconnect ( labelDialog, SIGNAL ( labelSourceSet () ), this , SLOT ( setLabelCheckBox () ) );
429
+ if ( labelDialog )
430
+ {
431
+ disconnect ( labelDialog, SIGNAL ( labelSourceSet () ), this , SLOT ( setLabelCheckBox () ) );
432
+ }
425
433
delete mOptsPage_LabelsOld ;
426
434
mOptsPage_LabelsOld = 0 ;
427
435
}
@@ -479,11 +487,14 @@ void QgsVectorLayerProperties::apply()
479
487
if ( mOptsPage_LabelsOld )
480
488
{
481
489
if ( labelDialog )
490
+ {
482
491
labelDialog->apply ();
492
+ }
483
493
layer->enableLabels ( labelCheckBox->isChecked () );
484
- layer->setLayerName ( mLayerOrigNameLineEdit ->text () );
485
494
}
486
495
496
+ layer->setLayerName ( mLayerOrigNameLineEdit ->text () );
497
+
487
498
// Apply fields settings
488
499
mFieldsPropertiesDialog ->apply ();
489
500
@@ -728,6 +739,8 @@ void QgsVectorLayerProperties::on_pbnLoadStyle_clicked()
728
739
QFileInfo myFI ( myFileName );
729
740
QString myPath = myFI.path ();
730
741
myQSettings.setValue ( " style/lastStyleDir" , myPath );
742
+
743
+ activateWindow (); // set focus back to properties dialog
731
744
}
732
745
733
746
0 commit comments