diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp index dff55fddd006bfc1bd2d94f3cdff98a32d72a70a..7840a02537f7d5fef8e26918933184372ec3927d 100644 --- a/src/plugins/qt4projectmanager/qtoptionspage.cpp +++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp @@ -561,8 +561,8 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item) { if (item) { int index = indexForTreeItem(item); - m_ui->errorLabel->setText(""); if (index < 0) { + m_ui->errorLabel->setText(""); makeMSVCVisible(false); makeMingwVisible(false); makeS60Visible(false); @@ -577,10 +577,6 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item) makeMSVCVisible(false); makeMingwVisible(false); makeS60Visible(false); - if (!m_versions.at(index)->isValid()) - m_ui->errorLabel->setText(m_versions.at(index)->invalidReason()); - else - m_ui->errorLabel->setText(tr("This Qt Version has a unknown toolchain.")); } else if (types.contains(ProjectExplorer::ToolChain_MinGW)) { makeMSVCVisible(false); makeMingwVisible(true); @@ -623,23 +619,7 @@ void QtOptionsPageWidget::showEnvironmentPage(QTreeWidgetItem *item) makeS60Visible(false); } - if (m_ui->errorLabel->text().isEmpty()) { - QString envs; - if (targets.contains(Constants::DESKTOP_TARGET_ID)) - envs = tr("Desktop", "Qt Version is meant for the desktop"); - else if (targets.contains(Constants::S60_DEVICE_TARGET_ID) || - targets.contains(Constants::S60_EMULATOR_TARGET_ID)) - envs = tr("Symbian", "Qt Version is meant for Symbian"); - else if (targets.contains(Constants::MAEMO_DEVICE_TARGET_ID)) - envs = tr("Maemo", "Qt Version is meant for Maemo"); - else if (targets.contains(Constants::QT_SIMULATOR_TARGET_ID)) - envs = tr("Qt Simulator", "Qt Version is meant for Qt Simulator"); - else - envs = tr("unkown", "No idea what this Qt Version is meant for!"); - m_ui->errorLabel->setText(tr("Found Qt version %1, using mkspec %2 (%3)") - .arg(m_versions.at(index)->qtVersionString(), - m_versions.at(index)->mkspec(), envs)); - } + m_ui->errorLabel->setText(m_versions.at(index)->description()); } else { makeMSVCVisible(false); makeMingwVisible(false); @@ -722,6 +702,7 @@ void QtOptionsPageWidget::updateCurrentQtName() return; m_versions[currentItemIndex]->setDisplayName(m_ui->nameEdit->text()); currentItem->setText(0, m_versions[currentItemIndex]->displayName()); + m_ui->errorLabel->setText(m_versions.at(currentItemIndex)->description()); } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index cf1dd227aee68a948e72792cf0d0ab44594d3d09..b1dc399c11d8611d4ae244c752c5fae7bc52969d 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -1615,6 +1615,29 @@ QString QtVersion::invalidReason() const return QString(); } +QString QtVersion::description() const +{ + if (!isValid()) + return invalidReason(); + if (possibleToolChainTypes().isEmpty()) + return QCoreApplication::translate("QtVersion", "This Qt Version has a unknown toolchain."); + QSet<QString> targets = supportedTargetIds(); + QString envs; + if (targets.contains(Constants::DESKTOP_TARGET_ID)) + envs = QCoreApplication::translate("QtVersion", "Desktop", "Qt Version is meant for the desktop"); + else if (targets.contains(Constants::S60_DEVICE_TARGET_ID) || + targets.contains(Constants::S60_EMULATOR_TARGET_ID)) + envs = QCoreApplication::translate("QtVersion", "Symbian", "Qt Version is meant for Symbian"); + else if (targets.contains(Constants::MAEMO_DEVICE_TARGET_ID)) + envs = QCoreApplication::translate("QtVersion", "Maemo", "Qt Version is meant for Maemo"); + else if (targets.contains(Constants::QT_SIMULATOR_TARGET_ID)) + envs = QCoreApplication::translate("QtVersion", "Qt Simulator", "Qt Version is meant for Qt Simulator"); + else + envs = QCoreApplication::translate("QtVersion", "unkown", "No idea what this Qt Version is meant for!"); + return QCoreApplication::translate("QtVersion", "Qt version %1, using mkspec %2 (%3)") + .arg(qtVersionString(), mkspec(), envs); +} + QtVersion::QmakeBuildConfigs QtVersion::defaultBuildConfig() const { updateToolChainAndMkspec(); diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h index 9462a7ffb4dceafb31a053af7efdcccd3d71655f..f810aa0868a087a7139914f7bd59fa8930acfcab 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.h +++ b/src/plugins/qt4projectmanager/qtversionmanager.h @@ -71,6 +71,7 @@ public: bool isValid() const; //TOOD check that the dir exists and the name is non empty QString invalidReason() const; + QString description() const; bool isAutodetected() const { return m_isAutodetected; } QString autodetectionSource() const { return m_autodetectionSource; }