diff --git a/src/qtapp/trainWindow.cpp b/src/qtapp/trainWindow.cpp index 108e129..6afac53 100644 --- a/src/qtapp/trainWindow.cpp +++ b/src/qtapp/trainWindow.cpp @@ -523,16 +523,21 @@ void setupGroupQuestion(GroupQuestion *question) { // Ieliek nesagrupētos elementus. wGroupQuestion->show(); + std::vector ungroupedElements; for (auto group: question->groups) { for (auto itemText: group.elements) { - auto *qItem = acquireItem(); - qItem->setData(NEUTRAL, Qt::UserRole + 1); - qItem->setCheckable(false); - qItem->setData(QVariant(), Qt::CheckStateRole); - qItem->setText(QString::fromStdString(itemText)); - groupItemModel->appendRow(qItem); + ungroupedElements.push_back(itemText); } } + std::shuffle(ungroupedElements.begin(), ungroupedElements.end(), rng); + for (auto element: ungroupedElements) { + auto *qItem = acquireItem(); + qItem->setData(NEUTRAL, Qt::UserRole + 1); + qItem->setCheckable(false); + qItem->setData(QVariant(), Qt::CheckStateRole); + qItem->setText(QString::fromStdString(element)); + groupItemModel->appendRow(qItem); + } groupItemList->update(); { // Uzstāda grupu sarakstus, kur lietotājs pārliek elementus;