Trainer::Trainer(int minLevel, int maxLevel, QString sourceLanguage, QString targetLanguage, QList<Translation> wordList, TextToSpeech &tts, PhoneticsManager &phoneticsManager, QWidget *parent) : QDialog(parent) , ui(new Ui::Trainer) , tts(tts) , sourceLanguage(sourceLanguage) , targetLanguage(targetLanguage) , trainingManager(minLevel, maxLevel, sourceLanguage, targetLanguage, phoneticsManager) { ui->setupUi(this); connect(&trainingManager, SIGNAL(statusChanged(TrainingStatus)), SLOT(updateStatus(TrainingStatus))); connect(&trainingManager, SIGNAL(mistake()), SLOT(madeMistake())); connect(&trainingManager, SIGNAL(finished(TrainingStatus)), SLOT(trainingFinished(TrainingStatus))); connect(&trainingManager, SIGNAL(nextQuestion()), SLOT(gotNextQuestion())); connect(&tts, SIGNAL(synthesisReady(QString,QString)), SLOT(enableListen())); connect(&tts, SIGNAL(synthesisSuccess()), SLOT(enableListen())); QSettings settings; ui->reverseMode->setChecked(settings.value("reverseMode").value<bool>()); trainingManager.loadWords(wordList); QStringList const dirs = QStringList() << ":/wordlists" << "./wordlists"; foreach (QString const &dir, dirs) trainingManager.loadWords(QDir(dir)); foreach (QString const &dir, dirs) trainingManager.loadHints(QDir(dir)); trainingManager.start(); }
void MultilayerPerceptron::finished() { emit trainingFinished(tres); }