I18N: fix translation of nav-cache-init dialog
Thanks to Slawek Mikula for spotting, that this was not working correctly, now it does.
This commit is contained in:
parent
6ae2c387bf
commit
6c66126bdb
1 changed files with 23 additions and 25 deletions
|
@ -83,9 +83,24 @@ using std::string;
|
||||||
|
|
||||||
namespace { // anonymous namespace
|
namespace { // anonymous namespace
|
||||||
|
|
||||||
|
struct ProgressLabel {
|
||||||
|
NavDataCache::RebuildPhase phase;
|
||||||
|
const char* label;
|
||||||
|
};
|
||||||
|
|
||||||
|
static std::initializer_list<ProgressLabel> progressStrings = {
|
||||||
|
{NavDataCache::REBUILD_READING_APT_DAT_FILES, QT_TRANSLATE_NOOP("initNavCache","Reading airport data")},
|
||||||
|
{NavDataCache::REBUILD_LOADING_AIRPORTS, QT_TRANSLATE_NOOP("initNavCache","Loading airports")},
|
||||||
|
{NavDataCache::REBUILD_FIXES, QT_TRANSLATE_NOOP("initNavCache","Loading waypoint data")},
|
||||||
|
{NavDataCache::REBUILD_NAVAIDS, QT_TRANSLATE_NOOP("initNavCache","Loading navigation data")},
|
||||||
|
{NavDataCache::REBUILD_POIS, QT_TRANSLATE_NOOP("initNavCache","Loading point-of-interest data")}
|
||||||
|
};
|
||||||
|
|
||||||
void initNavCache()
|
void initNavCache()
|
||||||
{
|
{
|
||||||
QString baseLabel = QT_TRANSLATE_NOOP("initNavCache", "Initialising navigation data, this may take several minutes");
|
const char* baseLabelKey = QT_TRANSLATE_NOOP("initNavCache", "Initialising navigation data, this may take several minutes");
|
||||||
|
QString baseLabel= qApp->translate("initNavCache", baseLabelKey);
|
||||||
|
|
||||||
NavDataCache* cache = NavDataCache::createInstance();
|
NavDataCache* cache = NavDataCache::createInstance();
|
||||||
if (cache->isRebuildRequired()) {
|
if (cache->isRebuildRequired()) {
|
||||||
QProgressDialog rebuildProgress(baseLabel,
|
QProgressDialog rebuildProgress(baseLabel,
|
||||||
|
@ -106,37 +121,20 @@ void initNavCache()
|
||||||
SGTimeStamp::sleepForMSec(50);
|
SGTimeStamp::sleepForMSec(50);
|
||||||
phase = cache->rebuild();
|
phase = cache->rebuild();
|
||||||
|
|
||||||
switch (phase) {
|
auto it = std::find_if(progressStrings.begin(), progressStrings.end(), [phase]
|
||||||
case NavDataCache::REBUILD_READING_APT_DAT_FILES:
|
(const ProgressLabel& l) { return l.phase == phase; });
|
||||||
rebuildProgress.setLabelText(QT_TRANSLATE_NOOP("initNavCache","Reading airport data"));
|
if (it == progressStrings.end()) {
|
||||||
break;
|
|
||||||
|
|
||||||
case NavDataCache::REBUILD_LOADING_AIRPORTS:
|
|
||||||
rebuildProgress.setLabelText(QT_TRANSLATE_NOOP("initNavCache","Loading airports"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NavDataCache::REBUILD_FIXES:
|
|
||||||
rebuildProgress.setLabelText(QT_TRANSLATE_NOOP("initNavCache","Loading waypoint data"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NavDataCache::REBUILD_NAVAIDS:
|
|
||||||
rebuildProgress.setLabelText(QT_TRANSLATE_NOOP("initNavCache","Loading navigation data"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
case NavDataCache::REBUILD_POIS:
|
|
||||||
rebuildProgress.setLabelText(QT_TRANSLATE_NOOP("initNavCache","Loading point-of-interest data"));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
rebuildProgress.setLabelText(baseLabel);
|
rebuildProgress.setLabelText(baseLabel);
|
||||||
|
} else {
|
||||||
|
QString trans = qApp->translate("initNavCache", it->label);
|
||||||
|
rebuildProgress.setLabelText(trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (phase == NavDataCache::REBUILD_UNKNOWN) {
|
if (phase == NavDataCache::REBUILD_UNKNOWN) {
|
||||||
rebuildProgress.setValue(0);
|
rebuildProgress.setValue(0);
|
||||||
rebuildProgress.setMaximum(0);
|
rebuildProgress.setMaximum(0);
|
||||||
} else {
|
} else {
|
||||||
rebuildProgress.setValue(cache->rebuildPhaseCompletionPercentage());
|
rebuildProgress.setValue(static_cast<int>(cache->rebuildPhaseCompletionPercentage()));
|
||||||
rebuildProgress.setMaximum(100);
|
rebuildProgress.setMaximum(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue