void Questions::addQuest(Quest& quest) { if (!quest.valid()) return; int level = quest.level - 1; Q_ASSERT(level < MAX_QUEST_LIST && level >= 0); questVector.push_back(quest); }
void Questions::readQuestion(QXmlStreamReader& load) { Quest q; //wyszukiwanie elementów w pętli do { if (load.isStartElement()) { if (load.name() == "level") { q.level = load.readElementText().toInt(); } else if (load.name() == "question") { q.question = load.readElementText(); } else if (load.name() == "a") { q.A = load.readElementText(); } else if (load.name() == "b") { q.B = load.readElementText(); } else if (load.name() == "c") { q.C = load.readElementText(); } else if (load.name() == "d") { q.D = load.readElementText(); } else if (load.name() == "proper") { q.correct = load.readElementText().at(0); //nie może być puste! } else { //qDebug() << load.name(); } } } while (load.readNext() != QXmlStreamReader::EndElement && load.name().toString() != "quest"); //jeżeli prawidłowe pytanie dodaje do odpowiedniej listy if (q.valid()) { addQuest(q); } else { qDebug() << "Quest nieprawidłowy! Question::readQuest"; //qDebug() << questToString(q); } }