mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-06 00:07:29 -04:00
use project scales in label rendering and new 2D canvas dock if they are
set (fix #51326)
This commit is contained in:
parent
0f9b830d58
commit
72226c5983
@ -30,6 +30,7 @@
|
||||
#include "qgsvectorlayer.h"
|
||||
#include "qgsapplication.h"
|
||||
#include "qgsdockablewidgethelper.h"
|
||||
#include "qgsprojectviewsettings.h"
|
||||
#include "canvas/qgsappcanvasfiltering.h"
|
||||
|
||||
#include <QMessageBox>
|
||||
@ -597,6 +598,22 @@ QgsMapSettingsAction::QgsMapSettingsAction( QWidget *parent )
|
||||
gLayout->addWidget( label, 2, 0 );
|
||||
|
||||
mScaleCombo = new QgsScaleComboBox();
|
||||
// use either global scales or project scales
|
||||
if ( QgsProject::instance()->viewSettings()->useProjectScales() )
|
||||
{
|
||||
const QVector< double > scales = QgsProject::instance()->viewSettings()->mapScales();
|
||||
QStringList textScales;
|
||||
textScales.reserve( scales.size() );
|
||||
for ( const double scale : scales )
|
||||
textScales << QStringLiteral( "1:%1" ).arg( QLocale().toString( scale, 'f', 0 ) );
|
||||
mScaleCombo->updateScales( textScales );
|
||||
}
|
||||
else
|
||||
{
|
||||
// use global scales
|
||||
mScaleCombo->updateScales();
|
||||
}
|
||||
|
||||
gLayout->addWidget( mScaleCombo, 2, 1 );
|
||||
|
||||
mRotationWidget = new QgsDoubleSpinBox();
|
||||
|
@ -43,6 +43,7 @@
|
||||
#include "qgssymbollayerreference.h"
|
||||
#include "qgsconfig.h"
|
||||
#include "qgsprojectstylesettings.h"
|
||||
#include "qgsprojectviewsettings.h"
|
||||
|
||||
#include <QButtonGroup>
|
||||
#include <QMessageBox>
|
||||
@ -849,6 +850,24 @@ void QgsTextFormatWidget::populateDataDefinedButtons()
|
||||
registerDataDefinedButton( mScaleBasedVisibilityMaxDDBtn, QgsPalLayerSettings::Property::MaximumScale );
|
||||
mScaleBasedVisibilityMaxDDBtn->setUsageInfo( ddScaleVisInfo );
|
||||
|
||||
// use either global scales or project scales
|
||||
if ( QgsProject::instance()->viewSettings()->useProjectScales() )
|
||||
{
|
||||
const QVector< double > scales = QgsProject::instance()->viewSettings()->mapScales();
|
||||
QStringList textScales;
|
||||
textScales.reserve( scales.size() );
|
||||
for ( const double scale : scales )
|
||||
textScales << QStringLiteral( "1:%1" ).arg( QLocale().toString( scale, 'f', 0 ) );
|
||||
mMinScaleWidget->updateScales( textScales );
|
||||
mMaxScaleWidget->updateScales( textScales );
|
||||
}
|
||||
else
|
||||
{
|
||||
// use global scales
|
||||
mMinScaleWidget->updateScales();
|
||||
mMaxScaleWidget->updateScales();
|
||||
}
|
||||
|
||||
registerDataDefinedButton( mFontLimitPixelDDBtn, QgsPalLayerSettings::Property::FontLimitPixel );
|
||||
mFontLimitPixelDDBtn->registerCheckedWidget( mFontLimitPixelChkBox );
|
||||
registerDataDefinedButton( mFontMinPixelDDBtn, QgsPalLayerSettings::Property::FontMinPixel );
|
||||
|
Loading…
x
Reference in New Issue
Block a user