X-Git-Url: http://git.maemo.org/git/?p=jenirok;a=blobdiff_plain;f=src%2Fgui%2Fdetailwindow.cpp;h=4d6107d4faf55f083796692f7799353f7b8f27f1;hp=f7088c2baace112d19f86cabc8f9d469621e3b19;hb=f99718e69b270a89094113a26b22c694b79382f0;hpb=71ac726571baae82abd4a8411f3f9e8f85dcfb0e diff --git a/src/gui/detailwindow.cpp b/src/gui/detailwindow.cpp index f7088c2..4d6107d 100644 --- a/src/gui/detailwindow.cpp +++ b/src/gui/detailwindow.cpp @@ -154,9 +154,11 @@ void DetailWindow::addToContacts() ContactManager cm; ContactManager::Contact contact; - getDetails(contact.street, contact.streetNumber, - contact.zipCode, contact.city); - contact.name = addContactInput_->text(); + QString number; + QString street; + getDetails(street, number, + contact.zipCode, contact.city, contact.street); + ContactManager::stringToName(addContactInput_->text(), contact.name); contact.number = numberButton_->valueText(); contact.country = country_; @@ -222,10 +224,13 @@ void DetailWindow::openMaps() OviMaps maps; OviMaps::Address addr; + QString streetAndNumber; getDetails(addr.street, addr.number, - addr.zipCode, addr.city); + addr.zipCode, addr.city, streetAndNumber); addr.country = country_; + //qDebug() << addr.street << addr.number << addr.zipCode << addr.city << addr.country; + if(!maps.openMaps(addr)) { QMaemo5InformationBox::information(this, tr("Unable to find coordinates for address.")); @@ -235,12 +240,16 @@ void DetailWindow::openMaps() } void DetailWindow::getDetails(QString& street, QString& streetNumber, - QString& zip, QString& city) + QString& zip, QString& city, QString& streetAndNumber) { int pos = 0; QString streetVal = streetButton_->valueText(); + streetVal = streetVal.replace("Str.", QString::fromUtf8("Straße")); + streetVal = streetVal.replace("str.", QString::fromUtf8("straße")); + streetAndNumber = streetVal; QString cityVal = cityButton_->valueText(); + city = cityVal; QStringList words = streetVal.split(" ", QString::SkipEmptyParts); @@ -270,6 +279,17 @@ void DetailWindow::getDetails(QString& street, QString& streetNumber, } } + if(streetNumber.isEmpty()) + { + static QRegExp addrCheck(" ([0-9]+)"); + + if((pos = addrCheck.indexIn(street)) != -1) + { + streetNumber = addrCheck.cap(1); + street = street.left(pos); + } + } + streetNumber = streetNumber.trimmed(); street = street.trimmed();