Default to label placement engine v2 for newly created projects (for QGIS 3.12)

This commit is contained in:
Nyall Dawson 2019-12-03 10:06:39 +10:00
parent 9904fe8621
commit ea5b4234ab
4 changed files with 10 additions and 10 deletions

View File

@ -43,7 +43,7 @@ QgsLabelEngineConfigDialog::QgsLabelEngineConfigDialog( QWidget *parent )
mTextRenderFormatComboBox->addItem( tr( "Always Render Labels as Text" ), QgsRenderContext::TextFormatAlwaysText ); mTextRenderFormatComboBox->addItem( tr( "Always Render Labels as Text" ), QgsRenderContext::TextFormatAlwaysText );
mPlacementVersionComboBox->addItem( tr( "Version 1" ), QgsLabelingEngineSettings::PlacementEngineVersion1 ); mPlacementVersionComboBox->addItem( tr( "Version 1" ), QgsLabelingEngineSettings::PlacementEngineVersion1 );
mPlacementVersionComboBox->addItem( tr( "Version 2 (Experimental)" ), QgsLabelingEngineSettings::PlacementEngineVersion2 ); mPlacementVersionComboBox->addItem( tr( "Version 2 (Recommended)" ), QgsLabelingEngineSettings::PlacementEngineVersion2 );
mPreviousEngineVersion = engineSettings.placementVersion(); mPreviousEngineVersion = engineSettings.placementVersion();
mPlacementVersionComboBox->setCurrentIndex( mPlacementVersionComboBox->findData( mPreviousEngineVersion ) ); mPlacementVersionComboBox->setCurrentIndex( mPlacementVersionComboBox->findData( mPreviousEngineVersion ) );

View File

@ -261,7 +261,7 @@ namespace pal
*/ */
bool mShowPartialLabels = true; bool mShowPartialLabels = true;
QgsLabelingEngineSettings::PlacementEngineVersion mPlacementVersion = QgsLabelingEngineSettings::PlacementEngineVersion1; QgsLabelingEngineSettings::PlacementEngineVersion mPlacementVersion = QgsLabelingEngineSettings::PlacementEngineVersion2;
//! Callback that may be called from PAL to check whether the job has not been canceled in meanwhile //! Callback that may be called from PAL to check whether the job has not been canceled in meanwhile
FnIsCanceled fnIsCanceled = nullptr; FnIsCanceled fnIsCanceled = nullptr;

View File

@ -66,7 +66,7 @@ class CORE_EXPORT QgsLabelingEngineSettings
enum PlacementEngineVersion enum PlacementEngineVersion
{ {
PlacementEngineVersion1, //!< Version 1, matches placement from QGIS <= 3.10.1 PlacementEngineVersion1, //!< Version 1, matches placement from QGIS <= 3.10.1
PlacementEngineVersion2, //!< Version 2 (currently experimental) PlacementEngineVersion2, //!< Version 2 (default for new projects since QGIS 3.12)
}; };
QgsLabelingEngineSettings(); QgsLabelingEngineSettings();
@ -173,7 +173,7 @@ class CORE_EXPORT QgsLabelingEngineSettings
QColor mUnplacedLabelColor = QColor( 255, 0, 0 ); QColor mUnplacedLabelColor = QColor( 255, 0, 0 );
PlacementEngineVersion mPlacementVersion = PlacementEngineVersion1; PlacementEngineVersion mPlacementVersion = PlacementEngineVersion2;
QgsRenderContext::TextRenderFormat mDefaultTextRenderFormat = QgsRenderContext::TextFormatAlwaysOutlines; QgsRenderContext::TextRenderFormat mDefaultTextRenderFormat = QgsRenderContext::TextFormatAlwaysOutlines;

View File

@ -135,16 +135,16 @@ void TestQgsLabelingEngine::testEngineSettings()
// getters/setters // getters/setters
QgsLabelingEngineSettings settings; QgsLabelingEngineSettings settings;
// default for new projects should be placement engine v1 (for now!) // default for new projects should be placement engine v2
QCOMPARE( settings.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion1 ); QCOMPARE( settings.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion2 );
settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysText ); settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysText );
QCOMPARE( settings.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysText ); QCOMPARE( settings.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysText );
settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysOutlines ); settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysOutlines );
QCOMPARE( settings.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysOutlines ); QCOMPARE( settings.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysOutlines );
settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion2 ); settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion1 );
QCOMPARE( settings.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion2 ); QCOMPARE( settings.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion1 );
settings.setFlag( QgsLabelingEngineSettings::DrawUnplacedLabels, true ); settings.setFlag( QgsLabelingEngineSettings::DrawUnplacedLabels, true );
QVERIFY( settings.testFlag( QgsLabelingEngineSettings::DrawUnplacedLabels ) ); QVERIFY( settings.testFlag( QgsLabelingEngineSettings::DrawUnplacedLabels ) );
@ -159,7 +159,7 @@ void TestQgsLabelingEngine::testEngineSettings()
settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysText ); settings.setDefaultTextRenderFormat( QgsRenderContext::TextFormatAlwaysText );
settings.setFlag( QgsLabelingEngineSettings::DrawUnplacedLabels, true ); settings.setFlag( QgsLabelingEngineSettings::DrawUnplacedLabels, true );
settings.setUnplacedLabelColor( QColor( 0, 255, 0 ) ); settings.setUnplacedLabelColor( QColor( 0, 255, 0 ) );
settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion2 ); settings.setPlacementVersion( QgsLabelingEngineSettings::PlacementEngineVersion1 );
settings.writeSettingsToProject( &p ); settings.writeSettingsToProject( &p );
QgsLabelingEngineSettings settings2; QgsLabelingEngineSettings settings2;
settings2.readSettingsFromProject( &p ); settings2.readSettingsFromProject( &p );
@ -173,7 +173,7 @@ void TestQgsLabelingEngine::testEngineSettings()
settings2.readSettingsFromProject( &p ); settings2.readSettingsFromProject( &p );
QCOMPARE( settings2.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysOutlines ); QCOMPARE( settings2.defaultTextRenderFormat(), QgsRenderContext::TextFormatAlwaysOutlines );
QVERIFY( !settings2.testFlag( QgsLabelingEngineSettings::DrawUnplacedLabels ) ); QVERIFY( !settings2.testFlag( QgsLabelingEngineSettings::DrawUnplacedLabels ) );
QCOMPARE( settings2.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion2 ); QCOMPARE( settings2.placementVersion(), QgsLabelingEngineSettings::PlacementEngineVersion1 );
// test that older setting is still respected as a fallback // test that older setting is still respected as a fallback
QgsProject p2; QgsProject p2;