2121#include " qgis.h"
2222#include " qgisapp.h"
2323#include " qgisappstylesheet.h"
24+ #include " qgslegend.h"
2425#include " qgsmapcanvas.h"
2526#include " qgsmaprenderer.h"
2627#include " qgsgenericprojectionselector.h"
@@ -504,6 +505,8 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
504505 chkUseQPixmap->setChecked ( !( settings.value ( " /qgis/use_qimage_to_render" , true ).toBool () ) );
505506 chkAddedVisibility->setChecked ( settings.value ( " /qgis/new_layers_visible" , true ).toBool () );
506507 cbxLegendClassifiers->setChecked ( settings.value ( " /qgis/showLegendClassifiers" , false ).toBool () );
508+ mLegendLayersBoldChkBx ->setChecked ( settings.value ( " /qgis/legendLayersBold" , true ).toBool () );
509+ mLegendGroupsBoldChkBx ->setChecked ( settings.value ( " /qgis/legendGroupsBold" , false ).toBool () );
507510 cbxHideSplash->setChecked ( settings.value ( " /qgis/hideSplash" , false ).toBool () );
508511 cbxShowTips->setChecked ( settings.value ( " /qgis/showTips" , true ).toBool () );
509512 cbxAttributeTableDocked->setChecked ( settings.value ( " /qgis/dockAttributeTable" , false ).toBool () );
@@ -562,7 +565,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WFlags fl ) :
562565 myBlue = settings.value ( " /qgis/default_measure_color_blue" , 180 ).toInt ();
563566 pbnMeasureColor->setColor ( QColor ( myRed, myGreen, myBlue ) );
564567
565- capitaliseCheckBox->setChecked ( settings.value ( " qgis/capitaliseLayerName" , QVariant ( false ) ).toBool () );
568+ capitaliseCheckBox->setChecked ( settings.value ( " / qgis/capitaliseLayerName" , QVariant ( false ) ).toBool () );
566569
567570 chbAskToSaveProjectChanges->setChecked ( settings.value ( " qgis/askToSaveProjectChanges" , QVariant ( true ) ).toBool () );
568571 chbWarnOldProjectVersion->setChecked ( settings.value ( " /qgis/warnOldProjectVersion" , QVariant ( true ) ).toBool () );
@@ -1003,7 +1006,12 @@ void QgsOptions::saveOptions()
10031006 settings.setValue ( " /Map/identifyMode" , cmbIdentifyMode->itemData ( cmbIdentifyMode->currentIndex () ).toInt () );
10041007 settings.setValue ( " /Map/identifyAutoFeatureForm" , cbxAutoFeatureForm->isChecked () );
10051008 settings.setValue ( " /Map/identifyRadius" , spinBoxIdentifyValue->value () );
1009+ bool showLegendClassifiers = settings.value ( " /qgis/showLegendClassifiers" , false ).toBool ();
10061010 settings.setValue ( " /qgis/showLegendClassifiers" , cbxLegendClassifiers->isChecked () );
1011+ bool legendLayersBold = settings.value ( " /qgis/legendLayersBold" , true ).toBool ();
1012+ settings.setValue ( " /qgis/legendLayersBold" , mLegendLayersBoldChkBx ->isChecked () );
1013+ bool legendGroupsBold = settings.value ( " /qgis/legendGroupsBold" , false ).toBool ();
1014+ settings.setValue ( " /qgis/legendGroupsBold" , mLegendGroupsBoldChkBx ->isChecked () );
10071015 settings.setValue ( " /qgis/hideSplash" , cbxHideSplash->isChecked () );
10081016 settings.setValue ( " /qgis/showTips" , cbxShowTips->isChecked () );
10091017 settings.setValue ( " /qgis/dockAttributeTable" , cbxAttributeTableDocked->isChecked () );
@@ -1019,6 +1027,7 @@ void QgsOptions::saveOptions()
10191027 settings.setValue ( " /qgis/dockSnapping" , cbxSnappingOptionsDocked->isChecked () );
10201028 settings.setValue ( " /qgis/addPostgisDC" , cbxAddPostgisDC->isChecked () );
10211029 settings.setValue ( " /qgis/addNewLayersToCurrentGroup" , cbxAddNewLayersToCurrentGroup->isChecked () );
1030+ bool createRasterLegendIcons = settings.value ( " /qgis/createRasterLegendIcons" , true ).toBool ();
10221031 settings.setValue ( " /qgis/createRasterLegendIcons" , cbxCreateRasterLegendIcons->isChecked () );
10231032 settings.setValue ( " /qgis/copyGeometryAsWKT" , cbxCopyWKTGeomFromTable->isChecked () );
10241033 settings.setValue ( " /qgis/new_layers_visible" , chkAddedVisibility->isChecked () );
@@ -1027,6 +1036,7 @@ void QgsOptions::saveOptions()
10271036 settings.setValue ( " /qgis/use_qimage_to_render" , !( chkUseQPixmap->isChecked () ) );
10281037 settings.setValue ( " /qgis/use_symbology_ng" , chkUseSymbologyNG->isChecked () );
10291038 settings.setValue ( " /qgis/legendDoubleClickAction" , cmbLegendDoubleClickAction->currentIndex () );
1039+ bool legendLayersCapitalise = settings.value ( " /qgis/capitaliseLayerName" , false ).toBool ();
10301040 settings.setValue ( " /qgis/capitaliseLayerName" , capitaliseCheckBox->isChecked () );
10311041
10321042 // project
@@ -1233,6 +1243,21 @@ void QgsOptions::saveOptions()
12331243 if ( mLoadedGdalDriverList )
12341244 saveGdalDriverList ();
12351245
1246+ // refresh legend if any legend item's state is to be changed
1247+ if ( legendLayersBold != mLegendLayersBoldChkBx ->isChecked ()
1248+ || legendGroupsBold != mLegendGroupsBoldChkBx ->isChecked ()
1249+ || legendLayersCapitalise != capitaliseCheckBox->isChecked () )
1250+ {
1251+ QgisApp::instance ()->legend ()->updateLegendItemStyles ();
1252+ }
1253+
1254+ // refresh symbology for any legend items, only if needed
1255+ if ( showLegendClassifiers != cbxLegendClassifiers->isChecked ()
1256+ || createRasterLegendIcons != cbxCreateRasterLegendIcons->isChecked () )
1257+ {
1258+ QgisApp::instance ()->legend ()->updateLegendItemSymbologies ();
1259+ }
1260+
12361261 // save app stylesheet last (in case reset becomes necessary)
12371262 if ( mStyleSheetNewOpts != mStyleSheetOldOpts )
12381263 {
0 commit comments