GeoLocationDlg::GeoLocationDlg(QList<PsiAccount*> list) : QDialog(0), pa_(list) { setAttribute(Qt::WA_DeleteOnClose); if(pa_.isEmpty()) close(); ui_.setupUi(this); setWindowIcon(IconsetFactory::icon("system/geolocation").icon()); setModal(false); connect(ui_.pb_cancel, SIGNAL(clicked()), SLOT(close())); connect(ui_.pb_ok, SIGNAL(clicked()), SLOT(setGeoLocation())); connect(ui_.pb_reset, SIGNAL(clicked()), SLOT(reset())); PsiAccount *pa = pa_.first(); GeoLocation geoloc = pa->geolocation(); if(geoloc.isNull()) return; if (geoloc.alt().hasValue()) ui_.le_altitude->setText(QString::number(geoloc.alt().value())); if (!geoloc.area().isEmpty()) ui_.le_area->setText(geoloc.area()); if (geoloc.bearing().hasValue()) ui_.le_bearing->setText(QString::number(geoloc.bearing().value())); if (!geoloc.building().isEmpty()) ui_.le_building->setText(geoloc.building()); if (!geoloc.country().isEmpty()) ui_.le_country->setText(geoloc.country()); if (!geoloc.datum().isEmpty()) ui_.le_datum->setText(geoloc.datum()); if (!geoloc.description().isEmpty()) ui_.le_description->setText(geoloc.description()); if (geoloc.error().hasValue()) ui_.le_error->setText(QString::number(geoloc.error().value())); if (!geoloc.floor().isEmpty()) ui_.le_floor->setText(geoloc.floor()); if (geoloc.lat().hasValue()) ui_.le_latitude->setText(QString::number(geoloc.lat().value())); if (!geoloc.locality().isEmpty()) ui_.le_locality->setText(geoloc.locality()); if (geoloc.lon().hasValue()) ui_.le_longitude->setText(QString::number(geoloc.lon().value())); if (!geoloc.postalcode().isEmpty()) ui_.le_postalcode->setText(geoloc.postalcode()); if (!geoloc.region().isEmpty()) ui_.le_region->setText(geoloc.region()); if (!geoloc.room().isEmpty()) ui_.le_room->setText(geoloc.room()); if (!geoloc.street().isEmpty()) ui_.le_street->setText(geoloc.street()); if (!geoloc.text().isEmpty()) ui_.le_text->setText(geoloc.text()); }