QTfrontend/main.cpp
branchhedgeroid
changeset 5375 ec4006837feb
parent 5307 dd53755e0fca
child 5756 b451fd21ff4c
--- 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);
     }