Skip to content

Commit

Permalink
Only expose a single "default ellipsoid" option: planimetric or not
Browse files Browse the repository at this point in the history
  • Loading branch information
m-kuhn committed Jul 30, 2019
1 parent 4cd2812 commit 845c9cd
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 75 deletions.
8 changes: 4 additions & 4 deletions src/app/qgisapp.cpp
Expand Up @@ -5514,10 +5514,10 @@ bool QgisApp::fileNew( bool promptToSaveFlag, bool forceBlank )
// set project CRS
const QgsCoordinateReferenceSystem srs = QgsCoordinateReferenceSystem( settings.value( QStringLiteral( "/projections/defaultProjectCrs" ), GEO_EPSG_CRS_AUTHID, QgsSettings::App ).toString() );
// write the projections _proj string_ to project settings
const bool ellipsoidFollowProjectCrs = settings.value( QStringLiteral( "/qgis/measure/followProjectCrs" ), true ).toBool();
prj->setCrs( srs, ellipsoidFollowProjectCrs );
if ( !ellipsoidFollowProjectCrs )
prj->setEllipsoid( settings.value( QStringLiteral( "/qgis/measure/defaultCrs" ), GEO_NONE ).toString() );
const bool planimetric = settings.value( QStringLiteral( "/qgis/measure/planimetric" ), true ).toBool();
prj->setCrs( srs );
if ( planimetric )
prj->setEllipsoid( GEO_NONE );

/* New Empty Project Created
(before attempting to load custom project templates/filepaths) */
Expand Down
22 changes: 2 additions & 20 deletions src/app/qgsoptions.cpp
Expand Up @@ -83,9 +83,6 @@

#include "qgsconfig.h"

// TODO Move to generic place
const char *QgsOptions::GEO_NONE_DESC = QT_TRANSLATE_NOOP( "QgsOptions", "None / Planimetric" );

/**
* \class QgsOptions - Set user options and preferences
* Constructor
Expand Down Expand Up @@ -559,10 +556,7 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
{
mKeepBaseUnitCheckBox->setChecked( false );
}
initEllipsoidList();
mOverrideDefaultEllipsoid->setChecked( !mSettings->value( QStringLiteral( "/qgis/measure/followProjectCrs" ), true ).toBool() );
const QString defaultEllipsoid = mSettings->value( QStringLiteral( "/qgis/measure/defaultCrs" ), GEO_NONE ).toString();
mEllipsoidComboBox->setCurrentIndex( mEllipsoidComboBox->findData( defaultEllipsoid ) );
mPlanimetricMeasurementsComboBox->setChecked( mSettings->value( QStringLiteral( "/qgis/measure/planimetric" ), false ).toBool() );

cmbIconSize->setCurrentIndex( cmbIconSize->findText( mSettings->value( QStringLiteral( "qgis/iconSize" ), QGIS_ICON_SIZE ).toString() ) );

Expand Down Expand Up @@ -1586,8 +1580,7 @@ void QgsOptions::saveOptions()
mSettings->setValue( QStringLiteral( "/projections/promptWhenMultipleTransformsExist" ), mShowDatumTransformDialogCheckBox->isChecked(), QgsSettings::App );

//measurement settings
mSettings->setValue( QStringLiteral( "/qgis/measure/followProjectCrs" ), ! mOverrideDefaultEllipsoid->isChecked() );
mSettings->setValue( QStringLiteral( "/qgis/measure/defaultCrs" ), mEllipsoidComboBox->currentData().toString() );
mSettings->setValue( QStringLiteral( "/qgis/measure/planimetric" ), mPlanimetricMeasurementsComboBox->isChecked() );

QgsUnitTypes::DistanceUnit distanceUnit = static_cast< QgsUnitTypes::DistanceUnit >( mDistanceUnitsComboBox->currentData().toInt() );
mSettings->setValue( QStringLiteral( "/qgis/measure/displayunits" ), QgsUnitTypes::encodeUnit( distanceUnit ) );
Expand Down Expand Up @@ -1912,17 +1905,6 @@ QStringList QgsOptions::i18nList()
return myList;
}

void QgsOptions::initEllipsoidList()
{
mEllipsoidComboBox->addItem( tr( GEO_NONE_DESC ), GEO_NONE );

const auto definitions {QgsEllipsoidUtils::definitions()};
for ( const QgsEllipsoidUtils::EllipsoidDefinition &def : definitions )
{
mEllipsoidComboBox->addItem( def.description, def.acronym );
}
}

void QgsOptions::restoreDefaultWindowState()
{
// richard
Expand Down
4 changes: 0 additions & 4 deletions src/app/qgsoptions.h
Expand Up @@ -230,8 +230,6 @@ class APP_EXPORT QgsOptions : public QgsOptionsDialogBase, private Ui::QgsOption
QgsSettings *mSettings = nullptr;
QStringList i18nList();

void initEllipsoidList();

void initContrastEnhancement( QComboBox *cbox, const QString &name, const QString &defaultVal );
void saveContrastEnhancement( QComboBox *cbox, const QString &name );
void initMinMaxLimits( QComboBox *cbox, const QString &name, const QString &defaultVal );
Expand Down Expand Up @@ -270,8 +268,6 @@ class APP_EXPORT QgsOptions : public QgsOptionsDialogBase, private Ui::QgsOption

void checkPageWidgetNameMap();

static const char *GEO_NONE_DESC;

friend class QgsAppScreenShots;
};

Expand Down
5 changes: 3 additions & 2 deletions src/gui/layertree/qgslayertreemapcanvasbridge.cpp
Expand Up @@ -116,8 +116,9 @@ void QgsLayerTreeMapCanvasBridge::setCanvasLayers()
{
case QgsGui::UseCrsOfFirstLayerAdded:
{
const bool ellipsoidFollowProjectCrs = QgsSettings().value( QStringLiteral( "/qgis/measure/followProjectCrs" ), true ).toBool();
QgsProject::instance()->setCrs( mFirstCRS, ellipsoidFollowProjectCrs );
const bool planimetric = QgsSettings().value( QStringLiteral( "/qgis/measure/planimetric" ), true ).toBool();
// Only adjust ellipsoid to CRS if it's not set to planimetric
QgsProject::instance()->setCrs( mFirstCRS, !planimetric );
break;
}

Expand Down
79 changes: 34 additions & 45 deletions src/ui/qgsoptionsbase.ui
Expand Up @@ -1691,40 +1691,7 @@
</layout>
</widget>
</item>
<item row="4" column="0">
<widget class="QgsCollapsibleGroupBox" name="mDefaultDatumTransformGroupBox">
<property name="title">
<string>Default Datum Transformations</string>
</property>
<layout class="QGridLayout" name="gridLayout_10">
<item row="2" column="0">
<widget class="QLabel" name="label_40">
<property name="text">
<string>Enter default datum transformations which will be used in any newly created project</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="mShowDatumTransformDialogCheckBox">
<property name="text">
<string>Ask for datum transformation if several are available</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QgsDatumTransformTableWidget" name="mDefaultDatumTransformTableWidget" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="5" column="0">
<item row="6" column="0">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
Expand Down Expand Up @@ -1793,24 +1760,46 @@
</layout>
</widget>
</item>
<item row="5" column="0">
<widget class="QGroupBox" name="mOverrideDefaultEllipsoid">
<property name="toolTip">
<string>If the default ellipsoid is disabled, the project will take the ellipsoid imposed by the project CRS.</string>
</property>
<item row="4" column="0">
<widget class="QgsCollapsibleGroupBox" name="mDefaultDatumTransformGroupBox">
<property name="title">
<string>Default Ellipsoid for Measurement</string>
</property>
<property name="checkable">
<bool>true</bool>
<string>Default Datum Transformations</string>
</property>
<layout class="QGridLayout" name="gridLayout_30">
<layout class="QGridLayout" name="gridLayout_10">
<item row="2" column="0">
<widget class="QLabel" name="label_40">
<property name="text">
<string>Enter default datum transformations which will be used in any newly created project</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QComboBox" name="mEllipsoidComboBox"/>
<widget class="QCheckBox" name="mShowDatumTransformDialogCheckBox">
<property name="text">
<string>Ask for datum transformation if several are available</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QgsDatumTransformTableWidget" name="mDefaultDatumTransformTableWidget" native="true"/>
</item>
</layout>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="mPlanimetricMeasurementsComboBox">
<property name="text">
<string>Planimetric measurements</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
Expand Down

0 comments on commit 845c9cd

Please sign in to comment.