MCPcopy Create free account
hub / github.com/collin80/SavvyCAN / loadNewScript

Method loadNewScript

scriptingwindow.cpp:179–224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179void 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
226void ScriptingWindow::createNewScript()
227{

Callers

nothing calls this directly

Calls 4

appendMethod · 0.80
addItemMethod · 0.80
setScriptWindowMethod · 0.80
compileScriptMethod · 0.80

Tested by

no test coverage detected