From 1d66d0d21a00bcf8f65f0fdf6bb2367c849a6493 Mon Sep 17 00:00:00 2001 From: Pawel Olejniczak Date: Tue, 27 Apr 2021 21:31:52 +0200 Subject: [PATCH] [EGD-6533] Fix switching window after editing contact After saving edited contact, app was switched to contact lists window instead of contact details. --- .../windows/PhonebookNewContact.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp index 902be093a22cea0610251c26f02ce18c4c6ce0b8..a0ec5dc55b32af70ebe1b1a3b2983ec8d69fd170 100644 --- a/module-apps/application-phonebook/windows/PhonebookNewContact.cpp +++ b/module-apps/application-phonebook/windows/PhonebookNewContact.cpp @@ -162,8 +162,8 @@ namespace gui case DBServiceAPI::ContactVerificationResult::temporaryContactExists: std::unique_ptr tempContact; assert(!contact->numbers.empty()); - for (auto number : contact->numbers) { - if (number.number.getEntered().size() > 0) { + for (const auto &number : contact->numbers) { + if (!number.number.getEntered().empty()) { tempContact = DBServiceAPI::MatchContactByPhoneNumber(application, number.number); if (tempContact != nullptr) { contact->ID = tempContact->ID; @@ -181,7 +181,7 @@ namespace gui // perform actual add/update operation if (contactAction == ContactAction::Add) { - if (DBServiceAPI::ContactAdd(application, *contact) == false) { + if (!DBServiceAPI::ContactAdd(application, *contact)) { LOG_ERROR("verifyAndSave failed to ADD contact"); return false; } @@ -192,10 +192,12 @@ namespace gui contact->groups.erase(ContactsDB::temporaryGroupId()); - if (DBServiceAPI::ContactUpdate(application, *contact) == false) { + if (!DBServiceAPI::ContactUpdate(application, *contact)) { LOG_ERROR("verifyAndSave failed to UPDATE contact"); return false; } + application->switchWindow(gui::window::name::contact, std::move(data)); + return true; } application->switchWindow(gui::name::window::main_window);