mirror of
https://github.com/jorenchik/mdemory.git
synced 2026-03-22 00:26:21 +00:00
chooser for the algorithm
This commit is contained in:
@@ -235,12 +235,7 @@ std::vector<GroupView*> groupViews;
|
||||
std::default_random_engine rng;
|
||||
std::vector<QStandardItem*> itemPool;
|
||||
|
||||
/*QStandardItem *makeItem(std::string content, bool isCheckable) {*/
|
||||
/* auto *item = new QStandardItem(); */
|
||||
/* item->setText(QString::fromStdString(content));*/
|
||||
/* item->setCheckable(isCheckable);*/
|
||||
/* return item;*/
|
||||
/*};*/
|
||||
PracticeAlgorithm practiceAlgoritm;
|
||||
|
||||
#define ITEM_POOL_CHUNK 200
|
||||
|
||||
@@ -422,7 +417,6 @@ void setupGroupQuestion(GroupQuestion *question) {
|
||||
groupView->itemList.setModel(&groupView->itemModel);
|
||||
groupView->itemList.setMaximumHeight(100);
|
||||
groupView->itemList.setItemDelegate(itemDelegate);
|
||||
/*groupView->itemScroll.setWidget(&groupView->itemScroll);*/
|
||||
groupView->widget.setLayout(&groupView->vWidget);
|
||||
groupView->widget.layout()->addWidget(&groupView->label);
|
||||
groupView->widget.layout()->addWidget(&groupView->itemList);
|
||||
@@ -517,7 +511,7 @@ void updatePaginationVisibility() {
|
||||
}
|
||||
}
|
||||
|
||||
void setQuestions(std::vector<Question*> questions) {
|
||||
void setQuestions(std::vector<Question*> questions, PracticeAlgorithm algorithm) {
|
||||
trainQuestions = questions;
|
||||
if (questions.size() <= 0) {
|
||||
return;
|
||||
@@ -525,6 +519,7 @@ void setQuestions(std::vector<Question*> questions) {
|
||||
currentQuestionIndex = 0;
|
||||
updatePaginationVisibility();
|
||||
setupQuestion(trainQuestions[currentQuestionIndex]);
|
||||
practiceAlgoritm = algorithm;
|
||||
}
|
||||
|
||||
void initTrainWindow() {
|
||||
@@ -642,11 +637,21 @@ void initTrainWindow() {
|
||||
|
||||
btnNext->setText("Next");
|
||||
QObject::connect(btnNext, &QToolButton::clicked, []() {
|
||||
currentQuestionIndex++;
|
||||
if (currentQuestionIndex < trainQuestions.size()) {
|
||||
setupQuestion(trainQuestions[currentQuestionIndex]);
|
||||
switch (practiceAlgoritm) {
|
||||
case PRIMARY:
|
||||
currentQuestionIndex++;
|
||||
if (currentQuestionIndex < trainQuestions.size()) {
|
||||
setupQuestion(trainQuestions[currentQuestionIndex]);
|
||||
}
|
||||
updatePaginationVisibility();
|
||||
break;
|
||||
case RANDOM:
|
||||
// TODO: implement
|
||||
break;
|
||||
case SPACED:
|
||||
// TODO: implement
|
||||
break;
|
||||
}
|
||||
updatePaginationVisibility();
|
||||
});
|
||||
questionBox->setObjectName("question-box");
|
||||
actionButtons->setStyleSheet(QString(
|
||||
|
||||
Reference in New Issue
Block a user