QTfrontend/ui/page/pagetraining.cpp
branchphysfslayer
changeset 8049 133e22b5c410
parent 6952 7f70f37bbf08
child 8098 4efee370e2de
equal deleted inserted replaced
8046:4d3415927d2c 8049:133e22b5c410
   123 
   123 
   124     QString loc = settings.value("misc/locale", "").toString();
   124     QString loc = settings.value("misc/locale", "").toString();
   125     if (loc.isEmpty())
   125     if (loc.isEmpty())
   126         loc = QLocale::system().name();
   126         loc = QLocale::system().name();
   127 
   127 
   128     QString infoFile = dataMgr.findFileForRead(
   128     QString infoFile = QString("physfs://Locale/missions_" + loc + ".txt");
   129                            QString("Locale/missions_" + loc + ".txt"));
       
   130 
   129 
   131     // if file is non-existant try with language only
   130     // if file is non-existant try with language only
   132     if (!QFile::exists(infoFile))
   131     if (!QFile::exists(infoFile))
   133         infoFile = dataMgr.findFileForRead(QString(
   132         infoFile = QString("physfs://Locale/missions_" + loc.remove(QRegExp("_.*$")) + ".txt");
   134                                                "Locale/missions_" + loc.remove(QRegExp("_.*$")) + ".txt"));
       
   135 
   133 
   136     // fallback if file for current locale is non-existant
   134     // fallback if file for current locale is non-existant
   137     if (!QFile::exists(infoFile))
   135     if (!QFile::exists(infoFile))
   138         infoFile = dataMgr.findFileForRead(QString("Locale/missions_en.txt"));
   136         infoFile = QString("physfs://Locale/missions_en.txt");
   139 
   137 
   140 
   138 
   141     // preload mission info for current locale
   139     // preload mission info for current locale
   142     m_info = new QSettings(infoFile, QSettings::IniFormat, this);
   140     m_info = new QSettings(infoFile, QSettings::IniFormat, this);
   143     m_info->setIniCodec("UTF-8");
   141     m_info->setIniCodec("UTF-8");
   184 }
   182 }
   185 
   183 
   186 
   184 
   187 void PageTraining::updateInfo()
   185 void PageTraining::updateInfo()
   188 {
   186 {
   189     DataManager & dataMgr = DataManager::instance();
       
   190 
       
   191     if (lstMissions->currentItem())
   187     if (lstMissions->currentItem())
   192     {
   188     {
   193         // TODO also use .pngs in userdata folder
   189         // TODO also use .pngs in userdata folder
   194         QString thumbFile = dataMgr.findFileForRead(
   190         QString thumbFile =     "physfs://Graphics/Missions/Training/" +
   195                                 "Graphics/Missions/Training/" +
       
   196                                 lstMissions->currentItem()->data(Qt::UserRole).toString() +
   191                                 lstMissions->currentItem()->data(Qt::UserRole).toString() +
   197                                 "@2x.png");
   192                                 "@2x.png";
   198 
   193 
   199         if (QFile::exists(thumbFile))
   194         if (QFile::exists(thumbFile))
   200             btnPreview->setIcon(QIcon(thumbFile));
   195             btnPreview->setIcon(QIcon(thumbFile));
   201         else
   196         else
   202             btnPreview->setIcon(QIcon(":/res/Trainings.png"));
   197             btnPreview->setIcon(QIcon(":/res/Trainings.png"));