~aleteoryx/muditaos

899441a99d275daf1b55607bff6e1704cec54c1b — Pawel Olejniczak 4 years ago a68b5bc
[EGD-7699] Fix switching back after adding a contact

Always ignore add/edit contact window when switching
back after contact addition/edition.
Additionally always switch to contact details
after add/edit operation.
1 files changed, 3 insertions(+), 7 deletions(-)

M module-apps/application-phonebook/windows/PhonebookNewContact.cpp
M module-apps/application-phonebook/windows/PhonebookNewContact.cpp => module-apps/application-phonebook/windows/PhonebookNewContact.cpp +3 -7
@@ 176,20 176,16 @@ namespace gui
            }
        }
        else if (contactAction == ContactAction::Edit || contactAction == ContactAction::EditTemporary) {
            std::unique_ptr<gui::SwitchData> data = std::make_unique<PhonebookItemData>(contact);
            data->ignoreCurrentWindowOnStack      = true;

            contact->groups.erase(ContactsDB::temporaryGroupId());

            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);
        std::unique_ptr<gui::SwitchData> data = std::make_unique<PhonebookItemData>(contact);
        data->ignoreCurrentWindowOnStack      = true;
        application->switchWindow(gui::window::name::contact, std::move(data));
        return true;
    } // namespace gui