diff -r ffe6e1344ebd -r f412d539284e QTfrontend/ui/widget/mapContainer.cpp --- a/QTfrontend/ui/widget/mapContainer.cpp Wed May 04 18:14:25 2016 +0200 +++ b/QTfrontend/ui/widget/mapContainer.cpp Wed May 04 19:42:20 2016 +0200 @@ -137,6 +137,7 @@ btnSeed = new QPushButton(parentWidget()->parentWidget()); btnSeed->setText(tr("Seed")); + btnSeed->setWhatsThis(tr("View and edit the seed, the source of randomness in the game")); btnSeed->setStyleSheet("padding: 5px;"); btnSeed->setFixedHeight(cType->height()); connect(btnSeed, SIGNAL(clicked()), this, SLOT(showSeedPrompt())); @@ -255,6 +256,7 @@ QHBoxLayout * themeHBox = new QHBoxLayout(this); btnRandTheme = new QPushButton(); + btnRandTheme->setWhatsThis(tr("Randomize the theme")); btnRandTheme->setIcon(lp); btnRandTheme->setIconSize(QSize(24, 24)); btnRandTheme->setFixedHeight(30); @@ -264,6 +266,7 @@ themeHBox->addWidget(btnRandTheme, 0); btnTheme = new QPushButton(this); + btnTheme->setWhatsThis(tr("Choose a theme")); btnTheme->setFlat(true); btnTheme->setIconSize(QSize(30, 30)); btnTheme->setFixedHeight(30); @@ -794,6 +797,45 @@ changeMapType((MapModel::MapType)cType->itemData(index).toInt()); } +void HWMapContainer::updateHelpTexts(MapModel::MapType type) +{ + QString randomAll = tr("Randomize the map, theme and seed"); + QString randomNoMap = tr("Randomize the theme and seed"); + QString randomSeed = tr("Randomize the seed"); + QString randomAllPrev = tr("Click to randomize the map, theme and seed"); + QString randomNoMapPrev = tr("Click to randomize the theme and seed"); + QString mfsComplex = QString(tr("Complexity of the generated map (current: %1)")).arg(mapFeatureSize->value()); + int fortDistance = cBaseFortDistance + mapFeatureSize->value() * cFortDistanceUnit; + QString mfsFortsDistance = QString(tr("Distance between forts (current: %1)")).arg(fortDistance); + switch (type) + { + case MapModel::GeneratedMap: + case MapModel::GeneratedPerlin: + case MapModel::GeneratedMaze: + mapPreview->setWhatsThis(randomAllPrev); + mapFeatureSize->setWhatsThis(mfsComplex); + btnRandomize->setWhatsThis(randomAll); + break; + case MapModel::MissionMap: + case MapModel::StaticMap: + mapPreview->setWhatsThis(randomAllPrev); + btnRandomize->setWhatsThis(randomAll); + break; + case MapModel::HandDrawnMap: + mapPreview->setWhatsThis(tr("Click to edit")); + btnRandomize->setWhatsThis(randomSeed); + break; + case MapModel::FortsMap: + mapPreview->setWhatsThis(randomNoMapPrev); + mapFeatureSize->setWhatsThis(mfsFortsDistance); + btnRandomize->setWhatsThis(randomNoMap); + break; + default: + break; + } +} + + void HWMapContainer::changeMapType(MapModel::MapType type, const QModelIndex & newMap) { staticMapList->hide(); @@ -870,6 +912,9 @@ // Update theme button size updateThemeButtonSize(); + // Update “What's This?” help texts + updateHelpTexts(type); + // Update cType combobox for (int i = 0; i < cType->count(); i++) { @@ -888,6 +933,7 @@ void HWMapContainer::intSetFeatureSize(int val) { mapFeatureSize->setValue(val); + updateHelpTexts((MapModel::MapType)cType->itemData(cType->currentIndex()).toInt()); emit mapFeatureSizeChanged(val); } void HWMapContainer::setFeatureSize(int val)