# HG changeset patch # User sheepluva # Date 1317176484 -7200 # Node ID ae8684864a6e29dfacc85f74833b251435a3b1bf # Parent a60e603ef8efbab5c31bf328792192cd77746294 load mission caption and description from localization file (WIP) diff -r a60e603ef8ef -r ae8684864a6e QTfrontend/pagetraining.cpp --- a/QTfrontend/pagetraining.cpp Wed Sep 28 04:17:41 2011 +0200 +++ b/QTfrontend/pagetraining.cpp Wed Sep 28 04:21:24 2011 +0200 @@ -23,6 +23,8 @@ #include #include +#include + #include "pagetraining.h" #include "hwconsts.h" @@ -108,6 +110,10 @@ { initPage(); + // preload localized descriptions/etc TODO; this is just mockup code + m_info = new QSettings(datadir->absolutePath() + "/Locale/missions_en.txt", + QSettings::IniFormat, this); + // TODO -> this should be done in a tool "DataDir" class QDir tmpdir; tmpdir.cd(cfgdir->absolutePath()); @@ -127,7 +133,7 @@ missionList.append(mission); } - // add only default scripts that have names different from detected user scripts + // add default scripts that have names different from detected user scripts foreach (const QString & mission, missionList) { QListWidgetItem * item = new QListWidgetItem(mission); @@ -170,15 +176,27 @@ if (lstMissions->currentItem()) { // TODO also use .pngs in userdata folder - QString thumbFile = datadir->absolutePath() + "/Graphics/Missions/Training/" + lstMissions->currentItem()->data(Qt::UserRole).toString() + ".png"; + QString thumbFile = datadir->absolutePath() + + "/Graphics/Missions/Training/" + + lstMissions->currentItem()->data(Qt::UserRole).toString() + + ".png"; + if (QFile::exists(thumbFile)) btnPreview->setIcon(QIcon(thumbFile)); else btnPreview->setIcon(QIcon(":/res/Trainings.png")); - lblCaption->setText("

" + lstMissions->currentItem()->text()+"

"); - // TODO load mission description from file - lblDescription->setText("< Imagine Mission Description here >\n\nThank you."); + QString realName = lstMissions->currentItem()->data( + Qt::UserRole).toString(); + + QString caption = m_info->value(realName + ".name", + lstMissions->currentItem()->text()).toString(); + + QString description = m_info->value(realName + ".desc", + tr("No description available")).toString(); + + lblCaption->setText("

" + caption +"

"); + lblDescription->setText(description); } else { diff -r a60e603ef8ef -r ae8684864a6e QTfrontend/pagetraining.h --- a/QTfrontend/pagetraining.h Wed Sep 28 04:17:41 2011 +0200 +++ b/QTfrontend/pagetraining.h Wed Sep 28 04:21:24 2011 +0200 @@ -47,6 +47,7 @@ QLabel * lblCaption; QLabel * lblDescription; QListWidget * lstMissions; + QSettings * m_info; QStringList scriptList(const QDir & scriptDir) const;