void ImageModel::updateRows(const QModelIndex &, int start, int end)
{
    for (int row = start; row <= end; ++row) {
        QJsonValue rowData = EnginioModel::data(index(row)).value<QJsonValue>();
        QString id = rowData.toObject().value("id").toString();
        if (id.isEmpty() || m_images.contains(id))
            continue;
        ImageObject *image = new ImageObject(client());
        connect(image, SIGNAL(imageChanged(QString)), this, SLOT(imageChanged(QString)));
        m_images.insert(id, image);
        image->setObject(rowData.toObject());
        QModelIndex changedIndex = index(row);
        emit dataChanged(changedIndex, changedIndex);
    }
}