[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Eliot-dev] eliot/qt dic_wizard.cpp
From: |
Olivier Teulière |
Subject: |
[Eliot-dev] eliot/qt dic_wizard.cpp |
Date: |
Sun, 16 May 2010 10:05:10 +0000 |
CVSROOT: /cvsroot/eliot
Module name: eliot
Changes by: Olivier Teulière <ipkiss> 10/05/16 10:05:10
Modified files:
qt : dic_wizard.cpp
Log message:
Fixed a bug and added a sanity checks (no duplicate entries in the word
list)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/qt/dic_wizard.cpp?cvsroot=eliot&r1=1.2&r2=1.3
Patches:
Index: dic_wizard.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/qt/dic_wizard.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- dic_wizard.cpp 15 May 2010 12:20:20 -0000 1.2
+++ dic_wizard.cpp 16 May 2010 10:05:09 -0000 1.3
@@ -99,11 +99,13 @@
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return false;
+ QSet<QString> words;
QMap<QChar, int> lettersWithLine;
int lineNb = 1;
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine().toUpper();
+ words.insert(line);
for (int i = 0; i < line.size(); ++i)
{
if (!lettersWithLine.contains(line[i]))
@@ -136,7 +138,17 @@
QMessageBox::Ok);
errorBox.setInformativeText(_q("Please correct the word list."));
errorBox.exec();
+ return false;
+ }
+ // Detect duplicate entries in the word list
+ if (words.size() != lineNb - 1)
+ {
+ QString msg = _q("The word list contains duplicate entries.");
+ QMessageBox errorBox(QMessageBox::Critical, _q("Eliot"), msg,
+ QMessageBox::Ok);
+ errorBox.setInformativeText(_q("Please correct the word list."));
+ errorBox.exec();
return false;
}
@@ -234,7 +246,7 @@
m_model->setData(m_model->index(rowNum, 3),
(bool)QString("AEIOUY").contains(ch));
m_model->setData(m_model->index(rowNum, 4),
- (bool)QString("AEIOU").contains(ch));
+ !(bool)QString("AEIOU").contains(ch));
}
// Add another line for the joker
- [Eliot-dev] eliot/qt dic_wizard.cpp,
Olivier Teulière <=