~aleteoryx/muditaos

ref: eb5f831db9b3c75aa72a8c49420369ad6b10ce7d muditaos/module-apps/application-desktop/windows/Update.hpp -rw-r--r-- 1.2 KiB
eb5f831d — Roman Kubiak [EGD-3506]: removed stale include from update window 5 years 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
44
45
#pragma once

#include <vector>
#include "AppWindow.hpp"
#include "gui/widgets/Label.hpp"
#include "gui/widgets/TextFixedSize.hpp"
#include "gui/widgets/Image.hpp"
#include "gui/widgets/BottomBar.hpp"

namespace gui
{
    class UpdateWindow : public AppWindow
    {

        enum class State
        {
            UpdateNow,
            Return,
        };

        gui::Label *titleLabel    = nullptr;
        gui::Label *infoLabel     = nullptr;
        gui::Label *detailLabel   = nullptr;
        gui::Label *percentLabel  = nullptr;

        gui::Label *currentVersionInfo    = nullptr;
        gui::Label *updateVersionInfo    = nullptr;
        gui::Label *updateDetails    = nullptr;

        std::vector<gui::Label *> selectionLabels;
        State state                = State::Return;
        int progressPercent = 0;
      public:
        UpdateWindow(app::Application *app);
        void onBeforeShow(ShowMode mode, SwitchData *data) override;
        bool onInput(const InputEvent &inputEvent) override;
        bool handleSwitchData(SwitchData *data) override;
        void rebuild() override;
        void buildInterface() override;
        void destroyInterface() override;

        fs::path updateFile;
    };

} /* namespace gui */