QMessageBox::critical(pParent,pParent->tr("Datei-Fehler"),pParent->tr("Konnte folgende Datei nicht zum Lesen öffnen:\n%1").arg(strFileName));
QMessageBox::critical(pParent,pParent->tr("Datei-Fehler"),pParent->tr("Konnte folgende Datei nicht zum Lesen öffnen:\n%1").arg(strFileName));
returnfalse;
}
@ -234,7 +234,7 @@ QFile file (strFileName);
if(strFileName.isEmpty())returnfalse;
if(!file.open(QIODevice::WriteOnly))
{
QMessageBox::critical(pParent,QString(pParent->tr("Datei-Fehler")),pParent->tr("Konnte folgende Datei nicht zum Schreiben öffnen:\n")+strFileName);
QMessageBox::critical(pParent,QString(pParent->tr("Datei-Fehler")),pParent->tr("Konnte folgende Datei nicht zum Schreiben öffnen:\n")+strFileName);
returnfalse;
}
QTextStreamout(&file);
@ -315,7 +315,7 @@ int iErrLine, iErrCol;
if(!file.exists())returntrue;
if(!file.open(QIODevice::ReadOnly))
{
QMessageBox::critical(pParent,QString(pParent->tr("Datei-Fehler")),pParent->tr("Konnte folgende Datei nicht zum Lesen öffnen:\n")+statisticFileName());
QMessageBox::critical(pParent,QString(pParent->tr("Datei-Fehler")),pParent->tr("Konnte folgende Datei nicht zum Lesen öffnen:\n")+statisticFileName());
returnfalse;
}
QTextStreamin(&file);
@ -375,7 +375,7 @@ QFile file (strFileName);
if(!file.open(QIODevice::WriteOnly))
{
QMessageBox::critical(pParent,pParent->tr("Fehler"),pParent->tr("Konnte folgende Datei nicht zum Schreiben öffnen.\n")+strFileName);
QMessageBox::critical(pParent,pParent->tr("Fehler"),pParent->tr("Konnte folgende Datei nicht zum Schreiben öffnen.\n")+strFileName);
str=tr("Dieses Kapitel enthält Unterkapitel, dessen Fragen Sie noch nicht ausreichend gelernt haben.\nEs wird empohlen in kleinen Etappen zu lernen und damit zuerst die Unterkapitel zu vertiefen.");
str=tr("Dieses Kapitel enthält Unterkapitel, dessen Fragen Sie noch nicht ausreichend gelernt haben.\nEs wird empohlen in kleinen Etappen zu lernen und damit zuerst die Unterkapitel zu vertiefen.");
break;
caseRecommendationParentChapter:
if(levelAvgRounded()>=LEVEL_NORMAL)
str=tr("Sie können die Fragen dieses Kapitels gut beantworten.\n");
str+=tr("Es wird empfohlen, alle Fragen des übergeordneten Kapitels gemischt zusammen zu lernen.");
str=tr("Sie können die Fragen dieses Kapitels gut beantworten.\n");
str+=tr("Es wird empfohlen, alle Fragen des übergeordneten Kapitels gemischt zusammen zu lernen.");
break;
caseRecommendationLearnNew:
if(!isRecommendedNow(pCatalog))
@ -606,23 +606,23 @@ QString str;
str=tr("Bitte beantworten Sie alle neuen Fragen mindestens einmal richtig.");
break;
caseRecommendationRepeatToday:
str=tr("Bitte lernen Sie alle heute zu wiederholenden Fragen, bis sie eine Lernfortschritts-Stufe höher eingestuft sind.");
str=tr("Bitte lernen Sie alle heute zu wiederholenden Fragen, bis sie eine Lernfortschritts-Stufe höher eingestuft sind.");
//str = tr("Bitte beantworten Sie alle neuen Fragen mindestens einmal richtig.");
str=tr("Alternativ können Sie jetzt die neuen Fragen dieses Kapitels lernen (%1 Fragen).").arg(recommendedQuestionCount());
str=tr("Alternativ können Sie jetzt die neuen Fragen dieses Kapitels lernen (%1 Fragen).").arg(recommendedQuestionCount());
}
elseif(m_recom2==RecommendationRepeatToday)
{
if(m_recom==RecommendationSubChapter)
str=tr("Bitte lernen Sie alle heute zu wiederholenden Fragen, bis sie eine Lernfortschritts-Stufe höher eingestuft sind (%1 Fragen).").arg(recommendedQuestionCount());
str=tr("Bitte lernen Sie alle heute zu wiederholenden Fragen, bis sie eine Lernfortschritts-Stufe höher eingestuft sind (%1 Fragen).").arg(recommendedQuestionCount());
else
str=tr("Alternativ können Sie jetzt die heute zu wiederholenden Fragen dieses Kapitels lernen (%1 Fragen).").arg(recommendedQuestionCount());
str=tr("Alternativ können Sie jetzt die heute zu wiederholenden Fragen dieses Kapitels lernen (%1 Fragen).").arg(recommendedQuestionCount());
QMessageBox::information(this,tr("Information"),tr("Sie haben weniger als die Hälfte aller Fragen beantwortet.\nDiese Prüfung wird deswegen nicht gewertet."));
QMessageBox::information(this,tr("Information"),tr("Sie haben weniger als die Hälfte aller Fragen beantwortet.\nDiese Prüfung wird deswegen nicht gewertet."));
pbIgnore->setToolTip(tr("Meldung ignorieren, dieses Kapitel weiterlernen"));
pbExit->setToolTip(tr("Lernmodus beenden"));
msgBox.setText(tr("<b>Herzlichen Glückwunsch!</b><p>Sie haben das heutige Lernziel für dieses Kapitel erreicht.<br>Bitte folgen Sie den weiteren Empfehlungen des Lernassistents."));
msgBox.setText(tr("<b>Herzlichen Glückwunsch!</b><p>Sie haben das heutige Lernziel für dieses Kapitel erreicht.<br>Bitte folgen Sie den weiteren Empfehlungen des Lernassistents."));
QStringstr=tr("<b>Dieser Fragenkatalog ist seit dem %1 nicht mehr gültig!</b>").arg(d.toString(Qt::LocalDate));
QStringstr=tr("<b>Dieser Fragenkatalog ist seit dem %1 nicht mehr gültig!</b>").arg(d.toString(Qt::LocalDate));
if(!m_pCatalog->publisher().isEmpty())
str+=tr("<p>Weitere Informationen zur Gültigkeit erhalten Sie vom Herausgeber:<br>")+m_pCatalog->publisher();
str+=tr("<p>Weitere Informationen zur Gültigkeit erhalten Sie vom Herausgeber:<br>")+m_pCatalog->publisher();
if(!m_pCatalog->contact().isEmpty())
str+=tr("<p>Einen aktuellen Fragenkatalog für den AFUTrainer erhalten Sie evt. von:<br>")+m_pCatalog->contact();
str+=tr("<p>Einen aktuellen Fragenkatalog für den AFUTrainer erhalten Sie evt. von:<br>")+m_pCatalog->contact();
QMessageBox::warning(this,tr("Warnung"),str);
}
@ -154,7 +154,7 @@ QString str;
if(m_pCatalog==0)returnfalse;
str=m_pCatalog->checkForErrors();
if(str.isEmpty())returnfalse;
QMessageBox::critical(this,tr("Fehler im Fragenkatalog"),tr("Die gewünschte Funktion kann nicht ausgeführt werden, da der Fragenkatalog folgende Fehler enthält:<p>")+str);
QMessageBox::critical(this,tr("Fehler im Fragenkatalog"),tr("Die gewünschte Funktion kann nicht ausgeführt werden, da der Fragenkatalog folgende Fehler enthält:<p>")+str);
strFileName=QFileDialog::getOpenFileName(this,tr("Öffne Fragenkatalog"),QString(),tr("Amateur Radio Questionary Data Format (*.aqz)\nAlle Dateien (*.*)"));
strFileName=QFileDialog::getOpenFileName(this,tr("Öffne Fragenkatalog"),QString(),tr("Amateur Radio Questionary Data Format (*.aqz)\nAlle Dateien (*.*)"));
strFileName=QFileDialog::getOpenFileName(this,tr("Öffne Datei zum Fragenkatalog-Import"),QString("D:/projekte/afutrainer/fragenkataloge/2007-02/Klasse A Technik/"),tr("TXT-Dateien (*.txt)\nAlle Dateien (*.*)"));
strFileName=QFileDialog::getOpenFileName(this,tr("Öffne Datei zum Fragenkatalog-Import"),QString("D:/projekte/afutrainer/fragenkataloge/2007-02/Klasse A Technik/"),tr("TXT-Dateien (*.txt)\nAlle Dateien (*.*)"));
if(strFileName.isEmpty())return;
QFilefile(strFileName);
if(!file.open(QIODevice::ReadOnly))
{
QMessageBox::information(this,tr("Fehler"),tr("Konnte Datei '%1' nicht zum Lesen öffnen!").arg(strFileName));
QMessageBox::information(this,tr("Fehler"),tr("Konnte Datei '%1' nicht zum Lesen öffnen!").arg(strFileName));
qDebug("Konnte Grafik %s nicht zuordnen.\n\tMögliche Gründe: Frage oder Antwort existiert nicht. Dateiname der Grafik falsch geschrieben.",qPrintable(strImgFile));
qDebug("Konnte Grafik %s nicht zuordnen.\n\tMögliche Gründe: Frage oder Antwort existiert nicht. Dateiname der Grafik falsch geschrieben.",qPrintable(strImgFile));
}
}
}
pCatalog->setName("Importierter Katalog von "+strFileName);
QMessageBox::information(this,tr("Information"),
"Bitte Debug-Ausgabe überprüfen, ob alle Grafik-Dateien zugeordnet wurden!<p>"
"Bitte überprüfen, ob alle Kapitel korrekt erkannt wurden. "
"Bitte Debug-Ausgabe überprüfen, ob alle Grafik-Dateien zugeordnet wurden!<p>"
"Bitte überprüfen, ob alle Kapitel korrekt erkannt wurden. "
"Wenn nicht, muss die TXT-Datei von Hand kontrolliert werden!<hr>"+strChapter);
qDebug("Weitere Vorgehensweise:\n\t1. Fragenkatalog als XML-Datei abspeichern.\n\t2. ggf. Korrekturen in der XML-Datei vornehmen\n\t3. XML-Datei und alle Grafik-Dateien in ein ZIP-Archiv packen und die Dateiänderung auf .atc ändern.\n\tFertig!");
qDebug("Weitere Vorgehensweise:\n\t1. Fragenkatalog als XML-Datei abspeichern.\n\t2. ggf. Korrekturen in der XML-Datei vornehmen\n\t3. XML-Datei und alle Grafik-Dateien in ein ZIP-Archiv packen und die Dateiänderung auf .atc ändern.\n\tFertig!");
pCatalog->setName("Importierter Katalog von "+strFileName);
QMessageBox::information(this,tr("Information"),
"Bitte überprüfen, ob alle Kapitel korrekt erkannt wurden. "
"Bitte überprüfen, ob alle Kapitel korrekt erkannt wurden. "
"Wenn nicht, muss die TXT-Datei von Hand kontrolliert werden!<hr>"+strChapter);
qDebug("Weitere Vorgehensweise:\n\t1. Fragenkatalog als XML-Datei abspeichern.\n\t2. ggf. Korrekturen in der XML-Datei vornehmen\n\t3. XML-Datei und alle Grafik-Dateien in ein ZIP-Archiv packen und die Dateiänderung auf .atc ändern.\n\tFertig!");
qDebug("Weitere Vorgehensweise:\n\t1. Fragenkatalog als XML-Datei abspeichern.\n\t2. ggf. Korrekturen in der XML-Datei vornehmen\n\t3. XML-Datei und alle Grafik-Dateien in ein ZIP-Archiv packen und die Dateiänderung auf .atc ändern.\n\tFertig!");
setCatalog(pCatalog);
}
@ -674,7 +674,7 @@ QModelIndexList list = m_pViewChapter->selectionModel()->selectedIndexes();
if(checkForErrors())return;
if(list.isEmpty())
{
QMessageBox::information(this,tr("Information"),tr("Bitte ein Kapitel zum Lernen auswählen!"));
QMessageBox::information(this,tr("Information"),tr("Bitte ein Kapitel zum Lernen auswählen!"));