~aleteoryx/muditaos

ref: sign_test muditaos/module-apps/application-onboarding/windows/UpdateDialogWindow.cpp -rw-r--r-- 1.6 KiB
a217eeb3 — Dawid Wojtas [BH-2024] Fix lack of alarm directory after updating software 1 year, 5 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include "UpdateDialogWindow.hpp"

#include <i18n/i18n.hpp>
#include <Style.hpp>

#include <application-onboarding/ApplicationOnBoarding.hpp>
#include <product/version.hpp>

namespace app::onBoarding
{
    UpdateDialogWindow::UpdateDialogWindow(app::ApplicationCommon *app,
                                           std::unique_ptr<OnBoardingFinalizeContract::Presenter> &&windowPresenter)
        : gui::Dialog(app, gui::window::name::onBoarding_update), presenter(std::move(windowPresenter))
    {
        navBar->setText(gui::nav_bar::Side::Center, utils::translate(style::strings::common::ok));
        navBar->setActive(gui::nav_bar::Side::Right, false);
        presenter->attach(this);
    }

    void UpdateDialogWindow::onBeforeShow(gui::ShowMode mode, gui::SwitchData *data)
    {
        setTitle(utils::translate("app_onboarding_title_update_info"));
        icon->image->set("progress_128px_W_G");
        icon->text->setRichText(utils::translate("app_onboarding_update_info"), {{"$VERSION", std::string(VERSION)}});
    }

    bool UpdateDialogWindow::onInput(const gui::InputEvent &inputEvent)
    {
        if (inputEvent.isShortRelease()) {
            if (inputEvent.is(gui::KeyCode::KEY_ENTER)) {
                presenter->finalizeOnBoarding();
                return true;
            }
            if (inputEvent.is(gui::KeyCode::KEY_RF)) {
                return true;
            }
        }
        return AppWindow::onInput(inputEvent);
    }
} // namespace app::onBoarding