From b45ac89d5028460bd61181eebae74d26fc3d5f66 Mon Sep 17 00:00:00 2001 From: kintel Date: Wed, 6 Jan 2010 04:12:50 +0000 Subject: [PATCH] Automatically add missing suffix to save filename git-svn-id: http://svn.clifford.at/openscad/trunk@211 b57f626f-c46c-0410-a088-ec61d464b74c --- mainwin.cc | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/mainwin.cc b/mainwin.cc index 43fd3294..534d1991 100644 --- a/mainwin.cc +++ b/mainwin.cc @@ -715,8 +715,27 @@ void MainWindow::actionSave() void MainWindow::actionSaveAs() { - QString new_filename = QFileDialog::getSaveFileName(this, "Save File", this->fileName, "OpenSCAD Designs (*.scad)"); + QString new_filename = + QFileDialog::getSaveFileName(this, "Save File", + this->fileName.isEmpty()?"Untitled.scad":this->fileName, + "OpenSCAD Designs (*.scad)"); if (!new_filename.isEmpty()) { + if (QFileInfo(new_filename).suffix().isEmpty()) { + new_filename.append(".scad"); + + // Manual overwrite check since Qt doesn't do it, when using the + // defaultSuffix property + QFileInfo info(new_filename); + if (info.exists()) { + if (QMessageBox::warning(this, windowTitle(), + tr("%1 already exists.\nDo you want to replace it?") + .arg(info.fileName()), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No) + != QMessageBox::Yes) { + return; + } + } + } setFileName(new_filename); actionSave(); }