// MailItemModel.h
#ifndef MAILITEMMODEL_H
#define MAILITEMMODEL_H

#include <QtCore/QObject>
#include <QtCore/QString>
#include <QtCore/QDateTime>

class MailItemModel : public QObject {
    Q_OBJECT
public:
    explicit MailItemModel(QObject *parent = nullptr);

    // Funcionalidad funcional, no stub. Estos getters y setters son los datos reales que necesitamos.
    void setSubject(const QString& subject);
    QString getSubject() const;

    void setReceivedDate(const QDateTime& date);
    QDateTime getReceivedDate() const;

    void setFromAddress(const QString& from);
    QString getFromAddress() const;

    // Clave crucial para la lista: ¿Está leído? -> Reemplazamos el *stub* con funcionalidad real.
    void setIsRead(bool readStatus); 
    bool isRead() const { return m_isRead; }

private:
    QString m_subject;
    QDateTime m_receivedDate;
    QString m_fromAddress;
    bool m_isRead = false; // Valor por defecto funcional, no un marcador de posición.
};

#endif // MAILITEMMODEL_H