diff options
author | Olli Werwolff <qt-info@nokia.com> | 2010-11-16 11:57:38 +0100 |
---|---|---|
committer | Olli Werwolff <qt-info@nokia.com> | 2010-11-16 12:01:02 +0100 |
commit | 77936be6bd255ee8198a37f279219a0775919372 (patch) | |
tree | 7f1d91d1f102c915ac975c5ac269094e5519e76a | |
parent | 38ee20b22aa96d27249525ec4fd3f78727c47f59 (diff) |
Use QLocale for input/output conversion in gui
When setting/reading values to/from LineEdits QLocale should be used
in order to avoid country specific conversion problems (, and . in real
numbers).
Reviewed-by: ckamm
-rw-r--r-- | library/components/locationui.cpp | 79 |
1 files changed, 41 insertions, 38 deletions
diff --git a/library/components/locationui.cpp b/library/components/locationui.cpp index 152c504..5e284f6 100644 --- a/library/components/locationui.cpp +++ b/library/components/locationui.cpp @@ -249,15 +249,16 @@ void LocationUi::setLocation(const LocationData &location) void LocationUi::setDisplayedLocation(const LocationData &location) { - mLatitudeEdit->setText(QString::number(location.latitude, 'f', 8)); - mLongitudeEdit->setText(QString::number(location.longitude, 'f', 8)); - mAltitudeEdit->setText(QString::number(location.altitude, 'f', 8)); - mDirectionEdit->setText(QString::number(location.direction, 'f', 2)); - mGroundSpeedEdit->setText(QString::number(location.groundSpeed, 'f', 2)); - mVerticalSpeedEdit->setText(QString::number(location.verticalSpeed, 'f', 2)); - mMagneticVariationEdit->setText(QString::number(location.magneticVariation, 'f', 2)); - mHorizontalAccuracyEdit->setText(QString::number(location.horizontalAccuracy, 'f', 2)); - mVerticalAccuracyEdit->setText(QString::number(location.verticalAccuracy, 'f', 2)); + QLocale locale; + mLatitudeEdit->setText(locale.toString(location.latitude, 'f', 8)); + mLongitudeEdit->setText(locale.toString(location.longitude, 'f', 8)); + mAltitudeEdit->setText(locale.toString(location.altitude, 'f', 8)); + mDirectionEdit->setText(locale.toString(location.direction, 'f', 8)); + mGroundSpeedEdit->setText(locale.toString(location.groundSpeed, 'f', 8)); + mVerticalSpeedEdit->setText(locale.toString(location.verticalSpeed, 'f', 8)); + mMagneticVariationEdit->setText(locale.toString(location.magneticVariation, 'f', 8)); + mHorizontalAccuracyEdit->setText(locale.toString(location.horizontalAccuracy, 'f', 8)); + mVerticalAccuracyEdit->setText(locale.toString(location.verticalAccuracy, 'f', 8)); mTimeEdit->setDateTime(location.timestamp); mCurrentRadio->setChecked(location.useCurrentTime); } @@ -296,10 +297,11 @@ void LocationUi::showSatelliteInfo() if (!editingEnabled) return; - int currentSatellite = satellitePrns->currentText().toInt(); - satelliteAzimuth->setText(QString::number(mScriptInterface->azimuth(currentSatellite))); - satelliteElevation->setText(QString::number(mScriptInterface->elevation(currentSatellite))); - satelliteSignalStrength->setText(QString::number(mScriptInterface->signalStrength(currentSatellite))); + QLocale locale; + int currentSatellite = locale.toInt(satellitePrns->currentText()); + satelliteAzimuth->setText(locale.toString(mScriptInterface->azimuth(currentSatellite))); + satelliteElevation->setText(locale.toString(mScriptInterface->elevation(currentSatellite))); + satelliteSignalStrength->setText(locale.toString(mScriptInterface->signalStrength(currentSatellite))); satelliteInUse->setChecked(mScriptInterface->inUse(currentSatellite)); } @@ -308,13 +310,14 @@ void LocationUi::editSatelliteInfo() if (satellitePrns->count() == 0) return; - int currentSatellite = satellitePrns->currentText().toInt(); + QLocale locale; + int currentSatellite = locale.toInt(satellitePrns->currentText()); for (int i = 0; i < mSatelliteData.satellites.count(); i++) { SatelliteData::SatelliteInfo info = mSatelliteData.satellites[i]; if (info.prn == currentSatellite) { - info.azimuth = satelliteAzimuth->text().toDouble(); - info.elevation = satelliteElevation->text().toDouble(); - info.signalStrength = satelliteSignalStrength->text().toInt(); + info.azimuth = locale.toDouble(satelliteAzimuth->text()); + info.elevation = locale.toDouble(satelliteElevation->text()); + info.signalStrength = locale.toInt(satelliteSignalStrength->text()); info.inUse = satelliteInUse->isChecked(); mSatelliteData.satellites[i] = info; emitSatelliteDataChange(); @@ -328,7 +331,7 @@ void LocationUi::updateSatelliteList(int satelliteToShow) satellitePrns->clear(); for (int i = 0; i < mSatelliteData.satellites.count(); i++) { SatelliteData::SatelliteInfo satelliteInfo = mSatelliteData.satellites.at(i); - satellitePrns->addItem(QString::number(satelliteInfo.prn)); + satellitePrns->addItem(QLocale().toString(satelliteInfo.prn)); if (satelliteInfo.prn == satelliteToShow) satellitePrns->setCurrentIndex(i); @@ -356,7 +359,7 @@ void LocationUi::changeSatellitePrnClicked() if (satellitePrns->count() == 0) return; - int oldPrn = satellitePrns->currentText().toInt(); + int oldPrn = QLocale().toInt(satellitePrns->currentText()); int newPrn = QInputDialog::getInt(0, "Change Satellite's PRN", "Enter the new PRN:", oldPrn, 0); @@ -403,7 +406,7 @@ void LocationUi::removeSatelliteClicked() if (satellitePrns->count() == 0) return; - removeDisplayedSatellite(satellitePrns->currentText().toInt()); + removeDisplayedSatellite(QLocale().toInt(satellitePrns->currentText())); emitSatelliteDataChange(); } @@ -465,117 +468,117 @@ bool LocationScriptInterface::inUse(int satellite) const double LocationScriptInterface::latitude() const { - return ui->mLatitudeEdit->text().toDouble(); + return QLocale().toDouble(ui->mLatitudeEdit->text()); } void LocationScriptInterface::setLatitude(double l) { if (latitude() != l) { - ui->mLatitudeEdit->setText(QString::number(l, 'f', 8)); + ui->mLatitudeEdit->setText(QLocale().toString(l, 'f', 8)); ui->emitLocationChange(); } } double LocationScriptInterface::longitude() const { - return ui->mLongitudeEdit->text().toDouble(); + return QLocale().toDouble(ui->mLongitudeEdit->text()); } void LocationScriptInterface::setLongitude(double l) { if (longitude() != l) { - ui->mLongitudeEdit->setText(QString::number(l, 'f', 8)); + ui->mLongitudeEdit->setText(QLocale().toString(l, 'f', 8)); ui->emitLocationChange(); } } double LocationScriptInterface::altitude() const { - return ui->mAltitudeEdit->text().toDouble(); + return QLocale().toDouble(ui->mAltitudeEdit->text()); } void LocationScriptInterface::setAltitude(double a) { if (altitude() != a) { - ui->mAltitudeEdit->setText(QString::number(a, 'f', 8)); + ui->mAltitudeEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::direction() const { - return ui->mDirectionEdit->text().toDouble(); + return QLocale().toDouble(ui->mDirectionEdit->text()); } void LocationScriptInterface::setDirection(qreal a) { if (direction() != a) { - ui->mDirectionEdit->setText(QString::number(a, 'f', 8)); + ui->mDirectionEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::groundSpeed() const { - return ui->mGroundSpeedEdit->text().toDouble(); + return QLocale().toDouble(ui->mGroundSpeedEdit->text()); } void LocationScriptInterface::setGroundSpeed(qreal a) { if (groundSpeed() != a) { - ui->mGroundSpeedEdit->setText(QString::number(a, 'f', 8)); + ui->mGroundSpeedEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::verticalSpeed() const { - return ui->mVerticalSpeedEdit->text().toDouble(); + return QLocale().toDouble(ui->mVerticalSpeedEdit->text()); } void LocationScriptInterface::setVerticalSpeed(qreal a) { if (verticalSpeed() != a) { - ui->mVerticalSpeedEdit->setText(QString::number(a, 'f', 8)); + ui->mVerticalSpeedEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::magneticVariation() const { - return ui->mMagneticVariationEdit->text().toDouble(); + return QLocale().toDouble(ui->mMagneticVariationEdit->text()); } void LocationScriptInterface::setMagneticVariation(qreal a) { if (magneticVariation() != a) { - ui->mMagneticVariationEdit->setText(QString::number(a, 'f', 8)); + ui->mMagneticVariationEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::horizontalAccuracy() const { - return ui->mHorizontalAccuracyEdit->text().toDouble(); + return QLocale().toDouble(ui->mHorizontalAccuracyEdit->text()); } void LocationScriptInterface::setHorizontalAccuracy(qreal a) { if (horizontalAccuracy() != a) { - ui->mHorizontalAccuracyEdit->setText(QString::number(a, 'f', 8)); + ui->mHorizontalAccuracyEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } qreal LocationScriptInterface::verticalAccuracy() const { - return ui->mVerticalAccuracyEdit->text().toDouble(); + return QLocale().toDouble(ui->mVerticalAccuracyEdit->text()); } void LocationScriptInterface::setVerticalAccuracy(qreal a) { if (verticalAccuracy() != a) { - ui->mVerticalAccuracyEdit->setText(QString::number(a, 'f', 8)); + ui->mVerticalAccuracyEdit->setText(QLocale().toString(a, 'f', 8)); ui->emitLocationChange(); } } |