diff --git a/src/app/valentina/dialogs/dialogsavelayout.cpp b/src/app/valentina/dialogs/dialogsavelayout.cpp index e02c06fa1..dc64c686a 100644 --- a/src/app/valentina/dialogs/dialogsavelayout.cpp +++ b/src/app/valentina/dialogs/dialogsavelayout.cpp @@ -219,9 +219,13 @@ void DialogSaveLayout::ShowExample() //--------------------------------------------------------------------------------------------------------------------- void DialogSaveLayout::Browse() { - const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"), QDir::homePath(), + const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"), + qApp->ValentinaSettings()->GetPathLayout(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); - ui->lineEditPath->setText(dir); + if (not dir.isEmpty()) + {// If paths equal the signal will not be called, we will do this manually + dir == ui->lineEditPath->text() ? PathChanged(dir) : ui->lineEditPath->setText(dir); + } } //--------------------------------------------------------------------------------------------------------------------- diff --git a/src/app/valentina/mainwindowsnogui.cpp b/src/app/valentina/mainwindowsnogui.cpp index d56a69887..8c9e84179 100644 --- a/src/app/valentina/mainwindowsnogui.cpp +++ b/src/app/valentina/mainwindowsnogui.cpp @@ -213,6 +213,16 @@ void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog) suf.replace(".", ""); const QString path = dialog.Path(); + QDir dir(path); + dir.setPath(path); + if (not dir.exists(path)) + { + if (not dir.mkpath(path)) + { + qCritical() << tr("Can't create path"); + return; + } + } qApp->ValentinaSettings()->SetPathLayout(path); const QString mask = dialog.FileName();