~aleteoryx/muditaos

muditaos/module-apps/application-messages/widgets/SMSOutputWidget.hpp -rw-r--r-- 995 bytes
a405cad6Aleteoryx trim readme 6 days 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
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/blob/master/LICENSE.md

#pragma once

#include "Application.hpp"

#include "Text.hpp"
#include "TextBubble.hpp"
#include "Image.hpp"
#include "ListItem.hpp"
#include <BoxLayout.hpp>

namespace gui
{

    class SMSOutputWidget : public ListItem
    {
        HBox *body            = nullptr;
        TextBubble *smsBubble = nullptr;
        Label *timeLabel      = nullptr;
        Image *errorIcon      = nullptr;

        void timeLabelBuild(time_t timestamp);
        void errorIconBuild();
        void positionTimeLabel() const;

      public:
        gui::Text *inputText = nullptr;

        SMSOutputWidget(app::ApplicationCommon *application, const std::shared_ptr<SMSRecord> &record);
        virtual ~SMSOutputWidget() = default;

        auto handleRequestResize(const Item *, Length request_w, Length request_h) -> Size override;
    };

} /* namespace gui */