Files
MuditaOS/module-apps/application-messages/models/SMSThreadModel.hpp
Lefucjusz 9b339ecf5b [MOS-1003] Fix automatically marking new message as read
Fix of the issue that after entering messages
app, opening one of the threads and returning
to main messages app window, new messages in
this thread were automatically marked as read.
2023-07-06 17:39:26 +02:00

39 lines
1.2 KiB
C++

// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
#include "SMSInputWidget.hpp"
#include <DatabaseModel.hpp>
#include <Application.hpp>
#include <ListItemProvider.hpp>
#include <Interface/SMSRecord.hpp>
class SMSThreadModel : public app::DatabaseModel<SMSRecord>,
public gui::ListItemProvider,
public app::AsyncCallbackReceiver
{
public:
unsigned int smsThreadID = 0;
gui::SMSInputWidget *smsInput = nullptr;
std::unique_ptr<utils::PhoneNumber::View> number;
unsigned int numberID = DB_ID_NONE;
SMSThreadModel(app::ApplicationCommon *app);
~SMSThreadModel() override;
void addReturnNumber();
void handleDraftMessage();
void resetInputWidget();
void markCurrentThreadAsRead();
auto handleQueryResponse(db::QueryResult *) -> bool;
unsigned int requestRecordsCount() override;
bool updateRecords(std::vector<SMSRecord> records) override;
void requestRecords(std::uint32_t offset, std::uint32_t limit) override;
unsigned int getMinimalItemSpaceRequired() const override;
gui::ListItem *getItem(gui::Order order) override;
};