| 287 | } |
| 288 | |
| 289 | void ScriptingWindow::saveScript() |
| 290 | { |
| 291 | QString filename; |
| 292 | QFileDialog dialog(this); |
| 293 | QSettings settings; |
| 294 | |
| 295 | QStringList filters; |
| 296 | filters.append(QString(tr("Javascript File (*.js)"))); |
| 297 | |
| 298 | dialog.setDirectory(settings.value("ScriptingWindow/LoadSaveDirectory", dialog.directory().path()).toString()); |
| 299 | dialog.setFileMode(QFileDialog::AnyFile); |
| 300 | dialog.setNameFilters(filters); |
| 301 | dialog.setViewMode(QFileDialog::Detail); |
| 302 | dialog.setAcceptMode(QFileDialog::AcceptSave); |
| 303 | |
| 304 | if (dialog.exec() == QDialog::Accepted) |
| 305 | { |
| 306 | filename = dialog.selectedFiles()[0]; |
| 307 | if (!filename.contains('.')) filename += ".js"; |
| 308 | if (dialog.selectedNameFilter() == filters[0]) |
| 309 | { |
| 310 | QFile *outFile = new QFile(filename); |
| 311 | |
| 312 | if (!outFile->open(QIODevice::WriteOnly | QIODevice::Text)) |
| 313 | { |
| 314 | delete outFile; |
| 315 | return; |
| 316 | } |
| 317 | outFile->write(editor->toPlainText().toUtf8()); |
| 318 | outFile->close(); |
| 319 | delete outFile; |
| 320 | settings.setValue("ScriptingWindow/LoadSaveDirectory", dialog.directory().path()); |
| 321 | } |
| 322 | } |
| 323 | } |
| 324 | |
| 325 | void ScriptingWindow::revertScript() |
| 326 | { |