diff --git a/kmymoney/mymoney/mymoneycontact.h b/kmymoney/mymoney/mymoneycontact.h --- a/kmymoney/mymoney/mymoneycontact.h +++ b/kmymoney/mymoney/mymoneycontact.h @@ -31,6 +31,8 @@ QString email; QString phoneNumber; QString street; + QString city; + QString state; QString locality; QString country; QString region; diff --git a/kmymoney/views/kpayeesview.cpp b/kmymoney/views/kpayeesview.cpp --- a/kmymoney/views/kpayeesview.cpp +++ b/kmymoney/views/kpayeesview.cpp @@ -290,6 +290,10 @@ d->ui->addressEdit->setEnabled(true); d->ui->addressEdit->setText(d->m_payee.address()); + d->ui->payeecityEdit->setEnabled(true); + d->ui->payeecityEdit->setText(d->m_payee.city()); + d->ui->payeestateEdit->setEnabled(true); + d->ui->payeestateEdit->setText(d->m_payee.state()); d->ui->postcodeEdit->setEnabled(true); d->ui->postcodeEdit->setText(d->m_payee.postcode()); d->ui->telephoneEdit->setEnabled(true); @@ -349,6 +353,10 @@ || (!d->ui->emailEdit->text().isEmpty() && d->m_payee.email() != d->ui->emailEdit->text())); rc |= ((d->m_payee.address().isEmpty() != d->ui->addressEdit->toPlainText().isEmpty()) || (!d->ui->addressEdit->toPlainText().isEmpty() && d->m_payee.address() != d->ui->addressEdit->toPlainText())); + rc |= ((d->m_payee.city().isEmpty() != d->ui->payeecityEdit->text().isEmpty()) + || (!d->ui->payeecityEdit->text().isEmpty() && d->m_payee.city() != d->ui->payeecityEdit->text())); + rc |= ((d->m_payee.state().isEmpty() != d->ui->payeestateEdit->text().isEmpty()) + || (!d->ui->payeestateEdit->text().isEmpty() && d->m_payee.state() != d->ui->payeestateEdit->text())); rc |= ((d->m_payee.postcode().isEmpty() != d->ui->postcodeEdit->text().isEmpty()) || (!d->ui->postcodeEdit->text().isEmpty() && d->m_payee.postcode() != d->ui->postcodeEdit->text())); rc |= ((d->m_payee.telephone().isEmpty() != d->ui->telephoneEdit->text().isEmpty()) @@ -411,6 +419,8 @@ try { d->m_payee.setName(d->m_newName); d->m_payee.setAddress(d->ui->addressEdit->toPlainText()); + d->m_payee.setCity(d->ui->payeecityEdit->text()); + d->m_payee.setState(d->ui->payeestateEdit->text()); d->m_payee.setPostcode(d->ui->postcodeEdit->text()); d->m_payee.setTelephone(d->ui->telephoneEdit->text()); d->m_payee.setEmail(d->ui->emailEdit->text()); @@ -451,6 +461,8 @@ if (auto item = dynamic_cast(d->ui->m_payeesList->currentItem())) { // update ui if something is selected d->m_payee = item->payee(); d->ui->addressEdit->setText(d->m_payee.address()); + d->ui->payeecityEdit->setText(d->m_payee.city()); + d->ui->payeestateEdit->setText(d->m_payee.state()); d->ui->postcodeEdit->setText(d->m_payee.postcode()); d->ui->telephoneEdit->setText(d->m_payee.telephone()); } @@ -475,8 +487,8 @@ txt.append(identity.street + '\n'); if (!identity.locality.isEmpty()) { txt.append(identity.locality); - if (!identity.postalCode.isEmpty()) - txt.append(' ' + identity.postalCode + '\n'); + if (!identity.postalCode.isEmpty()) + txt.append(' ' + identity.postalCode + '\n'); else txt.append('\n'); } @@ -486,6 +498,12 @@ if (!txt.isEmpty() && d->m_payee.address().compare(txt) != 0) d->m_payee.setAddress(txt); + if (!identity.city.isEmpty() && d->m_payee.city().compare(identity.city) != 0) + d->m_payee.setCity(identity.city); + + if (!identity.state.isEmpty() && d->m_payee.state().compare(identity.state) != 0) + d->m_payee.setState(identity.state); + if (!identity.postalCode.isEmpty() && d->m_payee.postcode().compare(identity.postalCode) != 0) d->m_payee.setPostcode(identity.postalCode); diff --git a/kmymoney/views/kpayeesview.ui b/kmymoney/views/kpayeesview.ui --- a/kmymoney/views/kpayeesview.ui +++ b/kmymoney/views/kpayeesview.ui @@ -164,7 +164,7 @@ 4 - + @@ -187,6 +187,50 @@ + + + + 0 + 0 + + + + + 90 + 0 + + + + City: + + + false + + + + + + + + 0 + 0 + + + + + 90 + 0 + + + + State: + + + false + + + + @@ -208,7 +252,7 @@ - + @@ -230,7 +274,7 @@ - + @@ -255,7 +299,7 @@ - + @@ -283,7 +327,7 @@ - + Creates new e-mail to your payee. @@ -296,10 +340,16 @@ - + + + + + + + @@ -312,7 +362,7 @@ - + @@ -576,6 +626,8 @@ m_mergeButton m_filterBox addressEdit + payeecityEdit + payeestateEdit postcodeEdit telephoneEdit emailEdit diff --git a/kmymoney/views/kpayeesview_p.h b/kmymoney/views/kpayeesview_p.h --- a/kmymoney/views/kpayeesview_p.h +++ b/kmymoney/views/kpayeesview_p.h @@ -227,6 +227,8 @@ q->connect(ui->m_mergeButton, &QAbstractButton::clicked, q, &KPayeesView::slotMergePayee); q->connect(ui->addressEdit, &QTextEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); + q->connect(ui->payeecityEdit, &QLineEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); + q->connect(ui->payeestateEdit, &QLineEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); q->connect(ui->postcodeEdit, &QLineEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); q->connect(ui->telephoneEdit, &QLineEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); q->connect(ui->emailEdit, &QLineEdit::textChanged, q, &KPayeesView::slotPayeeDataChanged); @@ -358,6 +360,8 @@ void clearItemData() { ui->addressEdit->setText(QString()); + ui->payeecityEdit->setText(QString()); + ui->payeestateEdit->setText(QString()); ui->postcodeEdit->setText(QString()); ui->telephoneEdit->setText(QString()); ui->emailEdit->setText(QString());