cmake-gui: Improve label for default platform

Specify the default platform to be used when the platform field is empty
This commit is contained in:
Julien Jomier
2019-01-21 13:18:26 +01:00
parent 48ec0bc140
commit 67bced8a26
2 changed files with 13 additions and 2 deletions

View File

@@ -75,8 +75,7 @@ QFrame* StartCompilerSetup::CreatePlatformWidgets()
QVBoxLayout* l = new QVBoxLayout(frame);
l->setContentsMargins(0, 0, 0, 0);
this->PlatformLabel =
new QLabel(tr("Specify the platform for this generator"));
this->PlatformLabel = new QLabel(tr("Optional platform for generator"));
l->addWidget(this->PlatformLabel);
this->PlatformOptions = new QComboBox(frame);
@@ -106,6 +105,10 @@ void StartCompilerSetup::setGenerators(
this->GeneratorsSupportingPlatform.append(
QString::fromLocal8Bit(it->name.c_str()));
this
->GeneratorDefaultPlatform[QString::fromLocal8Bit(it->name.c_str())] =
QString::fromLocal8Bit(it->defaultPlatform.c_str());
std::vector<std::string>::const_iterator platformIt =
it->supportedPlatforms.cbegin();
while (platformIt != it->supportedPlatforms.cend()) {
@@ -182,6 +185,13 @@ void StartCompilerSetup::onGeneratorChanged(QString const& name)
// Display the generator platform for the generators supporting it
if (GeneratorsSupportingPlatform.contains(name)) {
// Change the label title to include the default platform
std::string label = "Optional platform for generator";
label += "(if empty, generator uses: ";
label += this->GeneratorDefaultPlatform[name].toStdString();
label += ")";
this->PlatformLabel->setText(tr(label.c_str()));
// Regenerate the list of supported platform
this->PlatformOptions->clear();
QStringList platform_list;

View File

@@ -63,6 +63,7 @@ protected:
QStringList GeneratorsSupportingToolset;
QStringList GeneratorsSupportingPlatform;
QMultiMap<QString, QString> GeneratorSupportedPlatforms;
QMap<QString, QString> GeneratorDefaultPlatform;
private:
QFrame* CreateToolsetWidgets();