Mercurial > hg > sonic-visualiser
comparison main/MainWindow.cpp @ 431:ee927c1b7941 templating
Sanitise template file name; ask for confirmation when overwriting
author | Chris Cannam |
---|---|
date | Wed, 11 May 2011 14:41:27 +0100 |
parents | 45bfc5962c33 |
children | db0c86c4e5e9 |
comparison
equal
deleted
inserted
replaced
430:45bfc5962c33 | 431:ee927c1b7941 |
---|---|
2889 QString name = QInputDialog::getText | 2889 QString name = QInputDialog::getText |
2890 (this, tr("Enter template name"), | 2890 (this, tr("Enter template name"), |
2891 tr("Please enter a name for the saved template:")); | 2891 tr("Please enter a name for the saved template:")); |
2892 if (name == "") return; | 2892 if (name == "") return; |
2893 | 2893 |
2894 //!!! sanitise name! | 2894 name.replace(QRegExp("[^\\w\\s\\.\"'-]"), "_"); |
2895 | |
2896 //!!! check/confirm if target exists! | |
2897 | 2895 |
2898 ResourceFinder rf; | 2896 ResourceFinder rf; |
2899 QString dir = rf.getResourceSaveDir("templates"); | 2897 QString dir = rf.getResourceSaveDir("templates"); |
2900 saveSessionTemplate(QString("%1/%2.svt").arg(dir).arg(name)); | 2898 QString filename = QString("%1/%2.svt").arg(dir).arg(name); |
2899 if (QFile(filename).exists()) { | |
2900 if (QMessageBox::warning(this, | |
2901 tr("Template file exists"), | |
2902 tr("<b>Template file exists</b><p>The template \"%1\" already exists.<br>Overwrite it?").arg(name), | |
2903 QMessageBox::Ok | QMessageBox::Cancel, | |
2904 QMessageBox::Cancel) != QMessageBox::Ok) { | |
2905 return; | |
2906 } | |
2907 } | |
2908 | |
2909 saveSessionTemplate(filename); | |
2901 } | 2910 } |
2902 | 2911 |
2903 void | 2912 void |
2904 MainWindow::manageSavedTemplates() | 2913 MainWindow::manageSavedTemplates() |
2905 { | 2914 { |