From f74b7bc8012a0ce4ba322d538bcc10a1c864dd1f Mon Sep 17 00:00:00 2001 From: Leonardo Zide Date: Sat, 1 Jun 2019 11:11:36 -0700 Subject: [PATCH] Prompt to save ldr files with multiple models as mpd. Fixes #311. --- common/lc_mainwindow.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/common/lc_mainwindow.cpp b/common/lc_mainwindow.cpp index 84459c01..137df117 100644 --- a/common/lc_mainwindow.cpp +++ b/common/lc_mainwindow.cpp @@ -2259,18 +2259,25 @@ void lcMainWindow::ImportInventory() else delete NewProject; } - bool lcMainWindow::SaveProject(const QString& FileName) { - QString SaveFileName; + QString SaveFileName = FileName; Project* Project = lcGetActiveProject(); - if (!FileName.isEmpty()) - SaveFileName = FileName; - else + if (!SaveFileName.isEmpty() && Project->GetModels().GetSize() > 1 && QFileInfo(SaveFileName).suffix().toLower() != QLatin1String("mpd")) + SaveFileName.clear(); + + if (SaveFileName.isEmpty()) { SaveFileName = Project->GetFileName(); + if (Project->GetModels().GetSize() > 1 && QFileInfo(SaveFileName).suffix().toLower() != QLatin1String("mpd")) + { + int SuffixLength = QFileInfo(SaveFileName).suffix().length(); + if (SuffixLength) + SaveFileName = SaveFileName.left(SaveFileName.length() - SuffixLength - 1); + } + if (SaveFileName.isEmpty()) SaveFileName = QFileInfo(QDir(lcGetProfileString(LC_PROFILE_PROJECTS_PATH)), Project->GetTitle()).absoluteFilePath();