Revision control

++ // Copyright (C) 2023 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #ifndef SQLCONVERSATIONMODEL_H
++ #define SQLCONVERSATIONMODEL_H
++
++ #include <QQmlEngine>
++ #include <QSqlTableModel>
++
++ class SqlConversationModel : public QSqlTableModel
++ {
++ Q_OBJECT
++ QML_ELEMENT
++ Q_PROPERTY(QString recipient READ recipient WRITE setRecipient NOTIFY recipientChanged)
++
++ public:
++ SqlConversationModel(QObject *parent = nullptr);
++
++ QString recipient() const;
++ void setRecipient(const QString &recipient);
++
++ QVariant data(const QModelIndex &index, int role) const override;
++ QHash<int, QByteArray> roleNames() const override;
++
++ Q_INVOKABLE void sendMessage(const QString &recipient, const QString &message);
++
++ signals:
++ void recipientChanged();
++
++ private:
++ QString m_recipient;
++ };
++
++ #endif // SQLCONVERSATIONMODEL_H