summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-04-13 12:44:26 +0200
committercon <qtc-committer@nokia.com>2010-04-13 17:23:31 +0200
commit53006d56d5c3c5a9a4eff36077a8c7555bde6716 (patch)
tree0ceaa0ed6f3a81a83326e1457dceba963ecee531
parentdfc0d1009d4e086eac1013fa6e87baee7f4751f8 (diff)
downloadqt-creator-53006d56d5c3c5a9a4eff36077a8c7555bde6716.tar.gz
Rework targetsetuppage interface slightly
* Remove PathChooser widget so that you need to use a proper dialog to select pathes. So typing into that PathChooser is no longer slow;-) The PathChooser does not provide a proper signal on when a user is done entering a directory, so it was not a good choice. Tasknumber: QTCREATORBUG-1128 Reviewed-by: dt (cherry picked from commit 0e79aeed710311e28c45456f4f8ea5e66eec21b1)
-rw-r--r--src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp43
-rw-r--r--src/plugins/qt4projectmanager/wizards/targetsetuppage.h11
2 files changed, 25 insertions, 29 deletions
diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
index ef0fc555a8..559dce5622 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
@@ -33,11 +33,11 @@
#include "qt4projectmanagerconstants.h"
#include "qt4target.h"
-#include <utils/pathchooser.h>
-
+#include <QtGui/QFileDialog>
#include <QtGui/QHeaderView>
#include <QtGui/QLabel>
#include <QtGui/QLayout>
+#include <QtGui/QPushButton>
#include <QtGui/QTreeWidget>
using namespace Qt4ProjectManager::Internal;
@@ -64,19 +64,11 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) :
m_treeWidget->setHeaderLabels(QStringList() << tr("Qt Version") << tr("Status") << tr("Directory"));
vbox->addWidget(m_treeWidget);
- QHBoxLayout *hbox = new QHBoxLayout;
- m_directoryLabel = new QLabel(this);
- m_directoryLabel->setText(tr("Scan for builds"));
- hbox->addWidget(m_directoryLabel);
-
- m_directoryChooser = new Utils::PathChooser(this);
- m_directoryChooser->setPromptDialogTitle(tr("Directory to import builds from"));
- m_directoryChooser->setExpectedKind(Utils::PathChooser::Directory);
- hbox->addWidget(m_directoryChooser);
- vbox->addLayout(hbox);
+ m_addDirectoryButton = new QPushButton(tr("Add shadow build location"));
+ vbox->addWidget(m_addDirectoryButton);
- connect(m_directoryChooser, SIGNAL(changed(QString)),
- this, SLOT(importDirectoryAdded(QString)));
+ connect(m_addDirectoryButton, SIGNAL(clicked()),
+ this, SLOT(addShadowBuildLocation()));
}
TargetSetupPage::~TargetSetupPage()
@@ -263,14 +255,13 @@ bool TargetSetupPage::isComplete() const
void TargetSetupPage::setImportDirectoryBrowsingEnabled(bool browsing)
{
- m_directoryChooser->setEnabled(browsing);
- m_directoryChooser->setVisible(browsing);
- m_directoryLabel->setVisible(browsing);
+ m_addDirectoryButton->setEnabled(browsing);
+ m_addDirectoryButton->setVisible(browsing);
}
void TargetSetupPage::setImportDirectoryBrowsingLocation(const QString &directory)
{
- m_directoryChooser->setInitialBrowsePathBackup(directory);
+ m_defaultShadowBuildLocation = directory;
}
void TargetSetupPage::setShowLocationInformation(bool location)
@@ -381,15 +372,23 @@ TargetSetupPage::recursivelyCheckDirectoryForBuild(const QString &directory, con
return results;
}
-void TargetSetupPage::importDirectoryAdded(const QString &directory)
+void TargetSetupPage::addShadowBuildLocation()
{
- QFileInfo dir(directory);
+ QString newPath =
+ QFileDialog::getExistingDirectory(this,
+ tr("Choose a directory to scan for additional shadow builds"),
+ m_defaultShadowBuildLocation);
+
+ if (newPath.isEmpty())
+ return;
+
+ QFileInfo dir(QDir::fromNativeSeparators(newPath));
if (!dir.exists() || !dir.isDir())
return;
- m_directoryChooser->setPath(QString());
+
QList<ImportInfo> tmp = m_infos;
m_infos.clear(); // Clear m_infos without deleting temporary QtVersions!
- tmp.append(recursivelyCheckDirectoryForBuild(directory, m_proFilePath));
+ tmp.append(recursivelyCheckDirectoryForBuild(dir.absoluteFilePath(), m_proFilePath));
setImportInfos(tmp);
}
diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h
index 9cd23791ae..9c846e101d 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h
@@ -40,13 +40,10 @@
QT_BEGIN_NAMESPACE
class QLabel;
+class QPushButton;
class QTreeWidget;
QT_END_NAMESPACE
-namespace Utils {
-class PathChooser;
-}
-
namespace Qt4ProjectManager {
class Qt4Project;
@@ -112,17 +109,17 @@ public:
private slots:
void itemWasChanged();
- void importDirectoryAdded(const QString &);
+ void addShadowBuildLocation();
private:
void resetInfos();
QList<ImportInfo> m_infos;
QTreeWidget *m_treeWidget;
- Utils::PathChooser *m_directoryChooser;
- QLabel *m_directoryLabel;
+ QPushButton *m_addDirectoryButton;
bool m_preferMobile;
QString m_proFilePath;
+ QString m_defaultShadowBuildLocation;
};
} // namespace Internal