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(); }
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(); }