void QgsProjectionSelectionWidget::setOptionVisible( const QgsProjectionSelectionWidget::CrsOption option, const bool visible ) { int optionIndex = mCrsComboBox->findData( option ); if ( visible && optionIndex < 0 ) { //add missing CRS option switch ( option ) { case QgsProjectionSelectionWidget::LayerCrs: { setLayerCrs( mLayerCrs ); return; } case QgsProjectionSelectionWidget::ProjectCrs: { addProjectCrsOption(); return; } case QgsProjectionSelectionWidget::DefaultCrs: { addDefaultCrsOption(); return; } case QgsProjectionSelectionWidget::CurrentCrs: { addCurrentCrsOption(); return; } case QgsProjectionSelectionWidget::RecentCrs: //recently used CRS option cannot be readded return; case QgsProjectionSelectionWidget::CrsNotSet: { addNotSetOption(); if ( optionVisible( CurrentCrs ) && !mCrs.isValid() ) { // hide invalid option if not set option is shown setOptionVisible( CurrentCrs, false ); } return; } } } else if ( !visible && optionIndex >= 0 ) { //remove CRS option mCrsComboBox->removeItem( optionIndex ); if ( option == CrsNotSet ) { setOptionVisible( CurrentCrs, true ); } } }
void QgsProjectionSelectionWidget::setOptionVisible( const QgsProjectionSelectionWidget::CrsOption option, const bool visible ) { int optionIndex = mCrsComboBox->findData( option ); if ( visible && optionIndex < 0 ) { //add missing CRS option switch ( option ) { case QgsProjectionSelectionWidget::LayerCrs: { setLayerCrs( mLayerCrs ); return; } case QgsProjectionSelectionWidget::ProjectCrs: { addProjectCrsOption(); return; } case QgsProjectionSelectionWidget::DefaultCrs: { addDefaultCrsOption(); return; } case QgsProjectionSelectionWidget::CurrentCrs: case QgsProjectionSelectionWidget::RecentCrs: //current/recently used CRS option cannot be readded return; } } else if ( !visible && optionIndex >= 0 ) { //remove CRS option mCrsComboBox->removeItem( optionIndex ); } }