예제 #1
0
void Decision::setWriteIns(QVariantList newWriteIns)
{
    if (newWriteIns == writeIns())
        return;

    auto writeInList = m_decision.initWriteIns(newWriteIns.size());
    for (::UnsignedContest::Contestant::Builder writeInBuilder : writeInList) {
        auto writeIn = newWriteIns.takeFirst().toMap();
        writeInBuilder.setName(writeIn["name"].toString().toStdString());
        writeInBuilder.setDescription(writeIn["description"].toString().toStdString());
    }

    emit writeInsChanged();
}
예제 #2
0
void Decision::setWriteIns(QJSValue newWriteIns)
{
    if (newWriteIns.strictlyEquals(this->writeIns()))
        return;
    if (!newWriteIns.isArray()) {
        qDebug() << "Cannot set write-ins because it is not an array.";
        return;
    }

    auto writeInList = m_decision.initWriteIns(newWriteIns.property("length").toInt());
    QJSValueIterator itr(newWriteIns);
    for (::UnsignedContest::Contestant::Builder writeInBuilder : writeInList) {
        itr.next();
        writeInBuilder.setName(itr.value().property("name").toString().toStdString());
        writeInBuilder.setDescription(itr.value().property("description").toString().toStdString());
    }

    emit writeInsChanged();
}