Files
MuditaOS/module-apps/application-messages/widgets/SMSInputWidget.hpp
Mateusz Grzegorzek 58dd02cff1 [BH-861] Cleanup Application split - part I
1. Prepare Pure and Bell specific `Application`
   classes and add them to `app` target:

- `products/BellHybrid/apps/Application.cpp`
- `products/PurePhone/apps/Application.cpp`

2. Update `CMakeLists.txt` files.
3. Move `ApplicationBell` implementation to Bell-specific
   `Application` class and remove `ApplicationBell` files.
4. Change Bell apps parent classes from `ApplicationBell`
  to Bell-specific `Application` class.
5. Rename `Application` to `ApplicationCommon` in the rest of the files.
2021-09-13 11:58:10 +02:00

40 lines
1.1 KiB
C++

// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "Application.hpp"
#include "Text.hpp"
#include "Image.hpp"
#include "ListItem.hpp"
#include <BoxLayout.hpp>
#include "Interface/SMSRecord.hpp"
namespace gui
{
class SMSInputWidget : public ListItem
{
app::ApplicationCommon *application = nullptr;
HBox *body = nullptr;
gui::Image *replyImage = nullptr;
public:
gui::Text *inputText = nullptr;
std::optional<SMSRecord> draft; // draft message of the thread we are showing, if exists.
std::unique_ptr<utils::PhoneNumber::View> number = nullptr;
SMSInputWidget(app::ApplicationCommon *application);
~SMSInputWidget() override = default;
void handleDraftMessage();
void clearDraftMessage();
void updateDraftMessage(const UTF8 &inputText);
void displayDraftMessage() const;
auto handleRequestResize(const Item *, Length request_w, Length request_h) -> Size override;
};
} /* namespace gui */