@@ -812,21 +812,25 @@ void QgsProjectProperties::apply()
812
812
}
813
813
814
814
// set the color for selections
815
- QColor myColor = pbnSelectionColor->color ();
816
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorRedPart" ), myColor .red () );
817
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorGreenPart" ), myColor .green () );
818
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorBluePart" ), myColor .blue () );
819
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorAlphaPart" ), myColor .alpha () );
820
- mMapCanvas -> setSelectionColor ( myColor );
815
+ QColor selectionColor = pbnSelectionColor->color ();
816
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorRedPart" ), selectionColor .red () );
817
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorGreenPart" ), selectionColor .green () );
818
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorBluePart" ), selectionColor .blue () );
819
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /SelectionColorAlphaPart" ), selectionColor .alpha () );
820
+
821
821
822
822
// set the color for canvas
823
- myColor = pbnCanvasColor->color ();
824
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorRedPart" ), myColor.red () );
825
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorGreenPart" ), myColor.green () );
826
- QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorBluePart" ), myColor.blue () );
827
- mMapCanvas ->setCanvasColor ( myColor );
828
- QgisApp::instance ()->mapOverviewCanvas ()->setBackgroundColor ( myColor );
829
- QgisApp::instance ()->mapOverviewCanvas ()->refresh ();
823
+ QColor canvasColor = pbnCanvasColor->color ();
824
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorRedPart" ), canvasColor.red () );
825
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorGreenPart" ), canvasColor.green () );
826
+ QgsProject::instance ()->writeEntry ( QStringLiteral ( " Gui" ), QStringLiteral ( " /CanvasColorBluePart" ), canvasColor.blue () );
827
+
828
+ Q_FOREACH ( QgsMapCanvas *canvas, QgisApp::instance ()->mapCanvases () )
829
+ {
830
+ canvas->setCanvasColor ( canvasColor );
831
+ canvas->setSelectionColor ( selectionColor );
832
+ }
833
+ QgisApp::instance ()->mapOverviewCanvas ()->setBackgroundColor ( canvasColor );
830
834
831
835
// save project scales
832
836
QStringList myScales;
@@ -1140,7 +1144,12 @@ void QgsProjectProperties::apply()
1140
1144
// save variables
1141
1145
QgsProject::instance ()->setCustomVariables ( mVariableEditor ->variablesInActiveScope () );
1142
1146
1143
- emit refresh ();
1147
+ // refresh canvases to reflect new properties, eg background color and scale bar after changing display units.
1148
+ Q_FOREACH ( QgsMapCanvas *canvas, QgisApp::instance ()->mapCanvases () )
1149
+ {
1150
+ canvas->refresh ();
1151
+ }
1152
+ QgisApp::instance ()->mapOverviewCanvas ()->refresh ();
1144
1153
}
1145
1154
1146
1155
void QgsProjectProperties::showProjectionsTab ()
0 commit comments