diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2012-09-24 15:25:31 +0200 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2012-09-24 15:50:38 +0200 |
commit | 778e6675e1c0bfb90a6e82f208a34862547b68b5 (patch) | |
tree | bb419fa3ba6fb5041f9e98bf773ecc7873d736a3 /src/plugins/qtsupport/qtoptionspage.cpp | |
parent | f8810811c38626105adb1bb8c04e513d3f466e1d (diff) | |
download | qt-creator-778e6675e1c0bfb90a6e82f208a34862547b68b5.tar.gz |
Do not register the same Qt version under several names
Do not get fooled by the same qmake being available (via
symlinks) in several places on the file system. Just register
each Qt version once.
Change-Id: I8d5efb80599a697c32a3ca3ab37924bc9ab523eb
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/qtsupport/qtoptionspage.cpp')
-rw-r--r-- | src/plugins/qtsupport/qtoptionspage.cpp | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 70f8b08eda..17ba2f8ab1 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -635,19 +635,24 @@ static QString filterForQmakeFileDialog() void QtOptionsPageWidget::addQtDir() { Utils::FileName qtVersion = Utils::FileName::fromString( - QFileDialog::getOpenFileName(this, - tr("Select a qmake executable"), - QString(), - filterForQmakeFileDialog(), - 0, - QFileDialog::DontResolveSymlinks)); + QFileInfo(QFileDialog::getOpenFileName(this, + tr("Select a qmake executable"), + QString(), + filterForQmakeFileDialog(), + 0, + QFileDialog::DontResolveSymlinks)).canonicalFilePath()); if (qtVersion.isNull()) return; - if (QtVersionManager::instance()->qtVersionForQMakeBinary(qtVersion)) { + BaseQtVersion *version = QtVersionManager::instance()->qtVersionForQMakeBinary(qtVersion); + if (version) { // Already exist + QMessageBox::warning(this, tr("Qt known"), + tr("This Qt version was already registered as \"%1\".") + .arg(version->displayName())); + return; } - BaseQtVersion *version = QtVersionFactory::createQtVersionFromQMakePath(qtVersion); + version = QtVersionFactory::createQtVersionFromQMakePath(qtVersion); if (version) { m_versions.append(version); |