summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--util/qt3d/modeltweak/QuickSave.h17
-rw-r--r--util/qt3d/modeltweak/qml/ConfigPane.qml2
2 files changed, 13 insertions, 6 deletions
diff --git a/util/qt3d/modeltweak/QuickSave.h b/util/qt3d/modeltweak/QuickSave.h
index 77af1951..9cba5835 100644
--- a/util/qt3d/modeltweak/QuickSave.h
+++ b/util/qt3d/modeltweak/QuickSave.h
@@ -20,20 +20,27 @@ public:
QuickSave(QObject *parent=0) : QObject(parent) {}
QString save() const {
- QString fileName = QFileDialog::getOpenFileName(0, tr("Save File"), "",tr("Files (*.qml)"));
+ QString qmlFilename = QFileDialog::getOpenFileName(0, tr("Save File"), "",tr("Files (*.qml)"));
// FIXME: ensure fileName is appropriate as a qml Component
- if(!fileName.endsWith(".qml"))
- fileName.append(".qml");
+ if(!qmlFilename.endsWith(".qml"))
+ qmlFilename.append(".qml");
- QFile file(fileName);
+ QString modelFilename = QUrl(_filename).toLocalFile();
+
+ QDir outputDir = QFileInfo(qmlFilename).absoluteDir();
+ QString relativeFilename = outputDir.relativeFilePath(modelFilename);
+
+ QFile file(qmlFilename);
qDebug("Attempting to write: %s", file.fileName().toAscii().constData());
if (!file.open(QFile::WriteOnly))
return file.errorString();
- file.write(_data.toUtf8());
+ QString dataToWrite = _data.arg(relativeFilename);
+
+ file.write(dataToWrite.toUtf8());
file.close();
diff --git a/util/qt3d/modeltweak/qml/ConfigPane.qml b/util/qt3d/modeltweak/qml/ConfigPane.qml
index 81e46584..e1f61a01 100644
--- a/util/qt3d/modeltweak/qml/ConfigPane.qml
+++ b/util/qt3d/modeltweak/qml/ConfigPane.qml
@@ -174,7 +174,7 @@ Row {
"\n" +
" Mesh {\n" +
" id: source_mesh\n" +
- " source: \"" + targetMesh + "\"\n" +
+ " source: \"%1\"\n" +
" }\n" +
"\n" +
" mesh: source_mesh\n" +