void QgsScaleComboBox::updateScales( const QStringList &scales ) { QStringList myScalesList; QString oldScale = currentText(); if ( scales.isEmpty() ) { QSettings settings; QString myScales = settings.value( "Map/scales", PROJECT_SCALES ).toString(); if ( !myScales.isEmpty() ) { myScalesList = myScales.split( "," ); } } else { QStringList::const_iterator scaleIt = scales.constBegin(); for ( ; scaleIt != scales.constEnd(); ++scaleIt ) { myScalesList.append( *scaleIt ); } } blockSignals( true ); clear(); addItems( myScalesList ); setScaleString( oldScale ); blockSignals( false ); }
void QgsScaleComboBox::updateScales( const QStringList &scales ) { QStringList myScalesList; QString oldScale = currentText(); if ( scales.isEmpty() ) { QSettings settings; QString myScales = settings.value( "Map/scales", PROJECT_SCALES ).toString(); if ( !myScales.isEmpty() ) { myScalesList = myScales.split( ',' ); } } else { QStringList::const_iterator scaleIt = scales.constBegin(); for ( ; scaleIt != scales.constEnd(); ++scaleIt ) { myScalesList.append( *scaleIt ); } } QStringList parts; double denominator; bool ok; for ( int i = 0; i < myScalesList.size(); ++i ) { parts = myScalesList[ i ] .split( ':' ); denominator = QLocale::system().toDouble( parts[1], &ok ); if ( ok ) { myScalesList[ i ] = toString( 1.0 / denominator ); } } blockSignals( true ); clear(); addItems( myScalesList ); setScaleString( oldScale ); blockSignals( false ); }
//! Function to set the selected scale from double // @note added in 2.0 void QgsScaleComboBox::setScale( double scale ) { setScaleString( toString( scale ) ); }