diff options
Diffstat (limited to 'src/Viewer/Qt3DViewer/viewer.cpp')
-rw-r--r-- | src/Viewer/Qt3DViewer/viewer.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/Viewer/Qt3DViewer/viewer.cpp b/src/Viewer/Qt3DViewer/viewer.cpp index 087a6f61..28896ad9 100644 --- a/src/Viewer/Qt3DViewer/viewer.cpp +++ b/src/Viewer/Qt3DViewer/viewer.cpp @@ -95,14 +95,26 @@ void Viewer::disconnectRemote() m_remoteDeploymentReceiver->disconnectRemote(); } -// Used to load files via command line +// Used to load files via command line and when using remote deployment void Viewer::loadFile(const QString &filename) { - QFileInfo fileInfo(filename); + QString targetFilename = filename; + // Try to find the application (*.uia) file for loading instead of the presentation (*.uip) + // in case we are connected to remote sender. + if (isConnected() && targetFilename.endsWith(QStringLiteral(".uip"))) { + targetFilename.chop(4); + targetFilename.append(QStringLiteral(".uia")); + QFileInfo targetfileInfo(targetFilename); + // uia not found, revert to given uip + if (!targetfileInfo.exists()) + targetFilename = filename; + } + + QFileInfo fileInfo(targetFilename); if (!fileInfo.exists()) { setContentView(DefaultView); m_qmlRootObject->setProperty( - "error", QVariant(tr("Tried to load nonexistent file %1").arg(filename))); + "error", QVariant(tr("Tried to load nonexistent file %1").arg(targetFilename))); return; } |