summaryrefslogtreecommitdiff
path: root/src/plugins/qtsupport/qtoptionspage.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2012-09-24 15:25:31 +0200
committerTobias Hunger <tobias.hunger@digia.com>2012-09-24 15:50:38 +0200
commit778e6675e1c0bfb90a6e82f208a34862547b68b5 (patch)
treebb419fa3ba6fb5041f9e98bf773ecc7873d736a3 /src/plugins/qtsupport/qtoptionspage.cpp
parentf8810811c38626105adb1bb8c04e513d3f466e1d (diff)
downloadqt-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.cpp21
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);