| 177 | } |
| 178 | |
| 179 | void ScriptingWindow::loadNewScript() |
| 180 | { |
| 181 | QString filename; |
| 182 | QFileDialog dialog; |
| 183 | QSettings settings; |
| 184 | ScriptContainer *container; |
| 185 | |
| 186 | QStringList filters; |
| 187 | filters.append(QString(tr("Javascript File (*.js)"))); |
| 188 | |
| 189 | dialog.setDirectory(settings.value("ScriptingWindow/LoadSaveDirectory", dialog.directory().path()).toString()); |
| 190 | dialog.setFileMode(QFileDialog::ExistingFile); |
| 191 | dialog.setNameFilters(filters); |
| 192 | dialog.setViewMode(QFileDialog::Detail); |
| 193 | |
| 194 | if (dialog.exec() == QDialog::Accepted) |
| 195 | { |
| 196 | filename = dialog.selectedFiles()[0]; |
| 197 | |
| 198 | if (dialog.selectedNameFilter() == filters[0]) |
| 199 | { |
| 200 | QFile scriptFile(filename); |
| 201 | |
| 202 | if (scriptFile.open(QIODevice::ReadOnly)) |
| 203 | { |
| 204 | QString contents = scriptFile.readAll(); |
| 205 | scriptFile.close(); |
| 206 | QStringList fileList = filename.split('/'); |
| 207 | QString justFileName = fileList[fileList.length() - 1]; |
| 208 | ui->listLoadedScripts->addItem(justFileName); |
| 209 | |
| 210 | container = new ScriptContainer(); |
| 211 | container->fileName = justFileName; |
| 212 | container->filePath = filename; |
| 213 | container->scriptText = contents; |
| 214 | container->setScriptWindow(this); |
| 215 | container->compileScript(); |
| 216 | scripts.append(container); |
| 217 | |
| 218 | ui->listLoadedScripts->setCurrentRow(ui->listLoadedScripts->count() - 1); |
| 219 | changeCurrentScript(); |
| 220 | settings.setValue("ScriptingWindow/LoadSaveDirectory", dialog.directory().path()); |
| 221 | } |
| 222 | } |
| 223 | } |
| 224 | } |
| 225 | |
| 226 | void ScriptingWindow::createNewScript() |
| 227 | { |
nothing calls this directly
no test coverage detected