summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSergey Dubitskiy <sergey.dubitskiy@nokia.com>2012-01-17 14:03:32 +1000
committerDanny Pope <daniel.pope@nokia.com>2012-02-01 03:18:43 +0100
commitee3672541d459c343511521104d6a67681606c2e (patch)
tree9ccba082a17a7a9f7e1f7634af239205511e6901
parent48e13601ebf29632e26a7b1379109757ff6d1514 (diff)
QTBUG-23551. Model is copied to the dir where QML is saved.
Change-Id: I18ba1dbb3236b6596f9886b165f93135f761ae89 Reviewed-by: Danny Pope <daniel.pope@nokia.com>
-rw-r--r--util/qt3d/modeltweak/quickfile.cpp29
1 files changed, 25 insertions, 4 deletions
diff --git a/util/qt3d/modeltweak/quickfile.cpp b/util/qt3d/modeltweak/quickfile.cpp
index 699670aa3..52bae098b 100644
--- a/util/qt3d/modeltweak/quickfile.cpp
+++ b/util/qt3d/modeltweak/quickfile.cpp
@@ -45,10 +45,31 @@ QString QuickFile::save() const
if (!filename.endsWith(".qml"))
filename.append(".qml");
- QString modelFilename = QUrl(_filename).toLocalFile();
-
QDir outputDir = QFileInfo(filename).absoluteDir();
- QString relativeFilename = outputDir.relativeFilePath(modelFilename);
+
+ QString modelFilename = QUrl(_filename).toLocalFile();
+ QString modelFN = QFileInfo(modelFilename).fileName();
+
+ QString dstModelLocation = outputDir.path() + QDir::separator() + modelFN;
+ if (dstModelLocation.compare(modelFilename,Qt::CaseInsensitive) != 0) {
+ // src and dst model paths are different.
+ // Copy model file over.
+ qDebug("Attempting to copy:");
+ qDebug(" from: %s",modelFilename.toAscii().constData());
+ qDebug(" to : %s",dstModelLocation.toAscii().constData());
+ QFile dstModelFile(dstModelLocation);
+ if (dstModelFile.exists()) {
+ if (!dstModelFile.remove()) {
+ qDebug(" failed to remove dst file!");
+ }
+ }
+ QFile srcModelFile(modelFilename);
+ if (srcModelFile.copy(dstModelLocation)) {
+ qDebug(" Model was copied successfully.");
+ } else {
+ qDebug(" failed to copy model file !");
+ }
+ }
QFile file(filename);
@@ -57,7 +78,7 @@ QString QuickFile::save() const
if (!file.open(QFile::WriteOnly))
return file.errorString();
- QString dataToWrite = _data.arg(relativeFilename);
+ QString dataToWrite = _data.arg(modelFN);
file.write(dataToWrite.toUtf8());