--- a/QTfrontend/main.cpp Tue Jun 28 17:56:25 2011 +0200
+++ b/QTfrontend/main.cpp Tue Jun 28 17:57:54 2011 +0200
@@ -397,39 +397,38 @@
QList<QPair<QIcon, QIcon> > icons;
+ themes.sort();
for(int i = themes.size() - 1; i >= 0; --i)
{
QFile tmpfile;
tmpfile.setFileName(QString("%1/Data/Themes/%2/icon.png").arg(cfgdir->absolutePath()).arg(themes.at(i)));
if (!tmpfile.exists())
- {
tmpfile.setFileName(QString("%1/Themes/%2/icon.png").arg(datadir->absolutePath()).arg(themes.at(i)));
- if(tmpfile.exists())
- { // load icon
- QPair<QIcon, QIcon> ic;
- ic.first = QIcon(QFileInfo(tmpfile).absoluteFilePath());
+
+ if(tmpfile.exists())
+ { // load icon
+ QPair<QIcon, QIcon> ic;
+ ic.first = QIcon(QFileInfo(tmpfile).absoluteFilePath());
- QFile previewIconFile;
- previewIconFile.setFileName(QString("%1/Data/Themes/%2/icon@2x.png").arg(cfgdir->absolutePath()).arg(themes.at(i)));
- if (previewIconFile.exists()) ic.second = QIcon(QFileInfo(previewIconFile).absoluteFilePath());
- else ic.second = QIcon(QString("%1/Themes/%2/icon@2x.png").arg(datadir->absolutePath()).arg(themes.at(i)));
+ QFile previewIconFile;
+ previewIconFile.setFileName(QString("%1/Data/Themes/%2/icon@2x.png").arg(cfgdir->absolutePath()).arg(themes.at(i)));
+ if (previewIconFile.exists()) ic.second = QIcon(QFileInfo(previewIconFile).absoluteFilePath());
+ else ic.second = QIcon(QString("%1/Themes/%2/icon@2x.png").arg(datadir->absolutePath()).arg(themes.at(i)));
- icons.prepend(ic);
- }
- else
- {
- themes.removeAt(i);
- }
+ icons.prepend(ic);
+ }
+ else
+ {
+ themes.removeAt(i);
}
}
themesModel = new ThemesModel(themes);
+ Q_ASSERT(themes.size() == icons.size());
for(int i = 0; i < icons.size(); ++i)
{
themesModel->setData(themesModel->index(i), icons[i].first, Qt::DecorationRole);
themesModel->setData(themesModel->index(i), icons[i].second, Qt::UserRole);
-
- qDebug() << "icon test" << themesModel->index(i).data(Qt::UserRole).toString();
}
}
@@ -465,8 +464,8 @@
if(cc.isEmpty())
cc = QLocale::system().name();
QFile tmpfile;
- tmpfile.setFileName(cfgdir->absolutePath() + "Data/Locale/hedgewars_" + cc);
- if (!tmpfile.exists()) tmpfile.setFileName(datadir->absolutePath() + "Locale/hedgewars_" + cc);
+ tmpfile.setFileName(cfgdir->absolutePath() + "/Data/Locale/hedgewars_" + cc);
+ if (!tmpfile.exists()) tmpfile.setFileName(datadir->absolutePath() + "/Locale/hedgewars_" + cc);
Translator.load(QFileInfo(tmpfile).absoluteFilePath());
app.installTranslator(&Translator);
}