diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp index 1a8568723c1ef0525e9a77b959721e9dfdade340..d92f0dc3179df4ab5f8ad1cee46bf56c852ca124 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.cpp @@ -128,6 +128,10 @@ void MaemoConfigTestDialog::handleTestThreadFinished() output = parseTestOutput(); } m_ui->testResultEdit->setPlainText(output); + if (!m_qtVersionOk) { + m_ui->errorLabel->setText(tr("Qt version mismatch! Expected Qt on device: " + "4.6.2 or later.")); + } stopConfigTest(); } @@ -153,28 +157,36 @@ void MaemoConfigTestDialog::processSshOutput(const QString &data) QString MaemoConfigTestDialog::parseTestOutput() { + m_qtVersionOk = false; + QString output; const QRegExp unamePattern(QLatin1String("Linux (\\S+)\\s(\\S+)")); int index = unamePattern.indexIn(m_deviceTestOutput); if (index == -1) { - output = tr("Device configuration test failed: Unexpected output:\n%1").arg(m_deviceTestOutput); + output = tr("Device configuration test failed: Unexpected output:\n%1") + .arg(m_deviceTestOutput); return output; } output = tr("Hardware architecture: %1\n").arg(unamePattern.cap(2)); output.append(tr("Kernel version: %1\n").arg(unamePattern.cap(1))); output.prepend(tr("Device configuration successful.\n")); - const QRegExp dkpgPattern(QLatin1String("libqt\\S+ \\d\\.\\d\\.\\d")); + const QRegExp dkpgPattern(QLatin1String("libqt\\S+ (\\d)\\.(\\d)\\.(\\d)")); index = dkpgPattern.indexIn(m_deviceTestOutput); if (index == -1) { - output.append("No Qt packages installed."); + output.append(tr("No Qt packages installed.")); return output; } - output.append("List of installed Qt packages:\n"); + + output.append(tr("List of installed Qt packages:") + QLatin1Char('\n')); do { - output.append(QLatin1String("\t") + dkpgPattern.cap(0) - + QLatin1String("\n")); + output.append(QLatin1Char('\t') + dkpgPattern.cap(0) + + QLatin1Char('\n')); index = dkpgPattern.indexIn(m_deviceTestOutput, index + 1); + if (!m_qtVersionOk && QT_VERSION_CHECK(dkpgPattern.cap(1).toInt(), + dkpgPattern.cap(2).toInt(), dkpgPattern.cap(3).toInt()) >= 0x040602) { + m_qtVersionOk = true; + } } while (index != -1); return output; } diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h index 200578d73ece7b0b65cb8751bf8df0873ac53e79..8bc2d639306b187bbb1865d489fe4a36873f36e2 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.h @@ -73,6 +73,7 @@ private: const MaemoDeviceConfig &m_config; MaemoSshRunner *m_deviceTester; QString m_deviceTestOutput; + bool m_qtVersionOk; }; } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.ui b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.ui index 2320a0fe9bd34c897cbcf6dc37f27167b391a490..936a37f3b405f023a05237a0da14d4f349bbda6a 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.ui +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoconfigtestdialog.ui @@ -22,14 +22,68 @@ </widget> </item> <item> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Close</set> - </property> - </widget> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="errorLabel"> + <property name="palette"> + <palette> + <active> + <colorrole role="WindowText"> + <brush brushstyle="SolidPattern"> + <color alpha="255"> + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + </active> + <inactive> + <colorrole role="WindowText"> + <brush brushstyle="SolidPattern"> + <color alpha="255"> + <red>255</red> + <green>0</green> + <blue>0</blue> + </color> + </brush> + </colorrole> + </inactive> + <disabled> + <colorrole role="WindowText"> + <brush brushstyle="SolidPattern"> + <color alpha="255"> + <red>120</red> + <green>120</green> + <blue>120</blue> + </color> + </brush> + </colorrole> + </disabled> + </palette> + </property> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="standardButtons"> + <set>QDialogButtonBox::Close</set> + </property> + </widget> + </item> + </layout> </item> </layout> </widget>