Affichage des 4 domaines (circuit/batterie/capteur/reservoir) + commande circuit. Modèles d'éléments séparés par domaine (piège des rôles QML figés)

This commit is contained in:
2026-08-14 13:06:13 +02:00
parent c522391643
commit f807c2b320
3 changed files with 191 additions and 72 deletions
+23 -4
View File
@@ -18,7 +18,7 @@ void DataProvider::get_familles(const QString &type)
url.setQuery(query);
auto reply = m_manager.get(QNetworkRequest(url));
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
connect(reply, &QNetworkReply::finished, this, [this, reply, type]() {
reply->deleteLater();
if (reply->error() != QNetworkReply::NoError) {
emit erreur(reply->errorString());
@@ -30,7 +30,7 @@ void DataProvider::get_familles(const QString &type)
emit erreur(obj["message"].toString());
return;
}
emit famillesRecues(obj["familles"].toArray());
emit famillesRecues(type, obj["familles"].toArray());
});
}
@@ -43,7 +43,7 @@ void DataProvider::get_elements(const QString &type, int famille)
url.setQuery(query);
auto reply = m_manager.get(QNetworkRequest(url));
connect(reply, &QNetworkReply::finished, this, [this, reply]() {
connect(reply, &QNetworkReply::finished, this, [this, reply, type, famille]() {
reply->deleteLater();
if (reply->error() != QNetworkReply::NoError) {
emit erreur(reply->errorString());
@@ -55,6 +55,25 @@ void DataProvider::get_elements(const QString &type, int famille)
emit erreur(obj["message"].toString());
return;
}
emit elementsRecus(obj["elements"].toArray());
emit elementsRecus(type, famille, obj["elements"].toArray());
});
}
void DataProvider::set_circuit(int id, int consigne)
{
QUrl url(m_baseUrl + "/elements/circuit/" + QString::number(id));
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
QJsonObject body;
body["consigne"] = consigne;
const QByteArray data = QJsonDocument(body).toJson();
auto reply = m_manager.sendCustomRequest(request, "PATCH", data);
connect(reply, &QNetworkReply::finished, this, [this, reply, id]() {
reply->deleteLater();
const bool succes = (reply->error() == QNetworkReply::NoError);
if (!succes) emit erreur(reply->errorString());
emit circuitModifie(id, succes);
});
}