summaryrefslogtreecommitdiff
path: root/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-11-28 08:34:37 +0100
committerEike Ziller <eike.ziller@nokia.com>2011-11-28 08:34:37 +0100
commitb50e48a1fa2a4ff17f4353dd34e5c0a0d36b348c (patch)
tree2f0ebd8b430ad11468d44e68d49bf497217e565c /src/plugins/qtsupport/gettingstartedwelcomepage.cpp
parentadd5c8cb7a506f159b1660396acf7f327861ba93 (diff)
parent8500fa9f6ac5de53b6e669f9a4346b14ffcb6c4f (diff)
downloadqt-creator-b50e48a1fa2a4ff17f4353dd34e5c0a0d36b348c.tar.gz
Merge remote-tracking branch 'origin/2.4'
Conflicts: share/qtcreator/welcomescreen/widgets/ExampleDelegate.qml src/plugins/qtsupport/exampleslistmodel.cpp src/plugins/qtsupport/exampleslistmodel.h src/plugins/qtsupport/gettingstartedwelcomepage.cpp src/plugins/qtsupport/gettingstartedwelcomepage.h Change-Id: I268072db01064d71bc4828942d71fc772ddd3539
Diffstat (limited to 'src/plugins/qtsupport/gettingstartedwelcomepage.cpp')
-rw-r--r--src/plugins/qtsupport/gettingstartedwelcomepage.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
index 757855a417..39318f9768 100644
--- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
+++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp
@@ -304,7 +304,7 @@ QStringList ExamplesWelcomePage::tagList() const
return examplesModel()->tags();
}
-QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileInfo, QStringList &filesToOpen)
+QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileInfo, QStringList &filesToOpen, const QStringList& dependencies)
{
const QString projectDir = proFileInfo.canonicalPath();
QDialog d(Core::ICore::instance()->mainWindow());
@@ -359,6 +359,15 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI
for (it = filesToOpen.begin(); it != filesToOpen.end(); ++it)
it->replace(projectDir, targetDir);
+ foreach (const QString &dependency, dependencies) {
+ QString dirName = QDir(dependency).dirName();
+ if (!Utils::FileUtils::copyRecursively(dependency, targetDir + QDir::separator()+ dirName, &error)) {
+ QMessageBox::warning(Core::ICore::instance()->mainWindow(), tr("Cannot Copy Project"), error);
+ // do not fail, just warn;
+ }
+ }
+
+
return targetDir+ '/' + proFileInfo.fileName();
} else {
QMessageBox::warning(Core::ICore::instance()->mainWindow(), tr("Cannot Copy Project"), error);
@@ -370,7 +379,8 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI
}
-void ExamplesWelcomePage::openProject(const QString &projectFile, const QStringList &additionalFilesToOpen, const QUrl &help)
+void ExamplesWelcomePage::openProject(const QString &projectFile, const QStringList &additionalFilesToOpen,
+ const QUrl &help, const QStringList &dependencies)
{
QString proFile = projectFile;
if (proFile.isEmpty())
@@ -380,7 +390,7 @@ void ExamplesWelcomePage::openProject(const QString &projectFile, const QStringL
QFileInfo proFileInfo(proFile);
// If the Qt is a distro Qt on Linux, it will not be writable, hence compilation will fail
if (!proFileInfo.isWritable())
- proFile = copyToAlternativeLocation(proFileInfo, filesToOpen);
+ proFile = copyToAlternativeLocation(proFileInfo, filesToOpen, dependencies);
// don't try to load help and files if loading the help request is being cancelled
QString errorMessage;