~aleteoryx/muditaos

9bc622888f6436d502513c4425dec246772b1531 — Lukasz Mastalerz 2 years ago 21244a1
[CP-1974] Deleting all templates leaves some text on pure screen

Additional fix, previous one was not working correctly in all scenarios.
M module-apps/application-messages/models/SMSTemplateModel.cpp => module-apps/application-messages/models/SMSTemplateModel.cpp +3 -5
@@ 20,11 20,9 @@ unsigned int SMSTemplateModel::requestRecordsCount()

bool SMSTemplateModel::updateRecords(std::vector<SMSTemplateRecord> records)
{
    if (DatabaseModel::updateRecords(std::move(records))) {
        list->onProviderDataUpdate();
        return true;
    }
    return false;
    DatabaseModel::updateRecords(std::move(records));
    list->onProviderDataUpdate();
    return true;
}

unsigned int SMSTemplateModel::getMinimalItemSpaceRequired() const

M module-apps/application-messages/windows/SMSTemplatesWindow.cpp => module-apps/application-messages/windows/SMSTemplatesWindow.cpp +16 -10
@@ 44,6 44,7 @@ namespace gui

        navBar->setText(nav_bar::Side::Center, utils::translate(style::strings::common::use));
        navBar->setText(nav_bar::Side::Right, utils::translate(style::strings::common::back));
        navBar->setActive(nav_bar::Side::Right, true);

        namespace style = style::messages::templates::list;



@@ 61,6 62,19 @@ namespace gui
                                 utils::translate("app_messages_no_templates"));
        emptyListIcon->setVisible(false);

        list->setVisible(true);

        list->emptyListCallback = [this]() {
            emptyListIcon->setVisible(true);
            navBar->setActive(nav_bar::Side::Center, false);
            application->refreshWindow(gui::RefreshModes::GUI_REFRESH_DEEP);
        };

        list->notEmptyListCallback = [this]() {
            emptyListIcon->setVisible(false);
            navBar->setActive(nav_bar::Side::Center, true);
            application->refreshWindow(gui::RefreshModes::GUI_REFRESH_DEEP);
        };
        setFocusItem(list);
    }



@@ 104,16 118,6 @@ namespace gui
    void SMSTemplatesWindow::onBeforeShow(ShowMode mode, SwitchData *data)
    {
        preventsAutoLock = false;
        if (mode == ShowMode::GUI_SHOW_INIT) {
            list->rebuildList();
        }

        if (list->isEmpty()) {
            list->clear();
        }

        navBar->setActive(nav_bar::Side::Center, !list->isEmpty());
        emptyListIcon->setVisible(list->isEmpty());

        if (auto switchData = dynamic_cast<SMSTemplateRequest *>(data)) {
            smsTemplateRequestHandler(switchData);


@@ 123,6 127,8 @@ namespace gui
            saveInfoAboutPreviousAppForProperSwitchBack(data);
            smsSendTemplateRequestHandler(switchData);
        }

        list->rebuildList(listview::RebuildType::InPlace);
    }

    bool SMSTemplatesWindow::onInput(const InputEvent &inputEvent)