From cf33e4725ce24d4f71b855f5cc7e6fe64c696373 Mon Sep 17 00:00:00 2001 From: Andrea Giudiceandrea Date: Tue, 30 Aug 2022 12:09:24 +0200 Subject: [PATCH 1/4] Add opacity to canvas background color --- src/app/options/qgsoptions.cpp | 5 ++++- src/app/qgisapp.cpp | 6 ++++-- src/app/qgsprojectproperties.cpp | 5 ++++- src/core/project/qgsproject.cpp | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/app/options/qgsoptions.cpp b/src/app/options/qgsoptions.cpp index 62a4d40e01ea..f3fb185df78f 100644 --- a/src/app/options/qgsoptions.cpp +++ b/src/app/options/qgsoptions.cpp @@ -742,8 +742,10 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QListvalue( QStringLiteral( "/qgis/default_canvas_color_red" ), 255 ).toInt(); green = mSettings->value( QStringLiteral( "/qgis/default_canvas_color_green" ), 255 ).toInt(); blue = mSettings->value( QStringLiteral( "/qgis/default_canvas_color_blue" ), 255 ).toInt(); - pbnCanvasColor->setColor( QColor( red, green, blue ) ); + alpha = mSettings->value( QStringLiteral( "/qgis/default_canvas_color_alpha" ), 255 ).toInt(); + pbnCanvasColor->setColor( QColor( red, green, blue, alpha ) ); pbnCanvasColor->setColorDialogTitle( tr( "Set Canvas Color" ) ); + pbnCanvasColor->setAllowOpacity( true ); pbnCanvasColor->setContext( QStringLiteral( "gui" ) ); pbnCanvasColor->setDefaultColor( Qt::white ); @@ -1672,6 +1674,7 @@ void QgsOptions::saveOptions() mSettings->setValue( QStringLiteral( "/qgis/default_canvas_color_red" ), myColor.red() ); mSettings->setValue( QStringLiteral( "/qgis/default_canvas_color_green" ), myColor.green() ); mSettings->setValue( QStringLiteral( "/qgis/default_canvas_color_blue" ), myColor.blue() ); + mSettings->setValue( QStringLiteral( "/qgis/default_canvas_color_alpha" ), myColor.alpha() ); //set the default color for the measure tool myColor = pbnMeasureColor->color(); diff --git a/src/app/qgisapp.cpp b/src/app/qgisapp.cpp index 64df9998331e..7953493a65f8 100644 --- a/src/app/qgisapp.cpp +++ b/src/app/qgisapp.cpp @@ -1022,7 +1022,8 @@ QgisApp::QgisApp( QSplashScreen *splash, bool restorePlugins, bool skipBadLayers int myRed = settings.value( QStringLiteral( "qgis/default_canvas_color_red" ), 255 ).toInt(); int myGreen = settings.value( QStringLiteral( "qgis/default_canvas_color_green" ), 255 ).toInt(); int myBlue = settings.value( QStringLiteral( "qgis/default_canvas_color_blue" ), 255 ).toInt(); - mMapCanvas->setCanvasColor( QColor( myRed, myGreen, myBlue ) ); + int myAlpha = settings.value( QStringLiteral( "qgis/default_canvas_color_alpha" ), 255 ).toInt(); + mMapCanvas->setCanvasColor( QColor( myRed, myGreen, myBlue, myAlpha ) ); // set project linked to main canvas mMapCanvas->setProject( QgsProject::instance() ); @@ -4365,7 +4366,8 @@ void QgisApp::createOverview() int red = settings.value( QStringLiteral( "qgis/default_canvas_color_red" ), 255 ).toInt(); int green = settings.value( QStringLiteral( "qgis/default_canvas_color_green" ), 255 ).toInt(); int blue = settings.value( QStringLiteral( "qgis/default_canvas_color_blue" ), 255 ).toInt(); - mOverviewCanvas->setBackgroundColor( QColor( red, green, blue ) ); + int alpha = settings.value( QStringLiteral( "qgis/default_canvas_color_alpha" ), 255 ).toInt(); + mOverviewCanvas->setBackgroundColor( QColor( red, green, blue, alpha ) ); mOverviewMapCursor = new QCursor( Qt::OpenHandCursor ); mOverviewCanvas->setCursor( *mOverviewMapCursor ); diff --git a/src/app/qgsprojectproperties.cpp b/src/app/qgsprojectproperties.cpp index 93c580ef78eb..5296442fe324 100644 --- a/src/app/qgsprojectproperties.cpp +++ b/src/app/qgsprojectproperties.cpp @@ -411,11 +411,14 @@ QgsProjectProperties::QgsProjectProperties( QgsMapCanvas *mapCanvas, QWidget *pa myRedInt = settings.value( QStringLiteral( "qgis/default_canvas_color_red" ), 255 ).toInt(); myGreenInt = settings.value( QStringLiteral( "qgis/default_canvas_color_green" ), 255 ).toInt(); myBlueInt = settings.value( QStringLiteral( "qgis/default_canvas_color_blue" ), 255 ).toInt(); - QColor defaultCanvasColor = QColor( myRedInt, myGreenInt, myBlueInt ); + myAlphaInt = settings.value( QStringLiteral( "qgis/default_canvas_color_alpha" ), 255 ).toInt(); + QColor defaultCanvasColor = QColor( myRedInt, myGreenInt, myBlueInt, myAlphaInt ); pbnCanvasColor->setContext( QStringLiteral( "gui" ) ); pbnCanvasColor->setColor( QgsProject::instance()->backgroundColor() ); pbnCanvasColor->setDefaultColor( defaultCanvasColor ); + pbnCanvasColor->setColorDialogTitle( tr( "Canvas Color" ) ); + pbnCanvasColor->setAllowOpacity( true ); //get project scales const QVector< double > projectScales = QgsProject::instance()->viewSettings()->mapScales(); diff --git a/src/core/project/qgsproject.cpp b/src/core/project/qgsproject.cpp index 6fd66fb60818..555dbb8795f4 100644 --- a/src/core/project/qgsproject.cpp +++ b/src/core/project/qgsproject.cpp @@ -1006,7 +1006,8 @@ void QgsProject::clear() int red = mSettings.value( QStringLiteral( "qgis/default_canvas_color_red" ), 255 ).toInt(); int green = mSettings.value( QStringLiteral( "qgis/default_canvas_color_green" ), 255 ).toInt(); int blue = mSettings.value( QStringLiteral( "qgis/default_canvas_color_blue" ), 255 ).toInt(); - setBackgroundColor( QColor( red, green, blue ) ); + int alpha = mSettings.value( QStringLiteral( "qgis/default_canvas_color_alpha" ), 255 ).toInt(); + setBackgroundColor( QColor( red, green, blue, alpha ) ); red = mSettings.value( QStringLiteral( "qgis/default_selection_color_red" ), 255 ).toInt(); green = mSettings.value( QStringLiteral( "qgis/default_selection_color_green" ), 255 ).toInt(); From bfc55aede1a2e6292184153e60157c770a41d1cb Mon Sep 17 00:00:00 2001 From: Andrea Giudiceandrea Date: Tue, 30 Aug 2022 12:16:57 +0200 Subject: [PATCH 2/4] Update qgsproject.cpp --- src/core/project/qgsproject.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/project/qgsproject.cpp b/src/core/project/qgsproject.cpp index 555dbb8795f4..f6a805c7fe83 100644 --- a/src/core/project/qgsproject.cpp +++ b/src/core/project/qgsproject.cpp @@ -1640,6 +1640,7 @@ bool QgsProject::readProjectFile( const QString &filename, Qgis::ProjectReadFlag const QColor backgroundColor( readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorRedPart" ), 255 ), readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorGreenPart" ), 255 ), readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorBluePart" ), 255 ) ); + readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorAlphaPart" ), 255 ) ); setBackgroundColor( backgroundColor ); const QColor selectionColor( readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/SelectionColorRedPart" ), 255 ), readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/SelectionColorGreenPart" ), 255 ), From 84eae1e801bb57c1d8d301135003e470a91177db Mon Sep 17 00:00:00 2001 From: Andrea Giudiceandrea Date: Tue, 30 Aug 2022 12:20:24 +0200 Subject: [PATCH 3/4] Update qgsproject.cpp --- src/core/project/qgsproject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/project/qgsproject.cpp b/src/core/project/qgsproject.cpp index f6a805c7fe83..e30c415d5db4 100644 --- a/src/core/project/qgsproject.cpp +++ b/src/core/project/qgsproject.cpp @@ -1639,7 +1639,7 @@ bool QgsProject::readProjectFile( const QString &filename, Qgis::ProjectReadFlag const QColor backgroundColor( readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorRedPart" ), 255 ), readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorGreenPart" ), 255 ), - readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorBluePart" ), 255 ) ); + readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorBluePart" ), 255 ), readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/CanvasColorAlphaPart" ), 255 ) ); setBackgroundColor( backgroundColor ); const QColor selectionColor( readNumEntry( QStringLiteral( "Gui" ), QStringLiteral( "/SelectionColorRedPart" ), 255 ), From 4904279978eb0a76e8bc415924ef6f93a04aa774 Mon Sep 17 00:00:00 2001 From: Andrea Giudiceandrea Date: Tue, 30 Aug 2022 12:54:22 +0200 Subject: [PATCH 4/4] Update qgsproject.cpp --- src/core/project/qgsproject.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/core/project/qgsproject.cpp b/src/core/project/qgsproject.cpp index e30c415d5db4..4289241aaf22 100644 --- a/src/core/project/qgsproject.cpp +++ b/src/core/project/qgsproject.cpp @@ -1012,7 +1012,7 @@ void QgsProject::clear() red = mSettings.value( QStringLiteral( "qgis/default_selection_color_red" ), 255 ).toInt(); green = mSettings.value( QStringLiteral( "qgis/default_selection_color_green" ), 255 ).toInt(); blue = mSettings.value( QStringLiteral( "qgis/default_selection_color_blue" ), 0 ).toInt(); - const int alpha = mSettings.value( QStringLiteral( "qgis/default_selection_color_alpha" ), 255 ).toInt(); + alpha = mSettings.value( QStringLiteral( "qgis/default_selection_color_alpha" ), 255 ).toInt(); setSelectionColor( QColor( red, green, blue, alpha ) ); mSnappingConfig.clearIndividualLayerSettings();