Răsfoiți Sursa

cmake-gui: Improve label for default platform

Specify the default platform to be used when the platform field is empty
Julien Jomier 6 ani în urmă
părinte
comite
67bced8a26
2 a modificat fișierele cu 13 adăugiri și 2 ștergeri
  1. 12 2
      Source/QtDialog/FirstConfigure.cxx
  2. 1 0
      Source/QtDialog/FirstConfigure.h

+ 12 - 2
Source/QtDialog/FirstConfigure.cxx

@@ -75,8 +75,7 @@ QFrame* StartCompilerSetup::CreatePlatformWidgets()
   QVBoxLayout* l = new QVBoxLayout(frame);
   QVBoxLayout* l = new QVBoxLayout(frame);
   l->setContentsMargins(0, 0, 0, 0);
   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);
   l->addWidget(this->PlatformLabel);
 
 
   this->PlatformOptions = new QComboBox(frame);
   this->PlatformOptions = new QComboBox(frame);
@@ -106,6 +105,10 @@ void StartCompilerSetup::setGenerators(
       this->GeneratorsSupportingPlatform.append(
       this->GeneratorsSupportingPlatform.append(
         QString::fromLocal8Bit(it->name.c_str()));
         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 =
       std::vector<std::string>::const_iterator platformIt =
         it->supportedPlatforms.cbegin();
         it->supportedPlatforms.cbegin();
       while (platformIt != it->supportedPlatforms.cend()) {
       while (platformIt != it->supportedPlatforms.cend()) {
@@ -182,6 +185,13 @@ void StartCompilerSetup::onGeneratorChanged(QString const& name)
   // Display the generator platform for the generators supporting it
   // Display the generator platform for the generators supporting it
   if (GeneratorsSupportingPlatform.contains(name)) {
   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
     // Regenerate the list of supported platform
     this->PlatformOptions->clear();
     this->PlatformOptions->clear();
     QStringList platform_list;
     QStringList platform_list;

+ 1 - 0
Source/QtDialog/FirstConfigure.h

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