1 #include <QApplication>
2 #include <QProcess>
3 #include <QInputDialog>
4 #include <QFileDialog>
5 #include <QFontMetrics>
6 
7 #include "scriptengine.h"
8 #include "mainwindow.h"
9 #include "qchdmansettings.h"
10 #include "ui_projectwidget.h"
11 #include "ui_scriptwidget.h"
12 
13 #if defined(QCHDMAN_DEBUG)
14 #define QCHDMAN_SCRIPT_ENGINE_DEBUG(x) x
15 #else
16 #define QCHDMAN_SCRIPT_ENGINE_DEBUG(x) ;
17 #endif
18 
19 extern MainWindow *mainWindow;
20 extern QtChdmanGuiSettings *globalConfig;
21 
ScriptEngine(ScriptWidget * parent)22 ScriptEngine::ScriptEngine(ScriptWidget *parent) :
23 	QObject(parent)
24 {
25 	mEngine = new QScriptEngine(this);
26 	mEngine->globalObject().setProperty("scriptEngine", mEngine->newQObject(this));
27 	mEngine->globalObject().setProperty("qchdman", mEngine->newQObject(this));
28 	mEngine->setProcessEventsInterval(QCHDMAN_SCR_EVENT_INTERVAL);
29 	mScriptWidget = parent;
30 	externalStop = mInputOk = false;
31 	mErrorStates << QCHDMAN_PRJSTAT_CRASHED << QCHDMAN_PRJSTAT_ERROR;
32 	mEntryListIterator = 0;
33 	mEngineDebugger = 0;
34 	mRunningProjects = 0;
35 }
36 
~ScriptEngine()37 ScriptEngine::~ScriptEngine()
38 {
39 	externalStop = true;
40 	if ( mEngineDebugger ) {
41 		mEngineDebugger->standardWindow()->close();
42 		qApp->processEvents();
43 		mEngineDebugger->detach();
44 		delete mEngineDebugger;
45 		mEngineDebugger = 0;
46 	}
47 	if ( !mProjectMap.isEmpty() )
48 		destroyProjects();
49 	delete mEngine;
50 	if ( mEntryListIterator )
51 		delete mEntryListIterator;
52 }
53 
runScript(QString script)54 void ScriptEngine::runScript(QString script)
55 {
56 	externalStop = mInputOk = false;
57 	if ( !mProjectMap.isEmpty() )
58 		destroyProjects();
59 	mScriptWidget->on_progressBar_valueChanged(0);
60 	if ( mEngineDebugger ) {
61 		mEngineDebugger->standardWindow()->close();
62 		qApp->processEvents();
63 		mEngineDebugger->detach();
64 		delete mEngineDebugger;
65 		mEngineDebugger = 0;
66 	}
67 	disconnectScriptSignals();
68 	mEngineDebugger = new QScriptEngineDebugger(this);
69 	mEngineDebugger->attachTo(mEngine);
70 	mEngine->evaluate(script);
71 	mEngine->collectGarbage();
72 }
73 
stopScript()74 void ScriptEngine::stopScript()
75 {
76 	externalStop = true;
77 	mInputOk = false;
78 	mEngine->abortEvaluation();
79 	mEngine->collectGarbage();
80 	disconnectScriptSignals();
81 	if ( !mProjectMap.isEmpty() ) {
82 		stopProjects();
83 		destroyProjects();
84 	}
85 	if ( mEngineDebugger ) {
86 		mEngineDebugger->standardWindow()->close();
87 		qApp->processEvents();
88 		mEngineDebugger->detach();
89 		delete mEngineDebugger;
90 		mEngineDebugger = 0;
91 	}
92 }
93 
disconnectScriptSignals()94 void ScriptEngine::disconnectScriptSignals()
95 {
96 	disconnect(SIGNAL(projectStarted(QString)));
97 	disconnect(SIGNAL(projectFinished(QString)));
98 }
99 
log(QString message)100 void ScriptEngine::log(QString message)
101 {
102 	if ( !externalStop )
103 		mScriptWidget->log(message);
104 }
105 
dirStartEntryList(QString path,QString filter,bool subDirs)106 void ScriptEngine::dirStartEntryList(QString path, QString filter, bool subDirs)
107 {
108 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dirStartEntryList(QString path = %1, QString filter = %2, bool subDirs = %3)").arg(path).arg(filter).arg(subDirs)));
109 
110 	if ( mEntryListIterator )
111 		delete mEntryListIterator;
112 
113 	QStringList nameFilters;
114 
115 	if ( filter.isEmpty() )
116 		nameFilters << "*";
117 	else
118 		nameFilters = filter.split(QRegExp(",.*"), QString::SkipEmptyParts);
119 
120 	if ( subDirs )
121 		mEntryListIterator = new QDirIterator(path, nameFilters, QDir::Dirs | QDir::NoDotAndDotDot | QDir::Readable | QDir::CaseSensitive);
122 	else
123 		mEntryListIterator = new QDirIterator(path, nameFilters, QDir::Files | QDir::NoDotAndDotDot | QDir::Readable | QDir::CaseSensitive);
124 }
125 
dirHasNextEntry()126 bool ScriptEngine::dirHasNextEntry()
127 {
128 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dirHasNextEntry(")));
129 
130 	return mEntryListIterator->hasNext();
131 }
132 
dirNextEntry()133 QString ScriptEngine::dirNextEntry()
134 {
135 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dirNextEntry(")));
136 
137 	if ( mEntryListIterator->hasNext() )
138 		return mEntryListIterator->next();
139 	else
140 		return QString();
141 }
142 
dirEntryList(QString path,QString filter,bool sort,bool ascending)143 QStringList ScriptEngine::dirEntryList(QString path, QString filter, bool sort, bool ascending)
144 {
145 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dirEntryList(QString path = %1, QString filter = %2, bool sort = %3, bool ascending = %4)").arg(path).arg(filter).arg(sort).arg(ascending)));
146 
147 	QStringList nameFilters;
148 
149 	if ( filter.isEmpty() )
150 		nameFilters << "*";
151 	else
152 		nameFilters = filter.split(QRegExp(",.*"), QString::SkipEmptyParts);
153 
154 	mEntryListDir.setPath(path);
155 	mEntryListDir.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::Readable | QDir::CaseSensitive);
156 	mEntryListDir.setNameFilters(nameFilters);
157 
158 	if ( sort ) {
159 		if ( ascending )
160 			mEntryListDir.setSorting(QDir::Name);
161 		else
162 			mEntryListDir.setSorting(QDir::Name | QDir::Reversed);
163 	} else
164 		mEntryListDir.setSorting(QDir::Name | QDir::Unsorted);
165 
166 	return mEntryListDir.entryList();
167 }
168 
dirSubDirList(QString path,QString filter,bool sort,bool ascending)169 QStringList ScriptEngine::dirSubDirList(QString path, QString filter, bool sort, bool ascending)
170 {
171 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dirSubDirList(QString path = %1, QString filter = %2, bool sort = %3, bool ascending = %4)").arg(path).arg(filter).arg(sort).arg(ascending)));
172 
173 	QStringList nameFilters;
174 
175 	if ( filter.isEmpty() )
176 		nameFilters << "*";
177 	else
178 		nameFilters = filter.split(QRegExp(",.*"), QString::SkipEmptyParts);
179 
180 	mEntryListDir.setPath(path);
181 	mEntryListDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::Readable | QDir::CaseSensitive);
182 	mEntryListDir.setNameFilters(nameFilters);
183 
184 	if ( sort ) {
185 		if ( ascending )
186 			mEntryListDir.setSorting(QDir::Name);
187 		else
188 			mEntryListDir.setSorting(QDir::Name | QDir::Reversed);
189 	} else
190 		mEntryListDir.setSorting(QDir::Name | QDir::Unsorted);
191 
192 	return mEntryListDir.entryList();
193 }
194 
dumpHardDiskTemplates()195 void ScriptEngine::dumpHardDiskTemplates()
196 {
197 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::dumpHardDiskTemplates()")));
198 
199 	foreach (QString vendorName, MainWindow::hardDiskTemplates.keys())
200 		foreach (DiskGeometry geo, MainWindow::hardDiskTemplates[vendorName])
201 			log(QString("vendorName = %1, diskName = %2, sectorSize = %3, cylinders = %4, heads = %5, sectors = %6, volumeSize = %7").
202 			    arg(vendorName).
203 			    arg(geo.name).
204 			    arg(geo.sectorSize).
205 			    arg(geo.cyls).
206 			    arg(geo.heads).
207 			    arg(geo.sectors).
208 			    arg(mainWindow->humanReadable((qreal)geo.cyls * (qreal)geo.heads * (qreal)geo.sectors * (qreal)geo.sectorSize)));
209 }
210 
runShellCommand(QString command,bool detached)211 int ScriptEngine::runShellCommand(QString command, bool detached)
212 {
213 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::runShellCommand(QString command = %1, bool detached = %2)").arg(command).arg(detached)));
214 
215 	if ( detached ) {
216 		if ( QProcess::startDetached(command) )
217 			return 0;
218 		else
219 			return 1;
220 	} else
221 		return QProcess::execute(command);
222 }
223 
createPath(QString path)224 bool ScriptEngine::createPath(QString path)
225 {
226 	QDir dir(path);
227 	return dir.mkpath(dir.absolutePath());
228 }
229 
removePath(QString path)230 bool ScriptEngine::removePath(QString path)
231 {
232 	QDir dir(path);
233 	return dir.rmpath(dir.absolutePath());
234 }
235 
inputGetFilePath(QString initialPath,QString filter,QString windowTitle)236 QString ScriptEngine::inputGetFilePath(QString initialPath, QString filter, QString windowTitle)
237 {
238 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetFilePath(QString initialPath = %1, QString filter = %2, QString windowTitle = %3)").arg(initialPath).arg(filter).arg(windowTitle)));
239 
240 	QString chosenFile = QFileDialog::getOpenFileName(mScriptWidget, windowTitle.isEmpty() ? tr("Choose file") : windowTitle, initialPath, filter, 0, globalConfig->preferencesNativeFileDialogs() ? (QFileDialog::Options)0 : QFileDialog::DontUseNativeDialog);
241 	mInputOk = !chosenFile.isNull();
242 	return chosenFile;
243 }
244 
inputGetFolderPath(QString initialPath,QString windowTitle)245 QString ScriptEngine::inputGetFolderPath(QString initialPath, QString windowTitle)
246 {
247 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetFolderPath(QString initialPath = %1, QString windowTitle = %2)").arg(initialPath).arg(windowTitle)));
248 
249 	QString chosenFolder = QFileDialog::getExistingDirectory(mScriptWidget, windowTitle.isEmpty() ? tr("Choose folder") : windowTitle, initialPath, globalConfig->preferencesNativeFileDialogs() ? (QFileDialog::Options)0 : QFileDialog::DontUseNativeDialog);
250 	mInputOk = !chosenFolder.isNull();
251 	return chosenFolder;
252 }
253 
inputGetStringValue(QString initialValue,QString windowTitle,QString labelText)254 QString ScriptEngine::inputGetStringValue(QString initialValue, QString windowTitle, QString labelText)
255 {
256 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetStringValue(QString initialValue = %1, QString windowTitle = %2, QString labelText = %3)").arg(initialValue).arg(windowTitle).arg(labelText)));
257 
258 	return QInputDialog::getText(mScriptWidget, windowTitle.isEmpty() ? tr("Input text") : windowTitle, labelText.isEmpty() ? tr("Input text") : labelText, QLineEdit::Normal, initialValue, &mInputOk);
259 }
260 
inputGetListItem(QString initialValue,QStringList itemList,bool editable,QString windowTitle,QString labelText)261 QString ScriptEngine::inputGetListItem(QString initialValue, QStringList itemList, bool editable, QString windowTitle, QString labelText)
262 {
263 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetListItem(QString initialValue = %1, QStringList itemList = ..., bool editable = %2, QString windowTitle = %3, QString labelText = %4)").arg(initialValue).arg(editable).arg(windowTitle).arg(labelText)));
264 
265 	int currentIndex = itemList.indexOf(initialValue);
266 	return QInputDialog::getItem(mScriptWidget, windowTitle.isEmpty() ? tr("Choose item") : windowTitle, labelText.isEmpty() ? tr("Choose item") : labelText, itemList, currentIndex < 0 ? 0 : currentIndex, editable, &mInputOk);
267 }
268 
inputGetIntValue(int initialValue,QString windowTitle,QString labelText)269 int ScriptEngine::inputGetIntValue(int initialValue, QString windowTitle, QString labelText)
270 {
271 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetIntValue(int initialValue = %1, QString windowTitle = %2, QString labelText = %3)").arg(initialValue).arg(windowTitle).arg(labelText)));
272 
273 	return QInputDialog::getInt(mScriptWidget, windowTitle.isEmpty() ? tr("Input value") : windowTitle, labelText.isEmpty() ? tr("Input value") : labelText, initialValue, -2147483647, 2147483647, 1, &mInputOk);
274 }
275 
inputGetDoubleValue(double initialValue,int decimals,QString windowTitle,QString labelText)276 double ScriptEngine::inputGetDoubleValue(double initialValue, int decimals, QString windowTitle, QString labelText)
277 {
278 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::inputGetDoubleValue(double initialValue = %1, int decimals = %2, QString windowTitle = %3, QString labelText = %4)").arg(initialValue).arg(decimals).arg(windowTitle).arg(labelText)));
279 
280 	return QInputDialog::getDouble(mScriptWidget, windowTitle.isEmpty() ? tr("Input value") : windowTitle, labelText.isEmpty() ? tr("Input value") : labelText, initialValue, -2147483647, 2147483647, decimals, &mInputOk);
281 }
282 
progressSetRange(int min,int max)283 void ScriptEngine::progressSetRange(int min, int max)
284 {
285 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::progressSetRange(int min = %1, int max = %2)").arg(min).arg(max)));
286 
287 	mScriptWidget->ui->progressBar->setRange(min, max);
288 }
289 
progressSetValue(int value)290 void ScriptEngine::progressSetValue(int value)
291 {
292 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::progressSetValue(int value = %1)").arg(value)));
293 
294 	mScriptWidget->ui->progressBar->setValue(value);
295 }
296 
progressGetValue()297 int ScriptEngine::progressGetValue()
298 {
299 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::progressGetValue()")));
300 
301 	return mScriptWidget->ui->progressBar->value();
302 }
303 
projectCreate(QString id,QString type)304 void ScriptEngine::projectCreate(QString id, QString type)
305 {
306 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectCreate(QString id = %1, QString type = %2)").arg(id).arg(type)));
307 
308 	if ( mProjectMap.contains(id) )
309 		log(tr("warning") + ": ScriptEngine::projectCreate(): " + tr("project '%1' already exists").arg(id));
310 	else {
311 		int typeIndex = MainWindow::projectTypeIndex(type);
312 		if ( typeIndex >= 0 ) {
313 			mProjectMap[id] = new ProjectWidget(0, true, typeIndex, id, this);
314 			connect(mProjectMap[id], SIGNAL(processStarted(ProjectWidget*)), this, SLOT(processStarted(ProjectWidget*)));
315 			connect(mProjectMap[id], SIGNAL(processFinished(ProjectWidget*)), this, SLOT(processFinished(ProjectWidget*)));
316 			connect(mProjectMap[id], SIGNAL(progressValueChanged(ProjectWidget*,int)), this, SLOT(monitorUpdateProgress(ProjectWidget*,int)));
317 		} else
318 			log(tr("warning") + ": ScriptEngine::projectCreate(): " + tr("project type '%1' doesn't exists - valid types are: %2").arg(id).arg(MainWindow::projectTypes.join(", ")));
319 	}
320 }
321 
projectCreateFromFile(QString id,QString fileName)322 void ScriptEngine::projectCreateFromFile(QString id, QString fileName)
323 {
324 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectCreateFromFile(QString id = %1, QString fileName = %2)").arg(id).arg(fileName)));
325 
326 	if ( mProjectMap.contains(id) )
327 		log(tr("warning") + ": ScriptEngine::projectCreateFromFile(): " + tr("project '%1' already exists").arg(id));
328 	else {
329 		mProjectMap[id] = new ProjectWidget(0, true, QCHDMAN_PRJ_UNKNOWN, id, this);
330 		mProjectMap[id]->load(fileName);
331 		connect(mProjectMap[id], SIGNAL(processStarted(ProjectWidget*)), this, SLOT(processStarted(ProjectWidget*)));
332 		connect(mProjectMap[id], SIGNAL(processFinished(ProjectWidget*)), this, SLOT(processFinished(ProjectWidget*)));
333 		connect(mProjectMap[id], SIGNAL(progressValueChanged(ProjectWidget*,int)), this, SLOT(monitorUpdateProgress(ProjectWidget*,int)));
334 	}
335 }
336 
projectCreateFromString(QString id,QString buffer)337 void ScriptEngine::projectCreateFromString(QString id, QString buffer)
338 {
339 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectCreateFromString(QString id = %1, QString buffer = %2)").arg(id).arg(buffer)));
340 
341 	if ( mProjectMap.contains(id) )
342 		log(tr("warning") + ": ScriptEngine::projectCreateFromString(): " + tr("project '%1' already exists").arg(id));
343 	else {
344 		mProjectMap[id] = new ProjectWidget(0, true, QCHDMAN_PRJ_UNKNOWN, id, this);
345 		mProjectMap[id]->load(QString(), &buffer);
346 		connect(mProjectMap[id], SIGNAL(processStarted(ProjectWidget*)), this, SLOT(processStarted(ProjectWidget*)));
347 		connect(mProjectMap[id], SIGNAL(processFinished(ProjectWidget*)), this, SLOT(processFinished(ProjectWidget*)));
348 		connect(mProjectMap[id], SIGNAL(progressValueChanged(ProjectWidget*,int)), this, SLOT(monitorUpdateProgress(ProjectWidget*,int)));
349 	}
350 }
351 
projectClone(QString sourceId,QString destinationId)352 void ScriptEngine::projectClone(QString sourceId, QString destinationId)
353 {
354 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectClone(QString sourceId = %1, QString destinationId = %2)").arg(sourceId).arg(destinationId)));
355 
356 	if ( mProjectMap.contains(sourceId) ) {
357 		if ( mProjectMap.contains(destinationId) )
358 			log(tr("warning") + ": ScriptEngine::projectClone(): " + tr("project '%1' already exists").arg(destinationId));
359 		else {
360 			QString buffer;
361 			mProjectMap[sourceId]->save(&buffer);
362 			projectCreateFromString(destinationId, buffer);
363 		}
364 	} else
365 		log(tr("warning") + ": ScriptEngine::projectClone(): " + tr("project '%1' doesn't exists").arg(sourceId));
366 }
367 
projectDestroy(QString id)368 void ScriptEngine::projectDestroy(QString id)
369 {
370 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectDestroy(QString id = %1)").arg(id)));
371 
372 	if ( mProjectMap.contains(id) ) {
373 		delete mProjectMap[id];
374 		mProjectMap.remove(id);
375 	} else
376 		log(tr("warning") + ": ScriptEngine::projectDestroy(): " + tr("project '%1' doesn't exists").arg(id));
377 }
378 
projectStatus(QString id)379 QString ScriptEngine::projectStatus(QString id)
380 {
381 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectStatus(QString id = %1)").arg(id)));
382 
383 	if ( mProjectMap.contains(id) )
384 		return mProjectMap[id]->status;
385 	else
386 		return QCHDMAN_PRJSTAT_UNKNOWN;
387 }
388 
projectReturnCode(QString id)389 int ScriptEngine::projectReturnCode(QString id)
390 {
391 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectReturnCode(QString id = %1)").arg(id)));
392 
393 	if ( mProjectMap.contains(id) ) {
394 		if ( mProjectMap[id]->chdmanProc )
395 			return mProjectMap[id]->lastRc;
396 		else
397 			log(tr("warning") + ": ScriptEngine::projectReturnCode(): " + tr("project '%1' hasn't run yet").arg(id));
398 	} else
399 		log(tr("warning") + ": ScriptEngine::projectReturnCode(): " + tr("project '%1' doesn't exists").arg(id));
400 
401 	return -1;
402 }
403 
projectSetType(QString id,QString type)404 void ScriptEngine::projectSetType(QString id, QString type)
405 {
406 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetType(QString id = %1, QString type = %2)").arg(id).arg(type)));
407 
408 	if ( mProjectMap.contains(id) )
409 		mProjectMap[id]->setProjectType(MainWindow::projectTypeIndex(type));
410 	else
411 		log(tr("warning") + ": ScriptEngine::projectSetType(): " + tr("project '%1' doesn't exists").arg(id));
412 }
413 
projectGetType(QString id)414 QString ScriptEngine::projectGetType(QString id)
415 {
416 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetType(QString id = %1)").arg(id)));
417 
418 	if ( mProjectMap.contains(id) )
419 		return MainWindow::projectTypes[mProjectMap[id]->ui->comboBoxProjectType->currentIndex()];
420 	else {
421 		log(tr("warning") + ": ScriptEngine::projectGetType(): " + tr("project '%1' doesn't exists").arg(id));
422 		return QString();
423 	}
424 }
425 
projectToWindow(QString id)426 void ScriptEngine::projectToWindow(QString id)
427 {
428 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectToWindow(QString id = %1)").arg(id)));
429 
430 	if ( mProjectMap.contains(id) ) {
431 		projectCloneToWindow(id);
432 		projectDestroy(id);
433 	} else
434 		log(tr("warning") + ": ScriptEngine::projectToWindow(): " + tr("project '%1' doesn't exists").arg(id));
435 }
436 
projectCloneToWindow(QString sourceId)437 void ScriptEngine::projectCloneToWindow(QString sourceId)
438 {
439 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectCloneToWindow(QString id = %1)").arg(sourceId)));
440 
441 	if ( mProjectMap.contains(sourceId) ) {
442 		ProjectWindow *projectWindow = mainWindow->createProjectWindow(QCHDMAN_MDI_PROJECT);
443 		projectWindow->projectWidget->fromString(mProjectMap[sourceId]->toString());
444 	} else
445 		log(tr("warning") + ": ScriptEngine::projectCloneToWindow(): " + tr("project '%1' doesn't exists").arg(sourceId));
446 }
447 
448 // Info
449 
projectSetInfoInputFile(QString id,QString file)450 void ScriptEngine::projectSetInfoInputFile(QString id, QString file)
451 {
452 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetInfoInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
453 
454 	if ( mProjectMap.contains(id) )
455 		mProjectMap[id]->ui->lineEditInfoInputFile->setText(file);
456 	else
457 		log(tr("warning") + ": ScriptEngine::projectSetInfoInputFile(): " + tr("project '%1' doesn't exists").arg(id));
458 }
459 
projectGetInfoInputFile(QString id)460 QString ScriptEngine::projectGetInfoInputFile(QString id)
461 {
462 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetInfoInputFile(QString id = %1)").arg(id)));
463 
464 	if ( mProjectMap.contains(id) )
465 		return mProjectMap[id]->ui->lineEditInfoInputFile->text();
466 	else {
467 		log(tr("warning") + ": ScriptEngine::projectGetInfoInputFile(): " + tr("project '%1' doesn't exists").arg(id));
468 		return QString();
469 	}
470 }
471 
projectSetInfoVerbose(QString id,bool verbose)472 void ScriptEngine::projectSetInfoVerbose(QString id, bool verbose)
473 {
474 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetInfoVerbose(QString id = %1, bool verbose = %2)").arg(id).arg(verbose)));
475 
476 	if ( mProjectMap.contains(id) )
477 		mProjectMap[id]->ui->checkBoxInfoVerbose->setChecked(verbose);
478 	else
479 		log(tr("warning") + ": ScriptEngine::projectSetInfoVerbose(): " + tr("project '%1' doesn't exists").arg(id));
480 }
481 
projectGetInfoVerbose(QString id)482 bool ScriptEngine::projectGetInfoVerbose(QString id)
483 {
484 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetInfoVerbose(QString id = %1)").arg(id)));
485 
486 	if ( mProjectMap.contains(id) )
487 		return mProjectMap[id]->ui->checkBoxInfoVerbose->isChecked();
488 	else {
489 		log(tr("warning") + ": ScriptEngine::projectGetInfoVerbose(): " + tr("project '%1' doesn't exists").arg(id));
490 		return false;
491 	}
492 }
493 
494 // Verify
495 
projectSetVerifyInputFile(QString id,QString file)496 void ScriptEngine::projectSetVerifyInputFile(QString id, QString file)
497 {
498 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetVerifyInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
499 
500 	if ( mProjectMap.contains(id) )
501 		mProjectMap[id]->ui->lineEditVerifyInputFile->setText(file);
502 	else
503 		log(tr("warning") + ": ScriptEngine::projectSetVerifyInputFile(): " + tr("project '%1' doesn't exists").arg(id));
504 }
505 
projectGetVerifyInputFile(QString id)506 QString ScriptEngine::projectGetVerifyInputFile(QString id)
507 {
508 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetVerifyInputFile(QString id = %1)").arg(id)));
509 
510 	if ( mProjectMap.contains(id) )
511 		return mProjectMap[id]->ui->lineEditVerifyInputFile->text();
512 	else {
513 		log(tr("warning") + ": ScriptEngine::projectGetVerifyInputFile(): " + tr("project '%1' doesn't exists").arg(id));
514 		return QString();
515 	}
516 }
517 
projectSetVerifyParentInputFile(QString id,QString file)518 void ScriptEngine::projectSetVerifyParentInputFile(QString id, QString file)
519 {
520 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetVerifyParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
521 
522 	if ( mProjectMap.contains(id) )
523 		mProjectMap[id]->ui->lineEditVerifyParentInputFile->setText(file);
524 	else
525 		log(tr("warning") + ": ScriptEngine::projectSetVerifyParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
526 }
527 
projectGetVerifyParentInputFile(QString id)528 QString ScriptEngine::projectGetVerifyParentInputFile(QString id)
529 {
530 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetVerifyParentInputFile(QString id = %1)").arg(id)));
531 
532 	if ( mProjectMap.contains(id) )
533 		return mProjectMap[id]->ui->lineEditVerifyParentInputFile->text();
534 	else {
535 		log(tr("warning") + ": ScriptEngine::projectSetVerifyParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
536 		return QString();
537 	}
538 }
539 
540 // Copy
541 
projectSetCopyInputFile(QString id,QString file)542 void ScriptEngine::projectSetCopyInputFile(QString id, QString file)
543 {
544 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
545 
546 	if ( mProjectMap.contains(id) )
547 		mProjectMap[id]->ui->lineEditCopyInputFile->setText(file);
548 	else
549 		log(tr("warning") + ": ScriptEngine::projectSetCopyInputFile(): " + tr("project '%1' doesn't exists").arg(id));
550 }
551 
projectGetCopyInputFile(QString id)552 QString ScriptEngine::projectGetCopyInputFile(QString id)
553 {
554 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyInputFile(QString id = %1)").arg(id)));
555 
556 	if ( mProjectMap.contains(id) )
557 		return mProjectMap[id]->ui->lineEditCopyInputFile->text();
558 	else {
559 		log(tr("warning") + ": ScriptEngine::projectGetCopyInputFile(): " + tr("project '%1' doesn't exists").arg(id));
560 		return QString();
561 	}
562 }
563 
projectSetCopyParentInputFile(QString id,QString file)564 void ScriptEngine::projectSetCopyParentInputFile(QString id, QString file)
565 {
566 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
567 
568 	if ( mProjectMap.contains(id) )
569 		mProjectMap[id]->ui->lineEditCopyParentInputFile->setText(file);
570 	else
571 		log(tr("warning") + ": ScriptEngine::projectSetCopyParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
572 }
573 
projectGetCopyParentInputFile(QString id)574 QString ScriptEngine::projectGetCopyParentInputFile(QString id)
575 {
576 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyParentInputFile(QString id = %1)").arg(id)));
577 
578 	if ( mProjectMap.contains(id) )
579 		return mProjectMap[id]->ui->lineEditCopyParentInputFile->text();
580 	else {
581 		log(tr("warning") + ": ScriptEngine::projectGetCopyParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
582 		return QString();
583 	}
584 }
585 
projectSetCopyOutputFile(QString id,QString file)586 void ScriptEngine::projectSetCopyOutputFile(QString id, QString file)
587 {
588 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
589 
590 	if ( mProjectMap.contains(id) )
591 		mProjectMap[id]->ui->lineEditCopyOutputFile->setText(file);
592 	else
593 		log(tr("warning") + ": ScriptEngine::projectSetCopyOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
594 }
595 
projectGetCopyOutputFile(QString id)596 QString ScriptEngine::projectGetCopyOutputFile(QString id)
597 {
598 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyOutputFile(QString id = %1)").arg(id)));
599 
600 	if ( mProjectMap.contains(id) )
601 		return mProjectMap[id]->ui->lineEditCopyOutputFile->text();
602 	else {
603 		log(tr("warning") + ": ScriptEngine::projectGetCopyOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
604 		return QString();
605 	}
606 }
607 
projectSetCopyParentOutputFile(QString id,QString file)608 void ScriptEngine::projectSetCopyParentOutputFile(QString id, QString file)
609 {
610 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyParentOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
611 
612 	if ( mProjectMap.contains(id) )
613 		mProjectMap[id]->ui->lineEditCopyParentOutputFile->setText(file);
614 	else
615 		log(tr("warning") + ": ScriptEngine::projectSetCopyParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
616 }
617 
projectGetCopyParentOutputFile(QString id)618 QString ScriptEngine::projectGetCopyParentOutputFile(QString id)
619 {
620 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyParentOutputFile(QString id = %1)").arg(id)));
621 
622 	if ( mProjectMap.contains(id) )
623 		return mProjectMap[id]->ui->lineEditCopyParentOutputFile->text();
624 	else {
625 		log(tr("warning") + ": ScriptEngine::projectGetCopyParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
626 		return QString();
627 	}
628 }
629 
projectSetCopyForce(QString id,bool force)630 void ScriptEngine::projectSetCopyForce(QString id, bool force)
631 {
632 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
633 
634 	if ( mProjectMap.contains(id) )
635 		mProjectMap[id]->ui->checkBoxCopyForce->setChecked(force);
636 	else
637 		log(tr("warning") + ": ScriptEngine::projectSetCopyForce(): " + tr("project '%1' doesn't exists").arg(id));
638 }
639 
projectGetCopyForce(QString id)640 bool ScriptEngine::projectGetCopyForce(QString id)
641 {
642 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyForce(QString id = %1)").arg(id)));
643 
644 	if ( mProjectMap.contains(id) )
645 		return mProjectMap[id]->ui->checkBoxCopyForce->isChecked();
646 	else {
647 		log(tr("warning") + ": ScriptEngine::projectGetCopyForce(): " + tr("project '%1' doesn't exists").arg(id));
648 		return false;
649 	}
650 }
651 
projectSetCopyInputStartByte(QString id,int byte)652 void ScriptEngine::projectSetCopyInputStartByte(QString id, int byte)
653 {
654 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyInputStartByte(QString id = %1, int byte = %2)").arg(id).arg(byte)));
655 
656 	if ( mProjectMap.contains(id) )
657 		mProjectMap[id]->ui->spinBoxCopyInputStartByte->setValue(byte);
658 	else
659 		log(tr("warning") + ": ScriptEngine::projectSetCopyInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
660 }
661 
projectGetCopyInputStartByte(QString id)662 int ScriptEngine::projectGetCopyInputStartByte(QString id)
663 {
664 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyInputStartByte(QString id = %1)").arg(id)));
665 
666 	if ( mProjectMap.contains(id) )
667 		return mProjectMap[id]->ui->spinBoxCopyInputStartByte->value();
668 	else {
669 		log(tr("warning") + ": ScriptEngine::projectGetCopyInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
670 		return -1;
671 	}
672 }
673 
projectSetCopyInputStartHunk(QString id,int hunk)674 void ScriptEngine::projectSetCopyInputStartHunk(QString id, int hunk)
675 {
676 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyInputStartHunk(QString id = %1, int hunk = %2)").arg(id).arg(hunk)));
677 
678 	if ( mProjectMap.contains(id) )
679 		mProjectMap[id]->ui->spinBoxCopyInputStartHunk->setValue(hunk);
680 	else
681 		log(tr("warning") + ": ScriptEngine::projectSetCopyInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
682 }
683 
projectGetCopyInputStartHunk(QString id)684 int ScriptEngine::projectGetCopyInputStartHunk(QString id)
685 {
686 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyInputStartHunk(QString id = %1)").arg(id)));
687 
688 	if ( mProjectMap.contains(id) )
689 		return mProjectMap[id]->ui->spinBoxCopyInputStartHunk->value();
690 	else {
691 		log(tr("warning") + ": ScriptEngine::projectGetCopyInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
692 		return -1;
693 	}
694 }
695 
projectSetCopyInputBytes(QString id,int bytes)696 void ScriptEngine::projectSetCopyInputBytes(QString id, int bytes)
697 {
698 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyInputBytes(QString id = %1, int bytes = %2)").arg(id).arg(bytes)));
699 
700 	if ( mProjectMap.contains(id) )
701 		mProjectMap[id]->ui->spinBoxCopyInputBytes->setValue(bytes);
702 	else
703 		log(tr("warning") + ": ScriptEngine::projectSetCopyInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
704 }
705 
projectGetCopyInputBytes(QString id)706 int ScriptEngine::projectGetCopyInputBytes(QString id)
707 {
708 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyInputBytes(QString id = %1)").arg(id)));
709 
710 	if ( mProjectMap.contains(id) )
711 		return mProjectMap[id]->ui->spinBoxCopyInputBytes->value();
712 	else {
713 		log(tr("warning") + ": ScriptEngine::projectGetCopyInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
714 		return -1;
715 	}
716 }
717 
projectSetCopyInputHunks(QString id,int hunks)718 void ScriptEngine::projectSetCopyInputHunks(QString id, int hunks)
719 {
720 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyInputHunks(QString id = %1, int hunks = %2)").arg(id).arg(hunks)));
721 
722 	if ( mProjectMap.contains(id) )
723 		mProjectMap[id]->ui->spinBoxCopyInputHunks->setValue(hunks);
724 	else
725 		log(tr("warning") + ": ScriptEngine::projectSetCopyInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
726 }
727 
projectGetCopyInputHunks(QString id)728 int ScriptEngine::projectGetCopyInputHunks(QString id)
729 {
730 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyInputHunks(QString id = %1)").arg(id)));
731 
732 	if ( mProjectMap.contains(id) )
733 		return mProjectMap[id]->ui->spinBoxCopyInputHunks->value();
734 	else {
735 		log(tr("warning") + ": ScriptEngine::projectGetCopyInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
736 		return -1;
737 	}
738 }
739 
projectSetCopyHunkSize(QString id,int size)740 void ScriptEngine::projectSetCopyHunkSize(QString id, int size)
741 {
742 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyHunkSize(QString id = %1, int size = %2)").arg(id).arg(size)));
743 
744 	if ( mProjectMap.contains(id) )
745 		mProjectMap[id]->ui->spinBoxCopyHunkSize->setValue(size);
746 	else
747 		log(tr("warning") + ": ScriptEngine::projectSetCopyHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
748 }
749 
projectGetCopyHunkSize(QString id)750 int ScriptEngine::projectGetCopyHunkSize(QString id)
751 {
752 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyHunkSize(QString id = %1)").arg(id)));
753 
754 	if ( mProjectMap.contains(id) )
755 		return mProjectMap[id]->ui->spinBoxCopyHunkSize->value();
756 	else {
757 		log(tr("warning") + ": ScriptEngine::projectGetCopyHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
758 		return -1;
759 	}
760 }
761 
projectSetCopyCompressors(QString id,QString compressors)762 void ScriptEngine::projectSetCopyCompressors(QString id, QString compressors)
763 {
764 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyCompressors(QString id = %1, QString compressors = %2)").arg(id).arg(compressors)));
765 
766 	if ( mProjectMap.contains(id) )
767 		mProjectMap[id]->copyCompressors = compressors.split(",", QString::SkipEmptyParts);
768 	else
769 		log(tr("warning") + ": ScriptEngine::projectSetCopyCompressors(): " + tr("project '%1' doesn't exists").arg(id));
770 }
771 
projectGetCopyCompressors(QString id)772 QString ScriptEngine::projectGetCopyCompressors(QString id)
773 {
774 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyCompressors(QString id = %1)").arg(id)));
775 
776 	if ( mProjectMap.contains(id) )
777 		return mProjectMap[id]->copyCompressors.join(",");
778 	else {
779 		log(tr("warning") + ": ScriptEngine::projectGetCopyCompressors(): " + tr("project '%1' doesn't exists").arg(id));
780 		return QString();
781 	}
782 }
783 
projectSetCopyProcessors(QString id,int processors)784 void ScriptEngine::projectSetCopyProcessors(QString id, int processors)
785 {
786 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCopyProcessors(QString id = %1, int processors = %2)").arg(id).arg(processors)));
787 
788 	if ( mProjectMap.contains(id) )
789 		mProjectMap[id]->ui->spinBoxCopyProcessors->setValue(processors);
790 	else
791 		log(tr("warning") + ": ScriptEngine::projectSetCopyProcessors(): " + tr("project '%1' doesn't exists").arg(id));
792 }
793 
projectGetCopyProcessors(QString id)794 int ScriptEngine::projectGetCopyProcessors(QString id)
795 {
796 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCopyProcessors(QString id = %1)").arg(id)));
797 
798 	if ( mProjectMap.contains(id) )
799 		return mProjectMap[id]->ui->spinBoxCopyProcessors->value();
800 	else {
801 		log(tr("warning") + ": ScriptEngine::projectGetCopyProcessors(): " + tr("project '%1' doesn't exists").arg(id));
802 		return -1;
803 	}
804 }
805 
806 // CreateRaw
807 
projectSetCreateRawInputFile(QString id,QString file)808 void ScriptEngine::projectSetCreateRawInputFile(QString id, QString file)
809 {
810 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
811 
812 	if ( mProjectMap.contains(id) )
813 		mProjectMap[id]->ui->lineEditCreateRawInputFile->setText(file);
814 	else
815 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawInputFile(): " + tr("project '%1' doesn't exists").arg(id));
816 }
817 
projectGetCreateRawInputFile(QString id)818 QString ScriptEngine::projectGetCreateRawInputFile(QString id)
819 {
820 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawInputFile(QString id = %1)").arg(id)));
821 
822 	if ( mProjectMap.contains(id) )
823 		return mProjectMap[id]->ui->lineEditCreateRawInputFile->text();
824 	else {
825 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawInputFile(): " + tr("project '%1' doesn't exists").arg(id));
826 		return QString();
827 	}
828 }
829 
projectSetCreateRawOutputFile(QString id,QString file)830 void ScriptEngine::projectSetCreateRawOutputFile(QString id, QString file)
831 {
832 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
833 
834 	if ( mProjectMap.contains(id) )
835 		mProjectMap[id]->ui->lineEditCreateRawOutputFile->setText(file);
836 	else
837 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
838 }
839 
projectGetCreateRawOutputFile(QString id)840 QString ScriptEngine::projectGetCreateRawOutputFile(QString id)
841 {
842 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawOutputFile(QString id = %1)").arg(id)));
843 
844 	if ( mProjectMap.contains(id) )
845 		return mProjectMap[id]->ui->lineEditCreateRawOutputFile->text();
846 	else {
847 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
848 		return QString();
849 	}
850 }
851 
projectSetCreateRawParentOutputFile(QString id,QString file)852 void ScriptEngine::projectSetCreateRawParentOutputFile(QString id, QString file)
853 {
854 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawParentOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
855 
856 	if ( mProjectMap.contains(id) )
857 		mProjectMap[id]->ui->lineEditCreateRawParentOutputFile->setText(file);
858 	else
859 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
860 }
861 
projectGetCreateRawParentOutputFile(QString id)862 QString ScriptEngine::projectGetCreateRawParentOutputFile(QString id)
863 {
864 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawParentOutputFile(QString id = %1)").arg(id)));
865 
866 	if ( mProjectMap.contains(id) )
867 		return mProjectMap[id]->ui->lineEditCreateRawParentOutputFile->text();
868 	else {
869 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
870 		return QString();
871 	}
872 }
873 
projectSetCreateRawForce(QString id,bool force)874 void ScriptEngine::projectSetCreateRawForce(QString id, bool force)
875 {
876 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
877 
878 	if ( mProjectMap.contains(id) )
879 		mProjectMap[id]->ui->checkBoxCreateRawForce->setChecked(force);
880 	else
881 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawForce(): " + tr("project '%1' doesn't exists").arg(id));
882 }
883 
projectGetCreateRawForce(QString id)884 bool ScriptEngine::projectGetCreateRawForce(QString id)
885 {
886 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawForce(QString id = %1)").arg(id)));
887 
888 	if ( mProjectMap.contains(id) )
889 		return mProjectMap[id]->ui->checkBoxCreateRawForce->isChecked();
890 	else {
891 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawForce(): " + tr("project '%1' doesn't exists").arg(id));
892 		return false;
893 	}
894 }
895 
projectSetCreateRawInputStartByte(QString id,int byte)896 void ScriptEngine::projectSetCreateRawInputStartByte(QString id, int byte)
897 {
898 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawInputStartByte(QString id = %1, int byte = %2)").arg(id).arg(byte)));
899 
900 	if ( mProjectMap.contains(id) )
901 		mProjectMap[id]->ui->spinBoxCreateRawInputStartByte->setValue(byte);
902 	else
903 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
904 }
905 
projectGetCreateRawInputStartByte(QString id)906 int ScriptEngine::projectGetCreateRawInputStartByte(QString id)
907 {
908 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawInputStartByte(QString id = %1)").arg(id)));
909 
910 	if ( mProjectMap.contains(id) )
911 		return mProjectMap[id]->ui->spinBoxCreateRawInputStartByte->value();
912 	else {
913 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
914 		return -1;
915 	}
916 }
917 
projectSetCreateRawInputStartHunk(QString id,int hunk)918 void ScriptEngine::projectSetCreateRawInputStartHunk(QString id, int hunk)
919 {
920 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawInputStartHunk(QString id = %1, int hunk = %2)").arg(id).arg(hunk)));
921 
922 	if ( mProjectMap.contains(id) )
923 		mProjectMap[id]->ui->spinBoxCreateRawInputStartHunk->setValue(hunk);
924 	else
925 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
926 }
927 
projectGetCreateRawInputStartHunk(QString id)928 int ScriptEngine::projectGetCreateRawInputStartHunk(QString id)
929 {
930 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawInputStartHunk(QString id = %1)").arg(id)));
931 
932 	if ( mProjectMap.contains(id) )
933 		return mProjectMap[id]->ui->spinBoxCreateRawInputStartHunk->value();
934 	else {
935 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
936 		return -1;
937 	}
938 }
939 
projectSetCreateRawInputBytes(QString id,int bytes)940 void ScriptEngine::projectSetCreateRawInputBytes(QString id, int bytes)
941 {
942 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawInputBytes(QString id = %1, int bytes = %2)").arg(id).arg(bytes)));
943 
944 	if ( mProjectMap.contains(id) )
945 		mProjectMap[id]->ui->spinBoxCreateRawInputBytes->setValue(bytes);
946 	else
947 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
948 }
949 
projectGetCreateRawInputBytes(QString id)950 int ScriptEngine::projectGetCreateRawInputBytes(QString id)
951 {
952 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawInputBytes(QString id = %1)").arg(id)));
953 
954 	if ( mProjectMap.contains(id) )
955 		return mProjectMap[id]->ui->spinBoxCreateRawInputBytes->value();
956 	else {
957 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
958 		return -1;
959 	}
960 }
961 
projectSetCreateRawInputHunks(QString id,int hunks)962 void ScriptEngine::projectSetCreateRawInputHunks(QString id, int hunks)
963 {
964 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawInputHunks(QString id = %1, int hunks = %2)").arg(id).arg(hunks)));
965 
966 	if ( mProjectMap.contains(id) )
967 		mProjectMap[id]->ui->spinBoxCreateRawInputHunks->setValue(hunks);
968 	else
969 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
970 }
971 
projectGetCreateRawInputHunks(QString id)972 int ScriptEngine::projectGetCreateRawInputHunks(QString id)
973 {
974 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawInputHunks(QString id = %1)").arg(id)));
975 
976 	if ( mProjectMap.contains(id) )
977 		return mProjectMap[id]->ui->spinBoxCreateRawInputHunks->value();
978 	else {
979 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
980 		return -1;
981 	}
982 }
983 
projectSetCreateRawHunkSize(QString id,int size)984 void ScriptEngine::projectSetCreateRawHunkSize(QString id, int size)
985 {
986 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawHunkSize(QString id = %1, int size = %2)").arg(id).arg(size)));
987 
988 	if ( mProjectMap.contains(id) )
989 		mProjectMap[id]->ui->spinBoxCreateRawHunkSize->setValue(size);
990 	else
991 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
992 }
993 
projectGetCreateRawHunkSize(QString id)994 int ScriptEngine::projectGetCreateRawHunkSize(QString id)
995 {
996 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawHunkSize(QString id = %1)").arg(id)));
997 
998 	if ( mProjectMap.contains(id) )
999 		return mProjectMap[id]->ui->spinBoxCreateRawHunkSize->value();
1000 	else {
1001 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1002 		return -1;
1003 	}
1004 }
1005 
projectSetCreateRawUnitSize(QString id,int size)1006 void ScriptEngine::projectSetCreateRawUnitSize(QString id, int size)
1007 {
1008 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawUnitSize(QString id = %1, int size = %2)").arg(id).arg(size)));
1009 
1010 	if ( mProjectMap.contains(id) )
1011 		mProjectMap[id]->ui->spinBoxCreateRawUnitSize->setValue(size);
1012 	else
1013 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawUnitSize(): " + tr("project '%1' doesn't exists").arg(id));
1014 }
1015 
projectGetCreateRawUnitSize(QString id)1016 int ScriptEngine::projectGetCreateRawUnitSize(QString id)
1017 {
1018 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawUnitSize(QString id = %1)").arg(id)));
1019 
1020 	if ( mProjectMap.contains(id) )
1021 		return mProjectMap[id]->ui->spinBoxCreateRawUnitSize->value();
1022 	else {
1023 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawUnitSize(): " + tr("project '%1' doesn't exists").arg(id));
1024 		return -1;
1025 	}
1026 }
1027 
projectSetCreateRawCompressors(QString id,QString compressors)1028 void ScriptEngine::projectSetCreateRawCompressors(QString id, QString compressors)
1029 {
1030 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawCompressors(QString id = %1, QString compressors = %2)").arg(id).arg(compressors)));
1031 
1032 	if ( mProjectMap.contains(id) )
1033 		mProjectMap[id]->createRawCompressors = compressors.split(",", QString::SkipEmptyParts);
1034 	else
1035 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1036 }
1037 
projectGetCreateRawCompressors(QString id)1038 QString ScriptEngine::projectGetCreateRawCompressors(QString id)
1039 {
1040 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawCompressors(QString id = %1)").arg(id)));
1041 
1042 	if ( mProjectMap.contains(id) )
1043 		return mProjectMap[id]->createRawCompressors.join(",");
1044 	else {
1045 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1046 		return QString();
1047 	}
1048 }
1049 
projectSetCreateRawProcessors(QString id,int processors)1050 void ScriptEngine::projectSetCreateRawProcessors(QString id, int processors)
1051 {
1052 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateRawProcessors(QString id = %1, int processors = %2)").arg(id).arg(processors)));
1053 
1054 	if ( mProjectMap.contains(id) )
1055 		mProjectMap[id]->ui->spinBoxCreateRawProcessors->setValue(processors);
1056 	else
1057 		log(tr("warning") + ": ScriptEngine::projectSetCreateRawProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1058 }
1059 
projectGetCreateRawProcessors(QString id)1060 int ScriptEngine::projectGetCreateRawProcessors(QString id)
1061 {
1062 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateRawProcessors(QString id = %1)").arg(id)));
1063 
1064 	if ( mProjectMap.contains(id) )
1065 		return mProjectMap[id]->ui->spinBoxCreateRawProcessors->value();
1066 	else {
1067 		log(tr("warning") + ": ScriptEngine::projectGetCreateRawProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1068 		return -1;
1069 	}
1070 }
1071 
1072 // CreateHD
1073 
projectSetCreateHDInputFile(QString id,QString file)1074 void ScriptEngine::projectSetCreateHDInputFile(QString id, QString file)
1075 {
1076 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1077 
1078 	if ( mProjectMap.contains(id) )
1079 		mProjectMap[id]->ui->lineEditCreateHDInputFile->setText(file);
1080 	else
1081 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1082 }
1083 
projectGetCreateHDInputFile(QString id)1084 QString ScriptEngine::projectGetCreateHDInputFile(QString id)
1085 {
1086 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDInputFile(QString id = %1)").arg(id)));
1087 
1088 	if ( mProjectMap.contains(id) )
1089 		return mProjectMap[id]->ui->lineEditCreateHDInputFile->text();
1090 	else {
1091 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1092 		return QString();
1093 	}
1094 }
1095 
projectSetCreateHDOutputFile(QString id,QString file)1096 void ScriptEngine::projectSetCreateHDOutputFile(QString id, QString file)
1097 {
1098 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1099 
1100 	if ( mProjectMap.contains(id) )
1101 		mProjectMap[id]->ui->lineEditCreateHDOutputFile->setText(file);
1102 	else
1103 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1104 }
1105 
projectGetCreateHDOutputFile(QString id)1106 QString ScriptEngine::projectGetCreateHDOutputFile(QString id)
1107 {
1108 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDOutputFile(QString id = %1)").arg(id)));
1109 
1110 	if ( mProjectMap.contains(id) )
1111 		return mProjectMap[id]->ui->lineEditCreateHDOutputFile->text();
1112 	else {
1113 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1114 		return QString();
1115 	}
1116 }
1117 
projectSetCreateHDParentOutputFile(QString id,QString file)1118 void ScriptEngine::projectSetCreateHDParentOutputFile(QString id, QString file)
1119 {
1120 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDParentOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1121 
1122 	if ( mProjectMap.contains(id) )
1123 		mProjectMap[id]->ui->lineEditCreateHDParentOutputFile->setText(file);
1124 	else
1125 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1126 }
1127 
projectGetCreateHDParentOutputFile(QString id)1128 QString ScriptEngine::projectGetCreateHDParentOutputFile(QString id)
1129 {
1130 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDParentOutputFile(QString id = %1)").arg(id)));
1131 
1132 	if ( mProjectMap.contains(id) )
1133 		return mProjectMap[id]->ui->lineEditCreateHDParentOutputFile->text();
1134 	else {
1135 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1136 		return QString();
1137 	}
1138 }
1139 
projectSetCreateHDForce(QString id,bool force)1140 void ScriptEngine::projectSetCreateHDForce(QString id, bool force)
1141 {
1142 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
1143 
1144 	if ( mProjectMap.contains(id) )
1145 		mProjectMap[id]->ui->checkBoxCreateHDForce->setChecked(force);
1146 	else
1147 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDForce(): " + tr("project '%1' doesn't exists").arg(id));
1148 }
1149 
projectGetCreateHDForce(QString id)1150 bool ScriptEngine::projectGetCreateHDForce(QString id)
1151 {
1152 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDForce(QString id = %1)").arg(id)));
1153 
1154 	if ( mProjectMap.contains(id) )
1155 		return mProjectMap[id]->ui->checkBoxCreateHDForce->isChecked();
1156 	else {
1157 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDForce(): " + tr("project '%1' doesn't exists").arg(id));
1158 		return false;
1159 	}
1160 }
1161 
projectSetCreateHDInputStartByte(QString id,int byte)1162 void ScriptEngine::projectSetCreateHDInputStartByte(QString id, int byte)
1163 {
1164 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDInputStartByte(QString id = %1, int byte = %2)").arg(id).arg(byte)));
1165 
1166 	if ( mProjectMap.contains(id) )
1167 		mProjectMap[id]->ui->spinBoxCreateHDInputStartByte->setValue(byte);
1168 	else
1169 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
1170 }
1171 
projectGetCreateHDInputStartByte(QString id)1172 int ScriptEngine::projectGetCreateHDInputStartByte(QString id)
1173 {
1174 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDInputStartByte(QString id = %1)").arg(id)));
1175 
1176 	if ( mProjectMap.contains(id) )
1177 		return mProjectMap[id]->ui->spinBoxCreateHDInputStartByte->value();
1178 	else {
1179 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
1180 		return -1;
1181 	}
1182 }
1183 
projectSetCreateHDInputStartHunk(QString id,int hunk)1184 void ScriptEngine::projectSetCreateHDInputStartHunk(QString id, int hunk)
1185 {
1186 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDInputStartHunk(QString id = %1, int hunk = %2)").arg(id).arg(hunk)));
1187 
1188 	if ( mProjectMap.contains(id) )
1189 		mProjectMap[id]->ui->spinBoxCreateHDInputStartHunk->setValue(hunk);
1190 	else
1191 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
1192 }
1193 
projectGetCreateHDInputStartHunk(QString id)1194 int ScriptEngine::projectGetCreateHDInputStartHunk(QString id)
1195 {
1196 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDInputStartHunk(QString id = %1)").arg(id)));
1197 
1198 	if ( mProjectMap.contains(id) )
1199 		return mProjectMap[id]->ui->spinBoxCreateHDInputStartHunk->value();
1200 	else {
1201 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
1202 		return -1;
1203 	}
1204 }
1205 
projectSetCreateHDInputBytes(QString id,int bytes)1206 void ScriptEngine::projectSetCreateHDInputBytes(QString id, int bytes)
1207 {
1208 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDInputBytes(QString id = %1, int bytes = %2)").arg(id).arg(bytes)));
1209 
1210 	if ( mProjectMap.contains(id) )
1211 		mProjectMap[id]->ui->spinBoxCreateHDInputBytes->setValue(bytes);
1212 	else
1213 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
1214 }
1215 
projectGetCreateHDInputBytes(QString id)1216 int ScriptEngine::projectGetCreateHDInputBytes(QString id)
1217 {
1218 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDInputBytes(QString id = %1)").arg(id)));
1219 
1220 	if ( mProjectMap.contains(id) )
1221 		return mProjectMap[id]->ui->spinBoxCreateHDInputBytes->value();
1222 	else {
1223 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
1224 		return -1;
1225 	}
1226 }
1227 
projectSetCreateHDInputHunks(QString id,int hunks)1228 void ScriptEngine::projectSetCreateHDInputHunks(QString id, int hunks)
1229 {
1230 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDInputHunks(QString id = %1, int hunks = %2)").arg(id).arg(hunks)));
1231 
1232 	if ( mProjectMap.contains(id) )
1233 		mProjectMap[id]->ui->spinBoxCreateHDInputHunks->setValue(hunks);
1234 	else
1235 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
1236 }
1237 
projectGetCreateHDInputHunks(QString id)1238 int ScriptEngine::projectGetCreateHDInputHunks(QString id)
1239 {
1240 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDInputHunks(QString id = %1)").arg(id)));
1241 
1242 	if ( mProjectMap.contains(id) )
1243 		return mProjectMap[id]->ui->spinBoxCreateHDInputHunks->value();
1244 	else {
1245 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
1246 		return -1;
1247 	}
1248 }
1249 
projectSetCreateHDHunkSize(QString id,int size)1250 void ScriptEngine::projectSetCreateHDHunkSize(QString id, int size)
1251 {
1252 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDHunkSize(QString id = %1, int size = %2)").arg(id).arg(size)));
1253 
1254 	if ( mProjectMap.contains(id) )
1255 		mProjectMap[id]->ui->spinBoxCreateHDHunkSize->setValue(size);
1256 	else
1257 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1258 }
1259 
projectGetCreateHDHunkSize(QString id)1260 int ScriptEngine::projectGetCreateHDHunkSize(QString id)
1261 {
1262 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDHunkSize(QString id = %1)").arg(id)));
1263 
1264 	if ( mProjectMap.contains(id) )
1265 		return mProjectMap[id]->ui->spinBoxCreateHDHunkSize->value();
1266 	else {
1267 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1268 		return -1;
1269 	}
1270 }
1271 
projectSetCreateHDCompressors(QString id,QString compressors)1272 void ScriptEngine::projectSetCreateHDCompressors(QString id, QString compressors)
1273 {
1274 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDCompressors(QString id = %1, QString compressors = %2)").arg(id).arg(compressors)));
1275 
1276 	if ( mProjectMap.contains(id) )
1277 		mProjectMap[id]->createHDCompressors = compressors.split(",", QString::SkipEmptyParts);
1278 	else
1279 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1280 }
1281 
projectGetCreateHDCompressors(QString id)1282 QString ScriptEngine::projectGetCreateHDCompressors(QString id)
1283 {
1284 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDCompressors(QString id = %1)").arg(id)));
1285 
1286 	if ( mProjectMap.contains(id) )
1287 		return mProjectMap[id]->createHDCompressors.join(",");
1288 	else {
1289 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1290 		return QString();
1291 	}
1292 }
1293 
projectSetCreateHDProcessors(QString id,int processors)1294 void ScriptEngine::projectSetCreateHDProcessors(QString id, int processors)
1295 {
1296 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDProcessors(QString id = %1, int processors = %2)").arg(id).arg(processors)));
1297 
1298 	if ( mProjectMap.contains(id) )
1299 		mProjectMap[id]->ui->spinBoxCreateHDProcessors->setValue(processors);
1300 	else
1301 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1302 }
1303 
projectGetCreateHDProcessors(QString id)1304 int ScriptEngine::projectGetCreateHDProcessors(QString id)
1305 {
1306 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDProcessors(QString id = %1)").arg(id)));
1307 
1308 	if ( mProjectMap.contains(id) )
1309 		return mProjectMap[id]->ui->spinBoxCreateHDProcessors->value();
1310 	else {
1311 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1312 		return -1;
1313 	}
1314 }
1315 
projectSetCreateHDSectorSize(QString id,int sectorSize)1316 void ScriptEngine::projectSetCreateHDSectorSize(QString id, int sectorSize)
1317 {
1318 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDSectorSize(QString id = %1, int sectorSize = %2)").arg(id).arg(sectorSize)));
1319 
1320 	if ( mProjectMap.contains(id) )
1321 		mProjectMap[id]->ui->spinBoxCreateHDSectorSize->setValue(sectorSize);
1322 	else
1323 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDSectorSize(): " + tr("project '%1' doesn't exists").arg(id));
1324 }
1325 
projectGetCreateHDSectorSize(QString id)1326 int ScriptEngine::projectGetCreateHDSectorSize(QString id)
1327 {
1328 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDSectorSize(QString id = %1)").arg(id)));
1329 
1330 	if ( mProjectMap.contains(id) )
1331 		return mProjectMap[id]->ui->spinBoxCreateHDSectorSize->value();
1332 	else {
1333 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDSectorSize(): " + tr("project '%1' doesn't exists").arg(id));
1334 		return -1;
1335 	}
1336 }
1337 
projectSetCreateHDCylinders(QString id,int cylinders)1338 void ScriptEngine::projectSetCreateHDCylinders(QString id, int cylinders)
1339 {
1340 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDCylinders(QString id = %1, int cylinders = %2)").arg(id).arg(cylinders)));
1341 
1342 	if ( mProjectMap.contains(id) )
1343 		mProjectMap[id]->ui->spinBoxCreateHDCylinders->setValue(cylinders);
1344 	else
1345 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDCylinders(): " + tr("project '%1' doesn't exists").arg(id));
1346 }
1347 
projectGetCreateHDCylinders(QString id)1348 int ScriptEngine::projectGetCreateHDCylinders(QString id)
1349 {
1350 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDCylinders(QString id = %1)").arg(id)));
1351 
1352 	if ( mProjectMap.contains(id) )
1353 		return mProjectMap[id]->ui->spinBoxCreateHDCylinders->value();
1354 	else {
1355 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDCylinders(): " + tr("project '%1' doesn't exists").arg(id));
1356 		return -1;
1357 	}
1358 }
1359 
projectSetCreateHDHeads(QString id,int heads)1360 void ScriptEngine::projectSetCreateHDHeads(QString id, int heads)
1361 {
1362 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDHeads(QString id = %1, int heads = %2)").arg(id).arg(heads)));
1363 
1364 	if ( mProjectMap.contains(id) )
1365 		mProjectMap[id]->ui->spinBoxCreateHDHeads->setValue(heads);
1366 	else
1367 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDHeads(): " + tr("project '%1' doesn't exists").arg(id));
1368 }
1369 
projectGetCreateHDHeads(QString id)1370 int ScriptEngine::projectGetCreateHDHeads(QString id)
1371 {
1372 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDHeads(QString id = %1)").arg(id)));
1373 
1374 	if ( mProjectMap.contains(id) )
1375 		return mProjectMap[id]->ui->spinBoxCreateHDHeads->value();
1376 	else {
1377 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDHeads(): " + tr("project '%1' doesn't exists").arg(id));
1378 		return -1;
1379 	}
1380 }
1381 
projectSetCreateHDSectors(QString id,int sectors)1382 void ScriptEngine::projectSetCreateHDSectors(QString id, int sectors)
1383 {
1384 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDSectors(QString id = %1, int sectors = %2)").arg(id).arg(sectors)));
1385 
1386 	if ( mProjectMap.contains(id) )
1387 		mProjectMap[id]->ui->spinBoxCreateHDSectors->setValue(sectors);
1388 	else
1389 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDSectors(): " + tr("project '%1' doesn't exists").arg(id));
1390 }
1391 
projectGetCreateHDSectors(QString id)1392 int ScriptEngine::projectGetCreateHDSectors(QString id)
1393 {
1394 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateHDSectors(QString id = %1)").arg(id)));
1395 
1396 	if ( mProjectMap.contains(id) )
1397 		return mProjectMap[id]->ui->spinBoxCreateHDSectors->value();
1398 	else {
1399 		log(tr("warning") + ": ScriptEngine::projectGetCreateHDSectors(): " + tr("project '%1' doesn't exists").arg(id));
1400 		return -1;
1401 	}
1402 }
1403 
projectSetCreateHDChsFromTemplate(QString id,QString vendorName,QString diskName)1404 void ScriptEngine::projectSetCreateHDChsFromTemplate(QString id, QString vendorName, QString diskName)
1405 {
1406 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateHDChsFromTemplate(QString id = %1, QString vendorName = %2, QString diskName = %3)").arg(id).arg(vendorName).arg(diskName)));
1407 
1408 	if ( mProjectMap.contains(id) ) {
1409 		QList<DiskGeometry> geoList = MainWindow::hardDiskTemplates[vendorName];
1410 		bool found = false;
1411 		DiskGeometry geo;
1412 		for (int i = 0; i < geoList.count() && !found; i++) {
1413 			geo = geoList[i];
1414 			found = ( geo.name == diskName );
1415 		}
1416 		if ( found ) {
1417 			if ( found ) {
1418 				mProjectMap[id]->ui->spinBoxCreateHDCylinders->setValue(geo.cyls);
1419 				mProjectMap[id]->ui->spinBoxCreateHDHeads->setValue(geo.heads);
1420 				mProjectMap[id]->ui->spinBoxCreateHDSectors->setValue(geo.sectors);
1421 				mProjectMap[id]->ui->spinBoxCreateHDSectorSize->setValue(geo.sectorSize);
1422 				int noneIndex = mProjectMap[id]->ui->comboBoxCreateHDCompression->findText(tr("none"));
1423 				if ( noneIndex >= 0 )
1424 					mProjectMap[id]->ui->comboBoxCreateHDCompression->setCurrentIndex(noneIndex);
1425 			}
1426 			mProjectMap[id]->ui->comboBoxCreateHDFromTemplate->setCurrentIndex(0);
1427 		} else
1428 			log(tr("warning") + ": ScriptEngine::projectSetCreateHDChsFromTemplate(): " + tr("CHS template for vendorName = '%1', diskName = '%2' doesn't exist").arg(vendorName).arg(diskName));
1429 	} else
1430 		log(tr("warning") + ": ScriptEngine::projectSetCreateHDChsFromTemplate(): " + tr("project '%1' doesn't exists").arg(id));
1431 }
1432 
1433 // CreateCD
1434 
projectSetCreateCDInputFile(QString id,QString file)1435 void ScriptEngine::projectSetCreateCDInputFile(QString id, QString file)
1436 {
1437 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1438 
1439 	if ( mProjectMap.contains(id) )
1440 		mProjectMap[id]->ui->lineEditCreateCDInputFile->setText(file);
1441 	else
1442 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1443 }
1444 
projectGetCreateCDInputFile(QString id)1445 QString ScriptEngine::projectGetCreateCDInputFile(QString id)
1446 {
1447 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDInputFile(QString id = %1)").arg(id)));
1448 
1449 	if ( mProjectMap.contains(id) )
1450 		return mProjectMap[id]->ui->lineEditCreateCDInputFile->text();
1451 	else {
1452 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1453 		return QString();
1454 	}
1455 }
1456 
projectSetCreateCDOutputFile(QString id,QString file)1457 void ScriptEngine::projectSetCreateCDOutputFile(QString id, QString file)
1458 {
1459 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1460 
1461 	if ( mProjectMap.contains(id) )
1462 		mProjectMap[id]->ui->lineEditCreateCDOutputFile->setText(file);
1463 	else
1464 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1465 }
1466 
projectGetCreateCDOutputFile(QString id)1467 QString ScriptEngine::projectGetCreateCDOutputFile(QString id)
1468 {
1469 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDOutputFile(QString id = %1)").arg(id)));
1470 
1471 	if ( mProjectMap.contains(id) )
1472 		return mProjectMap[id]->ui->lineEditCreateCDOutputFile->text();
1473 	else {
1474 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1475 		return QString();
1476 	}
1477 }
1478 
projectSetCreateCDParentOutputFile(QString id,QString file)1479 void ScriptEngine::projectSetCreateCDParentOutputFile(QString id, QString file)
1480 {
1481 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDParentOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1482 
1483 	if ( mProjectMap.contains(id) )
1484 		mProjectMap[id]->ui->lineEditCreateCDParentOutputFile->setText(file);
1485 	else
1486 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1487 }
1488 
projectGetCreateCDParentOutputFile(QString id)1489 QString ScriptEngine::projectGetCreateCDParentOutputFile(QString id)
1490 {
1491 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDParentOutputFile(QString id = %1)").arg(id)));
1492 
1493 	if ( mProjectMap.contains(id) )
1494 		return mProjectMap[id]->ui->lineEditCreateCDParentOutputFile->text();
1495 	else {
1496 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1497 		return QString();
1498 	}
1499 }
1500 
projectSetCreateCDForce(QString id,bool force)1501 void ScriptEngine::projectSetCreateCDForce(QString id, bool force)
1502 {
1503 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
1504 
1505 	if ( mProjectMap.contains(id) )
1506 		mProjectMap[id]->ui->checkBoxCreateCDForce->setChecked(force);
1507 	else
1508 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDForce(): " + tr("project '%1' doesn't exists").arg(id));
1509 }
1510 
projectGetCreateCDForce(QString id)1511 bool ScriptEngine::projectGetCreateCDForce(QString id)
1512 {
1513 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDForce(QString id = %1)").arg(id)));
1514 
1515 	if ( mProjectMap.contains(id) )
1516 		return mProjectMap[id]->ui->checkBoxCreateCDForce->isChecked();
1517 	else {
1518 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDForce(): " + tr("project '%1' doesn't exists").arg(id));
1519 		return false;
1520 	}
1521 }
1522 
projectSetCreateCDHunkSize(QString id,int size)1523 void ScriptEngine::projectSetCreateCDHunkSize(QString id, int size)
1524 {
1525 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDHunkSize(QString id = %1, int size = %2)").arg(id).arg(size)));
1526 
1527 	if ( mProjectMap.contains(id) )
1528 		mProjectMap[id]->ui->spinBoxCreateCDHunkSize->setValue(size);
1529 	else
1530 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1531 }
1532 
projectGetCreateCDHunkSize(QString id)1533 int ScriptEngine::projectGetCreateCDHunkSize(QString id)
1534 {
1535 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDHunkSize(QString id = %1)").arg(id)));
1536 
1537 	if ( mProjectMap.contains(id) )
1538 		return mProjectMap[id]->ui->spinBoxCreateCDHunkSize->value();
1539 	else {
1540 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1541 		return -1;
1542 	}
1543 }
1544 
projectSetCreateCDCompressors(QString id,QString compressors)1545 void ScriptEngine::projectSetCreateCDCompressors(QString id, QString compressors)
1546 {
1547 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDCompressors(QString id = %1, QString compressors = %2)").arg(id).arg(compressors)));
1548 
1549 	if ( mProjectMap.contains(id) )
1550 		mProjectMap[id]->createCDCompressors = compressors.split(",", QString::SkipEmptyParts);
1551 	else
1552 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1553 }
1554 
projectGetCreateCDCompressors(QString id)1555 QString ScriptEngine::projectGetCreateCDCompressors(QString id)
1556 {
1557 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDCompressors(QString id = %1)").arg(id)));
1558 
1559 	if ( mProjectMap.contains(id) )
1560 		return mProjectMap[id]->createCDCompressors.join(",");
1561 	else {
1562 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1563 		return QString();
1564 	}
1565 }
1566 
projectSetCreateCDProcessors(QString id,int processors)1567 void ScriptEngine::projectSetCreateCDProcessors(QString id, int processors)
1568 {
1569 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateCDProcessors(QString id = %1, int processors = %2)").arg(id).arg(processors)));
1570 
1571 	if ( mProjectMap.contains(id) )
1572 		mProjectMap[id]->ui->spinBoxCreateCDProcessors->setValue(processors);
1573 	else
1574 		log(tr("warning") + ": ScriptEngine::projectSetCreateCDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1575 }
1576 
projectGetCreateCDProcessors(QString id)1577 int ScriptEngine::projectGetCreateCDProcessors(QString id)
1578 {
1579 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateCDProcessors(QString id = %1)").arg(id)));
1580 
1581 	if ( mProjectMap.contains(id) )
1582 		return mProjectMap[id]->ui->spinBoxCreateCDProcessors->value();
1583 	else {
1584 		log(tr("warning") + ": ScriptEngine::projectGetCreateCDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1585 		return -1;
1586 	}
1587 }
1588 
1589 // CreateLD
1590 
projectSetCreateLDInputFile(QString id,QString file)1591 void ScriptEngine::projectSetCreateLDInputFile(QString id, QString file)
1592 {
1593 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1594 
1595 	if ( mProjectMap.contains(id) )
1596 		mProjectMap[id]->ui->lineEditCreateLDInputFile->setText(file);
1597 	else
1598 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1599 }
1600 
projectGetCreateLDInputFile(QString id)1601 QString ScriptEngine::projectGetCreateLDInputFile(QString id)
1602 {
1603 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDInputFile(QString id = %1)").arg(id)));
1604 
1605 	if ( mProjectMap.contains(id) )
1606 		return mProjectMap[id]->ui->lineEditCreateLDInputFile->text();
1607 	else {
1608 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1609 		return QString();
1610 	}
1611 }
1612 
projectSetCreateLDOutputFile(QString id,QString file)1613 void ScriptEngine::projectSetCreateLDOutputFile(QString id, QString file)
1614 {
1615 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1616 
1617 	if ( mProjectMap.contains(id) )
1618 		mProjectMap[id]->ui->lineEditCreateLDOutputFile->setText(file);
1619 	else
1620 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1621 }
1622 
projectGetCreateLDOutputFile(QString id)1623 QString ScriptEngine::projectGetCreateLDOutputFile(QString id)
1624 {
1625 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDOutputFile(QString id = %1)").arg(id)));
1626 
1627 	if ( mProjectMap.contains(id) )
1628 		return mProjectMap[id]->ui->lineEditCreateLDOutputFile->text();
1629 	else {
1630 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1631 		return QString();
1632 	}
1633 }
1634 
projectSetCreateLDParentOutputFile(QString id,QString file)1635 void ScriptEngine::projectSetCreateLDParentOutputFile(QString id, QString file)
1636 {
1637 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDParentOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1638 
1639 	if ( mProjectMap.contains(id) )
1640 		mProjectMap[id]->ui->lineEditCreateLDParentOutputFile->setText(file);
1641 	else
1642 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1643 }
1644 
projectGetCreateLDParentOutputFile(QString id)1645 QString ScriptEngine::projectGetCreateLDParentOutputFile(QString id)
1646 {
1647 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDParentOutputFile(QString id = %1)").arg(id)));
1648 
1649 	if ( mProjectMap.contains(id) )
1650 		return mProjectMap[id]->ui->lineEditCreateLDParentOutputFile->text();
1651 	else {
1652 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDParentOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1653 		return QString();
1654 	}
1655 }
1656 
projectSetCreateLDForce(QString id,bool force)1657 void ScriptEngine::projectSetCreateLDForce(QString id, bool force)
1658 {
1659 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
1660 
1661 	if ( mProjectMap.contains(id) )
1662 		mProjectMap[id]->ui->checkBoxCreateLDForce->setChecked(force);
1663 	else
1664 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDForce(): " + tr("project '%1' doesn't exists").arg(id));
1665 }
1666 
projectGetCreateLDForce(QString id)1667 bool ScriptEngine::projectGetCreateLDForce(QString id)
1668 {
1669 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDForce(QString id = %1)").arg(id)));
1670 
1671 	if ( mProjectMap.contains(id) )
1672 		return mProjectMap[id]->ui->checkBoxCreateLDForce->isChecked();
1673 	else {
1674 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDForce(): " + tr("project '%1' doesn't exists").arg(id));
1675 		return false;
1676 	}
1677 }
1678 
projectSetCreateLDInputStartFrame(QString id,int frame)1679 void ScriptEngine::projectSetCreateLDInputStartFrame(QString id, int frame)
1680 {
1681 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDInputStartFrame(QString id = %1, int frame = %2)").arg(id).arg(frame)));
1682 
1683 	if ( mProjectMap.contains(id) )
1684 		mProjectMap[id]->ui->spinBoxCreateLDInputStartFrame->setValue(frame);
1685 	else
1686 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDInputStartFrame(): " + tr("project '%1' doesn't exists").arg(id));
1687 }
1688 
projectGetCreateLDInputStartFrame(QString id)1689 int ScriptEngine::projectGetCreateLDInputStartFrame(QString id)
1690 {
1691 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDInputStartFrame(QString id = %1)").arg(id)));
1692 
1693 	if ( mProjectMap.contains(id) )
1694 		return mProjectMap[id]->ui->spinBoxCreateLDInputStartFrame->value();
1695 	else {
1696 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDInputStartFrame(): " + tr("project '%1' doesn't exists").arg(id));
1697 		return -1;
1698 	}
1699 }
1700 
projectSetCreateLDInputFrames(QString id,int frames)1701 void ScriptEngine::projectSetCreateLDInputFrames(QString id, int frames)
1702 {
1703 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDInputFrames(QString id = %1, int frames = %2)").arg(id).arg(frames)));
1704 
1705 	if ( mProjectMap.contains(id) )
1706 		mProjectMap[id]->ui->spinBoxCreateLDInputFrames->setValue(frames);
1707 	else
1708 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDInputFrames(): " + tr("project '%1' doesn't exists").arg(id));
1709 }
1710 
projectGetCreateLDInputFrames(QString id)1711 int ScriptEngine::projectGetCreateLDInputFrames(QString id)
1712 {
1713 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDInputFrames(QString id = %1)").arg(id)));
1714 
1715 	if ( mProjectMap.contains(id) )
1716 		return mProjectMap[id]->ui->spinBoxCreateLDInputFrames->value();
1717 	else {
1718 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDInputFrames(): " + tr("project '%1' doesn't exists").arg(id));
1719 		return -1;
1720 	}
1721 }
1722 
projectSetCreateLDHunkSize(QString id,int size)1723 void ScriptEngine::projectSetCreateLDHunkSize(QString id, int size)
1724 {
1725 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDHunkSize(QString id = %1, int size = %2)").arg(id).arg(size)));
1726 
1727 	if ( mProjectMap.contains(id) )
1728 		mProjectMap[id]->ui->spinBoxCreateLDHunkSize->setValue(size);
1729 	else
1730 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1731 }
1732 
projectGetCreateLDHunkSize(QString id)1733 int ScriptEngine::projectGetCreateLDHunkSize(QString id)
1734 {
1735 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDHunkSize(QString id = %1)").arg(id)));
1736 
1737 	if ( mProjectMap.contains(id) )
1738 		return mProjectMap[id]->ui->spinBoxCreateLDHunkSize->value();
1739 	else {
1740 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDHunkSize(): " + tr("project '%1' doesn't exists").arg(id));
1741 		return -1;
1742 	}
1743 }
1744 
projectSetCreateLDCompressors(QString id,QString compressors)1745 void ScriptEngine::projectSetCreateLDCompressors(QString id, QString compressors)
1746 {
1747 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDCompressors(QString id = %1, QString compressors = %2)").arg(id).arg(compressors)));
1748 
1749 	if ( mProjectMap.contains(id) )
1750 		mProjectMap[id]->createLDCompressors = compressors.split(",", QString::SkipEmptyParts);
1751 	else
1752 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1753 }
1754 
projectGetCreateLDCompressors(QString id)1755 QString ScriptEngine::projectGetCreateLDCompressors(QString id)
1756 {
1757 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDCompressors(QString id = %1)").arg(id)));
1758 
1759 	if ( mProjectMap.contains(id) )
1760 		return mProjectMap[id]->createLDCompressors.join(",");
1761 	else {
1762 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDCompressors(): " + tr("project '%1' doesn't exists").arg(id));
1763 		return QString();
1764 	}
1765 }
1766 
projectSetCreateLDProcessors(QString id,int processors)1767 void ScriptEngine::projectSetCreateLDProcessors(QString id, int processors)
1768 {
1769 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetCreateLDProcessors(QString id = %1, int processors = %2)").arg(id).arg(processors)));
1770 
1771 	if ( mProjectMap.contains(id) )
1772 		mProjectMap[id]->ui->spinBoxCreateLDProcessors->setValue(processors);
1773 	else
1774 		log(tr("warning") + ": ScriptEngine::projectSetCreateLDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1775 }
1776 
projectGetCreateLDProcessors(QString id)1777 int ScriptEngine::projectGetCreateLDProcessors(QString id)
1778 {
1779 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetCreateLDProcessors(QString id = %1)").arg(id)));
1780 
1781 	if ( mProjectMap.contains(id) )
1782 		return mProjectMap[id]->ui->spinBoxCreateLDProcessors->value();
1783 	else {
1784 		log(tr("warning") + ": ScriptEngine::projectGetCreateLDProcessors(): " + tr("project '%1' doesn't exists").arg(id));
1785 		return -1;
1786 	}
1787 }
1788 
1789 // ExtractRaw
1790 
projectSetExtractRawInputFile(QString id,QString file)1791 void ScriptEngine::projectSetExtractRawInputFile(QString id, QString file)
1792 {
1793 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1794 
1795 	if ( mProjectMap.contains(id) )
1796 		mProjectMap[id]->ui->lineEditExtractRawInputFile->setText(file);
1797 	else
1798 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1799 }
1800 
projectGetExtractRawInputFile(QString id)1801 QString ScriptEngine::projectGetExtractRawInputFile(QString id)
1802 {
1803 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawInputFile(QString id = %1)").arg(id)));
1804 
1805 	if ( mProjectMap.contains(id) )
1806 		return mProjectMap[id]->ui->lineEditExtractRawInputFile->text();
1807 	else {
1808 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1809 		return QString();
1810 	}
1811 }
1812 
projectSetExtractRawParentInputFile(QString id,QString file)1813 void ScriptEngine::projectSetExtractRawParentInputFile(QString id, QString file)
1814 {
1815 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1816 
1817 	if ( mProjectMap.contains(id) )
1818 		mProjectMap[id]->ui->lineEditExtractRawParentInputFile->setText(file);
1819 	else
1820 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1821 }
1822 
projectGetExtractRawParentInputFile(QString id)1823 QString ScriptEngine::projectGetExtractRawParentInputFile(QString id)
1824 {
1825 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawParentInputFile(QString id = %1)").arg(id)));
1826 
1827 	if ( mProjectMap.contains(id) )
1828 		return mProjectMap[id]->ui->lineEditExtractRawParentInputFile->text();
1829 	else {
1830 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1831 		return QString();
1832 	}
1833 }
1834 
projectSetExtractRawOutputFile(QString id,QString file)1835 void ScriptEngine::projectSetExtractRawOutputFile(QString id, QString file)
1836 {
1837 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1838 
1839 	if ( mProjectMap.contains(id) )
1840 		mProjectMap[id]->ui->lineEditExtractRawOutputFile->setText(file);
1841 	else
1842 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1843 }
1844 
projectGetExtractRawOutputFile(QString id)1845 QString ScriptEngine::projectGetExtractRawOutputFile(QString id)
1846 {
1847 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawOutputFile(QString id = %1)").arg(id)));
1848 
1849 	if ( mProjectMap.contains(id) )
1850 		return mProjectMap[id]->ui->lineEditExtractRawOutputFile->text();
1851 	else {
1852 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
1853 		return QString();
1854 	}
1855 }
1856 
projectSetExtractRawForce(QString id,bool force)1857 void ScriptEngine::projectSetExtractRawForce(QString id, bool force)
1858 {
1859 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
1860 
1861 	if ( mProjectMap.contains(id) )
1862 		mProjectMap[id]->ui->checkBoxExtractRawForce->setChecked(force);
1863 	else
1864 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawForce(): " + tr("project '%1' doesn't exists").arg(id));
1865 }
1866 
projectGetExtractRawForce(QString id)1867 bool ScriptEngine::projectGetExtractRawForce(QString id)
1868 {
1869 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawForce(QString id = %1)").arg(id)));
1870 
1871 	if ( mProjectMap.contains(id) )
1872 		return mProjectMap[id]->ui->checkBoxExtractRawForce->isChecked();
1873 	else {
1874 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawForce(): " + tr("project '%1' doesn't exists").arg(id));
1875 		return false;
1876 	}
1877 }
1878 
projectSetExtractRawInputStartByte(QString id,int byte)1879 void ScriptEngine::projectSetExtractRawInputStartByte(QString id, int byte)
1880 {
1881 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawInputStartByte(QString id = %1, int byte = %2)").arg(id).arg(byte)));
1882 
1883 	if ( mProjectMap.contains(id) )
1884 		mProjectMap[id]->ui->spinBoxExtractRawInputStartByte->setValue(byte);
1885 	else
1886 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
1887 }
1888 
projectGetExtractRawInputStartByte(QString id)1889 int ScriptEngine::projectGetExtractRawInputStartByte(QString id)
1890 {
1891 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawInputStartByte(QString id = %1)").arg(id)));
1892 
1893 	if ( mProjectMap.contains(id) )
1894 		return mProjectMap[id]->ui->spinBoxExtractRawInputStartByte->value();
1895 	else {
1896 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
1897 		return -1;
1898 	}
1899 }
1900 
projectSetExtractRawInputStartHunk(QString id,int hunk)1901 void ScriptEngine::projectSetExtractRawInputStartHunk(QString id, int hunk)
1902 {
1903 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawInputStartHunk(QString id = %1, int hunk = %2)").arg(id).arg(hunk)));
1904 
1905 	if ( mProjectMap.contains(id) )
1906 		mProjectMap[id]->ui->spinBoxExtractRawInputStartHunk->setValue(hunk);
1907 	else
1908 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
1909 }
1910 
projectGetExtractRawInputStartHunk(QString id)1911 int ScriptEngine::projectGetExtractRawInputStartHunk(QString id)
1912 {
1913 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawInputStartHunk(QString id = %1)").arg(id)));
1914 
1915 	if ( mProjectMap.contains(id) )
1916 		return mProjectMap[id]->ui->spinBoxExtractRawInputStartHunk->value();
1917 	else {
1918 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
1919 		return -1;
1920 	}
1921 }
1922 
projectSetExtractRawInputBytes(QString id,int bytes)1923 void ScriptEngine::projectSetExtractRawInputBytes(QString id, int bytes)
1924 {
1925 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawInputBytes(QString id = %1, int bytes = %2)").arg(id).arg(bytes)));
1926 
1927 	if ( mProjectMap.contains(id) )
1928 		mProjectMap[id]->ui->spinBoxExtractRawInputBytes->setValue(bytes);
1929 	else
1930 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
1931 }
1932 
projectGetExtractRawInputBytes(QString id)1933 int ScriptEngine::projectGetExtractRawInputBytes(QString id)
1934 {
1935 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawInputBytes(QString id = %1)").arg(id)));
1936 
1937 	if ( mProjectMap.contains(id) )
1938 		return mProjectMap[id]->ui->spinBoxExtractRawInputBytes->value();
1939 	else {
1940 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
1941 		return -1;
1942 	}
1943 }
1944 
projectSetExtractRawInputHunks(QString id,int hunks)1945 void ScriptEngine::projectSetExtractRawInputHunks(QString id, int hunks)
1946 {
1947 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractRawInputHunks(QString id = %1, int bytes = %2)").arg(id).arg(hunks)));
1948 
1949 	if ( mProjectMap.contains(id) )
1950 		mProjectMap[id]->ui->spinBoxExtractRawInputHunks->setValue(hunks);
1951 	else
1952 		log(tr("warning") + ": ScriptEngine::projectSetExtractRawInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
1953 }
1954 
projectGetExtractRawInputHunks(QString id)1955 int ScriptEngine::projectGetExtractRawInputHunks(QString id)
1956 {
1957 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractRawInputHunks(QString id = %1)").arg(id)));
1958 
1959 	if ( mProjectMap.contains(id) )
1960 		return mProjectMap[id]->ui->spinBoxExtractRawInputHunks->value();
1961 	else {
1962 		log(tr("warning") + ": ScriptEngine::projectGetExtractRawInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
1963 		return -1;
1964 	}
1965 }
1966 
1967 // ExtractHD
1968 
projectSetExtractHDInputFile(QString id,QString file)1969 void ScriptEngine::projectSetExtractHDInputFile(QString id, QString file)
1970 {
1971 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1972 
1973 	if ( mProjectMap.contains(id) )
1974 		mProjectMap[id]->ui->lineEditExtractHDInputFile->setText(file);
1975 	else
1976 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1977 }
1978 
projectGetExtractHDInputFile(QString id)1979 QString ScriptEngine::projectGetExtractHDInputFile(QString id)
1980 {
1981 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDInputFile(QString id = %1)").arg(id)));
1982 
1983 	if ( mProjectMap.contains(id) )
1984 		return mProjectMap[id]->ui->lineEditExtractHDInputFile->text();
1985 	else {
1986 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1987 		return QString();
1988 	}
1989 }
1990 
projectSetExtractHDParentInputFile(QString id,QString file)1991 void ScriptEngine::projectSetExtractHDParentInputFile(QString id, QString file)
1992 {
1993 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
1994 
1995 	if ( mProjectMap.contains(id) )
1996 		mProjectMap[id]->ui->lineEditExtractHDParentInputFile->setText(file);
1997 	else
1998 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
1999 }
2000 
projectGetExtractHDParentInputFile(QString id)2001 QString ScriptEngine::projectGetExtractHDParentInputFile(QString id)
2002 {
2003 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDParentInputFile(QString id = %1)").arg(id)));
2004 
2005 	if ( mProjectMap.contains(id) )
2006 		return mProjectMap[id]->ui->lineEditExtractHDParentInputFile->text();
2007 	else {
2008 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2009 		return QString();
2010 	}
2011 }
2012 
projectSetExtractHDOutputFile(QString id,QString file)2013 void ScriptEngine::projectSetExtractHDOutputFile(QString id, QString file)
2014 {
2015 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2016 
2017 	if ( mProjectMap.contains(id) )
2018 		mProjectMap[id]->ui->lineEditExtractHDOutputFile->setText(file);
2019 	else
2020 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2021 }
2022 
projectGetExtractHDOutputFile(QString id)2023 QString ScriptEngine::projectGetExtractHDOutputFile(QString id)
2024 {
2025 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDOutputFile(QString id = %1)").arg(id)));
2026 
2027 	if ( mProjectMap.contains(id) )
2028 		return mProjectMap[id]->ui->lineEditExtractHDOutputFile->text();
2029 	else {
2030 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2031 		return QString();
2032 	}
2033 }
2034 
projectSetExtractHDForce(QString id,bool force)2035 void ScriptEngine::projectSetExtractHDForce(QString id, bool force)
2036 {
2037 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
2038 
2039 	if ( mProjectMap.contains(id) )
2040 		mProjectMap[id]->ui->checkBoxExtractHDForce->setChecked(force);
2041 	else
2042 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDForce(): " + tr("project '%1' doesn't exists").arg(id));
2043 }
2044 
projectGetExtractHDForce(QString id)2045 bool ScriptEngine::projectGetExtractHDForce(QString id)
2046 {
2047 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDForce(QString id = %1)").arg(id)));
2048 
2049 	if ( mProjectMap.contains(id) )
2050 		return mProjectMap[id]->ui->checkBoxExtractHDForce->isChecked();
2051 	else {
2052 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDForce(): " + tr("project '%1' doesn't exists").arg(id));
2053 		return false;
2054 	}
2055 }
2056 
projectSetExtractHDInputStartByte(QString id,int byte)2057 void ScriptEngine::projectSetExtractHDInputStartByte(QString id, int byte)
2058 {
2059 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDInputStartByte(QString id = %1, int byte = %2)").arg(id).arg(byte)));
2060 
2061 	if ( mProjectMap.contains(id) )
2062 		mProjectMap[id]->ui->spinBoxExtractHDInputStartByte->setValue(byte);
2063 	else
2064 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
2065 }
2066 
projectGetExtractHDInputStartByte(QString id)2067 int ScriptEngine::projectGetExtractHDInputStartByte(QString id)
2068 {
2069 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDInputStartByte(QString id = %1)").arg(id)));
2070 
2071 	if ( mProjectMap.contains(id) )
2072 		return mProjectMap[id]->ui->spinBoxExtractHDInputStartByte->value();
2073 	else {
2074 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDInputStartByte(): " + tr("project '%1' doesn't exists").arg(id));
2075 		return -1;
2076 	}
2077 }
2078 
projectSetExtractHDInputStartHunk(QString id,int hunk)2079 void ScriptEngine::projectSetExtractHDInputStartHunk(QString id, int hunk)
2080 {
2081 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDInputStartHunk(QString id = %1, int hunk = %2)").arg(id).arg(hunk)));
2082 
2083 	if ( mProjectMap.contains(id) )
2084 		mProjectMap[id]->ui->spinBoxExtractHDInputStartHunk->setValue(hunk);
2085 	else
2086 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
2087 }
2088 
projectGetExtractHDInputStartHunk(QString id)2089 int ScriptEngine::projectGetExtractHDInputStartHunk(QString id)
2090 {
2091 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDInputStartHunk(QString id = %1)").arg(id)));
2092 
2093 	if ( mProjectMap.contains(id) )
2094 		return mProjectMap[id]->ui->spinBoxExtractHDInputStartHunk->value();
2095 	else {
2096 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDInputStartHunk(): " + tr("project '%1' doesn't exists").arg(id));
2097 		return -1;
2098 	}
2099 }
2100 
projectSetExtractHDInputBytes(QString id,int bytes)2101 void ScriptEngine::projectSetExtractHDInputBytes(QString id, int bytes)
2102 {
2103 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDInputBytes(QString id = %1, int bytes = %2)").arg(id).arg(bytes)));
2104 
2105 	if ( mProjectMap.contains(id) )
2106 		mProjectMap[id]->ui->spinBoxExtractHDInputBytes->setValue(bytes);
2107 	else
2108 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
2109 }
2110 
projectGetExtractHDInputBytes(QString id)2111 int ScriptEngine::projectGetExtractHDInputBytes(QString id)
2112 {
2113 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDInputBytes(QString id = %1)").arg(id)));
2114 
2115 	if ( mProjectMap.contains(id) )
2116 		return mProjectMap[id]->ui->spinBoxExtractHDInputBytes->value();
2117 	else {
2118 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDInputBytes(): " + tr("project '%1' doesn't exists").arg(id));
2119 		return -1;
2120 	}
2121 }
2122 
projectSetExtractHDInputHunks(QString id,int hunks)2123 void ScriptEngine::projectSetExtractHDInputHunks(QString id, int hunks)
2124 {
2125 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractHDInputHunks(QString id = %1, int bytes = %2)").arg(id).arg(hunks)));
2126 
2127 	if ( mProjectMap.contains(id) )
2128 		mProjectMap[id]->ui->spinBoxExtractHDInputHunks->setValue(hunks);
2129 	else
2130 		log(tr("warning") + ": ScriptEngine::projectSetExtractHDInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
2131 }
2132 
projectGetExtractHDInputHunks(QString id)2133 int ScriptEngine::projectGetExtractHDInputHunks(QString id)
2134 {
2135 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractHDInputHunks(QString id = %1)").arg(id)));
2136 
2137 	if ( mProjectMap.contains(id) )
2138 		return mProjectMap[id]->ui->spinBoxExtractHDInputHunks->value();
2139 	else {
2140 		log(tr("warning") + ": ScriptEngine::projectGetExtractHDInputHunks(): " + tr("project '%1' doesn't exists").arg(id));
2141 		return -1;
2142 	}
2143 }
2144 
2145 // ExtractCD
2146 
projectSetExtractCDInputFile(QString id,QString file)2147 void ScriptEngine::projectSetExtractCDInputFile(QString id, QString file)
2148 {
2149 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractCDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2150 
2151 	if ( mProjectMap.contains(id) )
2152 		mProjectMap[id]->ui->lineEditExtractCDInputFile->setText(file);
2153 	else
2154 		log(tr("warning") + ": ScriptEngine::projectSetExtractCDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2155 }
2156 
projectGetExtractCDInputFile(QString id)2157 QString ScriptEngine::projectGetExtractCDInputFile(QString id)
2158 {
2159 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractCDInputFile(QString id = %1)").arg(id)));
2160 
2161 	if ( mProjectMap.contains(id) )
2162 		return mProjectMap[id]->ui->lineEditExtractCDInputFile->text();
2163 	else {
2164 		log(tr("warning") + ": ScriptEngine::projectGetExtractCDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2165 		return QString();
2166 	}
2167 }
2168 
projectSetExtractCDParentInputFile(QString id,QString file)2169 void ScriptEngine::projectSetExtractCDParentInputFile(QString id, QString file)
2170 {
2171 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractCDParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2172 
2173 	if ( mProjectMap.contains(id) )
2174 		mProjectMap[id]->ui->lineEditExtractCDParentInputFile->setText(file);
2175 	else
2176 		log(tr("warning") + ": ScriptEngine::projectSetExtractCDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2177 }
2178 
projectGetExtractCDParentInputFile(QString id)2179 QString ScriptEngine::projectGetExtractCDParentInputFile(QString id)
2180 {
2181 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractCDParentInputFile(QString id = %1)").arg(id)));
2182 
2183 	if ( mProjectMap.contains(id) )
2184 		return mProjectMap[id]->ui->lineEditExtractCDParentInputFile->text();
2185 	else {
2186 		log(tr("warning") + ": ScriptEngine::projectGetExtractCDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2187 		return QString();
2188 	}
2189 }
2190 
projectSetExtractCDOutputFile(QString id,QString file)2191 void ScriptEngine::projectSetExtractCDOutputFile(QString id, QString file)
2192 {
2193 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractCDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2194 
2195 	if ( mProjectMap.contains(id) )
2196 		mProjectMap[id]->ui->lineEditExtractCDOutputFile->setText(file);
2197 	else
2198 		log(tr("warning") + ": ScriptEngine::projectSetExtractCDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2199 }
2200 
projectGetExtractCDOutputFile(QString id)2201 QString ScriptEngine::projectGetExtractCDOutputFile(QString id)
2202 {
2203 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractCDOutputFile(QString id = %1)").arg(id)));
2204 
2205 	if ( mProjectMap.contains(id) )
2206 		return mProjectMap[id]->ui->lineEditExtractCDOutputFile->text();
2207 	else {
2208 		log(tr("warning") + ": ScriptEngine::projectGetExtractCDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2209 		return QString();
2210 	}
2211 }
2212 
projectSetExtractCDOutputBinFile(QString id,QString file)2213 void ScriptEngine::projectSetExtractCDOutputBinFile(QString id, QString file)
2214 {
2215 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractCDOutputBinFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2216 
2217 	if ( mProjectMap.contains(id) )
2218 		mProjectMap[id]->ui->lineEditExtractCDOutputBinFile->setText(file);
2219 	else
2220 		log(tr("warning") + ": ScriptEngine::projectSetExtractCDOutputBinFile(): " + tr("project '%1' doesn't exists").arg(id));
2221 }
2222 
projectGetExtractCDOutputBinFile(QString id)2223 QString ScriptEngine::projectGetExtractCDOutputBinFile(QString id)
2224 {
2225 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractCDOutputBinFile(QString id = %1)").arg(id)));
2226 
2227 	if ( mProjectMap.contains(id) )
2228 		return mProjectMap[id]->ui->lineEditExtractCDOutputBinFile->text();
2229 	else {
2230 		log(tr("warning") + ": ScriptEngine::projectGetExtractCDOutputBinFile(): " + tr("project '%1' doesn't exists").arg(id));
2231 		return QString();
2232 	}
2233 }
2234 
projectSetExtractCDForce(QString id,bool force)2235 void ScriptEngine::projectSetExtractCDForce(QString id, bool force)
2236 {
2237 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractCDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
2238 
2239 	if ( mProjectMap.contains(id) )
2240 		mProjectMap[id]->ui->checkBoxExtractCDForce->setChecked(force);
2241 	else
2242 		log(tr("warning") + ": ScriptEngine::projectSetExtractCDForce(): " + tr("project '%1' doesn't exists").arg(id));
2243 }
2244 
projectGetExtractCDForce(QString id)2245 bool ScriptEngine::projectGetExtractCDForce(QString id)
2246 {
2247 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractCDForce(QString id = %1)").arg(id)));
2248 
2249 	if ( mProjectMap.contains(id) )
2250 		return mProjectMap[id]->ui->checkBoxExtractCDForce->isChecked();
2251 	else {
2252 		log(tr("warning") + ": ScriptEngine::projectGetExtractCDForce(): " + tr("project '%1' doesn't exists").arg(id));
2253 		return false;
2254 	}
2255 }
2256 
2257 // ExtractLD
2258 
projectSetExtractLDInputFile(QString id,QString file)2259 void ScriptEngine::projectSetExtractLDInputFile(QString id, QString file)
2260 {
2261 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2262 
2263 	if ( mProjectMap.contains(id) )
2264 		mProjectMap[id]->ui->lineEditExtractLDInputFile->setText(file);
2265 	else
2266 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2267 }
2268 
projectGetExtractLDInputFile(QString id)2269 QString ScriptEngine::projectGetExtractLDInputFile(QString id)
2270 {
2271 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDInputFile(QString id = %1)").arg(id)));
2272 
2273 	if ( mProjectMap.contains(id) )
2274 		return mProjectMap[id]->ui->lineEditExtractLDInputFile->text();
2275 	else {
2276 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2277 		return QString();
2278 	}
2279 }
2280 
projectSetExtractLDParentInputFile(QString id,QString file)2281 void ScriptEngine::projectSetExtractLDParentInputFile(QString id, QString file)
2282 {
2283 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDParentInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2284 
2285 	if ( mProjectMap.contains(id) )
2286 		mProjectMap[id]->ui->lineEditExtractLDParentInputFile->setText(file);
2287 	else
2288 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2289 }
2290 
projectGetExtractLDParentInputFile(QString id)2291 QString ScriptEngine::projectGetExtractLDParentInputFile(QString id)
2292 {
2293 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDParentInputFile(QString id = %1)").arg(id)));
2294 
2295 	if ( mProjectMap.contains(id) )
2296 		return mProjectMap[id]->ui->lineEditExtractLDParentInputFile->text();
2297 	else {
2298 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDParentInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2299 		return QString();
2300 	}
2301 }
2302 
projectSetExtractLDOutputFile(QString id,QString file)2303 void ScriptEngine::projectSetExtractLDOutputFile(QString id, QString file)
2304 {
2305 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2306 
2307 	if ( mProjectMap.contains(id) )
2308 		mProjectMap[id]->ui->lineEditExtractLDOutputFile->setText(file);
2309 	else
2310 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2311 }
2312 
projectGetExtractLDOutputFile(QString id)2313 QString ScriptEngine::projectGetExtractLDOutputFile(QString id)
2314 {
2315 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDOutputFile(QString id = %1)").arg(id)));
2316 
2317 	if ( mProjectMap.contains(id) )
2318 		return mProjectMap[id]->ui->lineEditExtractLDOutputFile->text();
2319 	else {
2320 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2321 		return QString();
2322 	}
2323 }
2324 
projectSetExtractLDForce(QString id,bool force)2325 void ScriptEngine::projectSetExtractLDForce(QString id, bool force)
2326 {
2327 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
2328 
2329 	if ( mProjectMap.contains(id) )
2330 		mProjectMap[id]->ui->checkBoxExtractLDForce->setChecked(force);
2331 	else
2332 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDForce(): " + tr("project '%1' doesn't exists").arg(id));
2333 }
2334 
projectGetExtractLDForce(QString id)2335 bool ScriptEngine::projectGetExtractLDForce(QString id)
2336 {
2337 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDForce(QString id = %1)").arg(id)));
2338 
2339 	if ( mProjectMap.contains(id) )
2340 		return mProjectMap[id]->ui->checkBoxExtractLDForce->isChecked();
2341 	else {
2342 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDForce(): " + tr("project '%1' doesn't exists").arg(id));
2343 		return false;
2344 	}
2345 }
2346 
projectSetExtractLDInputStartFrame(QString id,int frame)2347 void ScriptEngine::projectSetExtractLDInputStartFrame(QString id, int frame)
2348 {
2349 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDInputStartFrame(QString id = %1, int frame = %2)").arg(id).arg(frame)));
2350 
2351 	if ( mProjectMap.contains(id) )
2352 		mProjectMap[id]->ui->spinBoxExtractLDInputStartFrame->setValue(frame);
2353 	else
2354 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDInputStartFrame(): " + tr("project '%1' doesn't exists").arg(id));
2355 }
2356 
projectGetExtractLDInputStartFrame(QString id)2357 int ScriptEngine::projectGetExtractLDInputStartFrame(QString id)
2358 {
2359 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDInputStartFrame(QString id = %1)").arg(id)));
2360 
2361 	if ( mProjectMap.contains(id) )
2362 		return mProjectMap[id]->ui->spinBoxExtractLDInputStartFrame->value();
2363 	else {
2364 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDInputStartFrame(): " + tr("project '%1' doesn't exists").arg(id));
2365 		return -1;
2366 	}
2367 }
2368 
projectSetExtractLDInputFrames(QString id,int frames)2369 void ScriptEngine::projectSetExtractLDInputFrames(QString id, int frames)
2370 {
2371 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetExtractLDInputFrames(QString id = %1, int frame = %2)").arg(id).arg(frames)));
2372 
2373 	if ( mProjectMap.contains(id) )
2374 		mProjectMap[id]->ui->spinBoxExtractLDInputFrames->setValue(frames);
2375 	else
2376 		log(tr("warning") + ": ScriptEngine::projectSetExtractLDInputFrames(): " + tr("project '%1' doesn't exists").arg(id));
2377 }
2378 
projectGetExtractLDInputFrames(QString id)2379 int ScriptEngine::projectGetExtractLDInputFrames(QString id)
2380 {
2381 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetExtractLDInputFrames(QString id = %1)").arg(id)));
2382 
2383 	if ( mProjectMap.contains(id) )
2384 		return mProjectMap[id]->ui->spinBoxExtractLDInputFrames->value();
2385 	else {
2386 		log(tr("warning") + ": ScriptEngine::projectGetExtractLDInputFrames(): " + tr("project '%1' doesn't exists").arg(id));
2387 		return -1;
2388 	}
2389 }
2390 
2391 // DumpMeta
2392 
projectSetDumpMetaInputFile(QString id,QString file)2393 void ScriptEngine::projectSetDumpMetaInputFile(QString id, QString file)
2394 {
2395 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDumpMetaInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2396 
2397 	if ( mProjectMap.contains(id) )
2398 		mProjectMap[id]->ui->lineEditDumpMetaInputFile->setText(file);
2399 	else
2400 		log(tr("warning") + ": ScriptEngine::projectSetDumpMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2401 }
2402 
projectGetDumpMetaInputFile(QString id)2403 QString ScriptEngine::projectGetDumpMetaInputFile(QString id)
2404 {
2405 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDumpMetaInputFile(QString id = %1)").arg(id)));
2406 
2407 	if ( mProjectMap.contains(id) )
2408 		return mProjectMap[id]->ui->lineEditDumpMetaInputFile->text();
2409 	else {
2410 		log(tr("warning") + ": ScriptEngine::projectGetDumpMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2411 		return QString();
2412 	}
2413 }
2414 
projectSetDumpMetaOutputFile(QString id,QString file)2415 void ScriptEngine::projectSetDumpMetaOutputFile(QString id, QString file)
2416 {
2417 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDumpMetaOutputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2418 
2419 	if ( mProjectMap.contains(id) )
2420 		mProjectMap[id]->ui->lineEditDumpMetaOutputFile->setText(file);
2421 	else
2422 		log(tr("warning") + ": ScriptEngine::projectSetDumpMetaOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2423 }
2424 
projectGetDumpMetaOutputFile(QString id)2425 QString ScriptEngine::projectGetDumpMetaOutputFile(QString id)
2426 {
2427 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDumpMetaOutputFile(QString id = %1)").arg(id)));
2428 
2429 	if ( mProjectMap.contains(id) )
2430 		return mProjectMap[id]->ui->lineEditDumpMetaOutputFile->text();
2431 	else {
2432 		log(tr("warning") + ": ScriptEngine::projectGetDumpMetaOutputFile(): " + tr("project '%1' doesn't exists").arg(id));
2433 		return QString();
2434 	}
2435 }
2436 
projectSetDumpMetaForce(QString id,bool force)2437 void ScriptEngine::projectSetDumpMetaForce(QString id, bool force)
2438 {
2439 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDumpMetaForce(QString id = %1, bool force = %2)").arg(id).arg(force)));
2440 
2441 	if ( mProjectMap.contains(id) )
2442 		mProjectMap[id]->ui->checkBoxDumpMetaForce->setChecked(force);
2443 	else
2444 		log(tr("warning") + ": ScriptEngine::projectSetDumpMetaForce(): " + tr("project '%1' doesn't exists").arg(id));
2445 }
2446 
projectGetDumpMetaForce(QString id)2447 bool ScriptEngine::projectGetDumpMetaForce(QString id)
2448 {
2449 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDumpMetaForce(QString id = %1)").arg(id)));
2450 
2451 	if ( mProjectMap.contains(id) )
2452 		return mProjectMap[id]->ui->checkBoxDumpMetaForce->isChecked();
2453 	else {
2454 		log(tr("warning") + ": ScriptEngine::projectGetDumpMetaForce(): " + tr("project '%1' doesn't exists").arg(id));
2455 		return false;
2456 	}
2457 }
2458 
projectSetDumpMetaTag(QString id,QString tag)2459 void ScriptEngine::projectSetDumpMetaTag(QString id, QString tag)
2460 {
2461 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDumpMetaTag(QString id = %1, QString tag = %2)").arg(id).arg(tag)));
2462 
2463 	if ( mProjectMap.contains(id) )
2464 		mProjectMap[id]->ui->lineEditDumpMetaTag->setText(tag);
2465 	else
2466 		log(tr("warning") + ": ScriptEngine::projectSetDumpMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2467 }
2468 
projectGetDumpMetaTag(QString id)2469 QString ScriptEngine::projectGetDumpMetaTag(QString id)
2470 {
2471 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDumpMetaTag(QString id = %1)").arg(id)));
2472 
2473 	if ( mProjectMap.contains(id) )
2474 		return mProjectMap[id]->ui->lineEditDumpMetaTag->text();
2475 	else {
2476 		log(tr("warning") + ": ScriptEngine::projectGetDumpMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2477 		return QString();
2478 	}
2479 }
2480 
projectSetDumpMetaIndex(QString id,int index)2481 void ScriptEngine::projectSetDumpMetaIndex(QString id, int index)
2482 {
2483 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDumpMetaIndex(QString id = %1, int index = %2)").arg(id).arg(index)));
2484 
2485 	if ( mProjectMap.contains(id) )
2486 		mProjectMap[id]->ui->spinBoxDumpMetaIndex->setValue(index);
2487 	else
2488 		log(tr("warning") + ": ScriptEngine::projectSetDumpMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2489 }
2490 
projectGetDumpMetaIndex(QString id)2491 int ScriptEngine::projectGetDumpMetaIndex(QString id)
2492 {
2493 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDumpMetaIndex(QString id = %1)").arg(id)));
2494 
2495 	if ( mProjectMap.contains(id) )
2496 		return mProjectMap[id]->ui->spinBoxDumpMetaIndex->value();
2497 	else {
2498 		log(tr("warning") + ": ScriptEngine::projectGetDumpMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2499 		return -1;
2500 	}
2501 }
2502 
2503 // AddMeta
2504 
projectSetAddMetaInputFile(QString id,QString file)2505 void ScriptEngine::projectSetAddMetaInputFile(QString id, QString file)
2506 {
2507 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2508 
2509 	if ( mProjectMap.contains(id) )
2510 		mProjectMap[id]->ui->lineEditAddMetaInputFile->setText(file);
2511 	else
2512 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2513 }
2514 
projectGetAddMetaInputFile(QString id)2515 QString ScriptEngine::projectGetAddMetaInputFile(QString id)
2516 {
2517 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaInputFile(QString id = %1)").arg(id)));
2518 
2519 	if ( mProjectMap.contains(id) )
2520 		return mProjectMap[id]->ui->lineEditAddMetaInputFile->text();
2521 	else {
2522 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2523 		return QString();
2524 	}
2525 }
2526 
projectSetAddMetaValueFile(QString id,QString file)2527 void ScriptEngine::projectSetAddMetaValueFile(QString id, QString file)
2528 {
2529 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaValueFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2530 
2531 	if ( mProjectMap.contains(id) )
2532 		mProjectMap[id]->ui->lineEditAddMetaValueFile->setText(file);
2533 	else
2534 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaValueFile(): " + tr("project '%1' doesn't exists").arg(id));
2535 }
2536 
projectGetAddMetaValueFile(QString id)2537 QString ScriptEngine::projectGetAddMetaValueFile(QString id)
2538 {
2539 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaValueFile(QString id = %1)").arg(id)));
2540 
2541 	if ( mProjectMap.contains(id) )
2542 		return mProjectMap[id]->ui->lineEditAddMetaValueFile->text();
2543 	else {
2544 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaValueFile(): " + tr("project '%1' doesn't exists").arg(id));
2545 		return QString();
2546 	}
2547 }
2548 
projectSetAddMetaValueText(QString id,QString text)2549 void ScriptEngine::projectSetAddMetaValueText(QString id, QString text)
2550 {
2551 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaValueText(QString id = %1, QString text = %2)").arg(id).arg(text)));
2552 
2553 	if ( mProjectMap.contains(id) )
2554 		mProjectMap[id]->ui->lineEditAddMetaValueText->setText(text);
2555 	else
2556 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaValueText(): " + tr("project '%1' doesn't exists").arg(id));
2557 }
2558 
projectGetAddMetaValueText(QString id)2559 QString ScriptEngine::projectGetAddMetaValueText(QString id)
2560 {
2561 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaValueText(QString id = %1)").arg(id)));
2562 
2563 	if ( mProjectMap.contains(id) )
2564 		return mProjectMap[id]->ui->lineEditAddMetaValueText->text();
2565 	else {
2566 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaValueText(): " + tr("project '%1' doesn't exists").arg(id));
2567 		return QString();
2568 	}
2569 }
2570 
projectSetAddMetaTag(QString id,QString tag)2571 void ScriptEngine::projectSetAddMetaTag(QString id, QString tag)
2572 {
2573 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaTag(QString id = %1, QString tag = %2)").arg(id).arg(tag)));
2574 
2575 	if ( mProjectMap.contains(id) )
2576 		mProjectMap[id]->ui->lineEditAddMetaTag->setText(tag);
2577 	else
2578 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2579 }
2580 
projectGetAddMetaTag(QString id)2581 QString ScriptEngine::projectGetAddMetaTag(QString id)
2582 {
2583 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaTag(QString id = %1)").arg(id)));
2584 
2585 	if ( mProjectMap.contains(id) )
2586 		return mProjectMap[id]->ui->lineEditAddMetaTag->text();
2587 	else {
2588 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2589 		return QString();
2590 	}
2591 }
2592 
projectSetAddMetaIndex(QString id,int index)2593 void ScriptEngine::projectSetAddMetaIndex(QString id, int index)
2594 {
2595 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaIndex(QString id = %1, int index = %2)").arg(id).arg(index)));
2596 
2597 	if ( mProjectMap.contains(id) )
2598 		mProjectMap[id]->ui->spinBoxAddMetaIndex->setValue(index);
2599 	else
2600 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2601 }
2602 
projectGetAddMetaIndex(QString id)2603 int ScriptEngine::projectGetAddMetaIndex(QString id)
2604 {
2605 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaIndex(QString id = %1)").arg(id)));
2606 
2607 	if ( mProjectMap.contains(id) )
2608 		return mProjectMap[id]->ui->spinBoxAddMetaIndex->value();
2609 	else {
2610 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2611 		return -1;
2612 	}
2613 }
2614 
projectSetAddMetaNoCheckSum(QString id,bool noCheckSum)2615 void ScriptEngine::projectSetAddMetaNoCheckSum(QString id, bool noCheckSum)
2616 {
2617 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetAddMetaNoCheckSum(QString id = %1, bool noCheckSum = %2)").arg(id).arg(noCheckSum)));
2618 
2619 	if ( mProjectMap.contains(id) )
2620 		mProjectMap[id]->ui->checkBoxAddMetaNoCheckSum->setChecked(noCheckSum);
2621 	else
2622 		log(tr("warning") + ": ScriptEngine::projectSetAddMetaNoCheckSum(): " + tr("project '%1' doesn't exists").arg(id));
2623 }
2624 
projectGetAddMetaNoCheckSum(QString id)2625 bool ScriptEngine::projectGetAddMetaNoCheckSum(QString id)
2626 {
2627 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetAddMetaNoCheckSum(QString id = %1)").arg(id)));
2628 
2629 	if ( mProjectMap.contains(id) )
2630 		return mProjectMap[id]->ui->checkBoxAddMetaNoCheckSum->isChecked();
2631 	else {
2632 		log(tr("warning") + ": ScriptEngine::projectGetAddMetaNoCheckSum(): " + tr("project '%1' doesn't exists").arg(id));
2633 		return false;
2634 	}
2635 }
2636 
2637 // DelMeta
2638 
projectSetDelMetaInputFile(QString id,QString file)2639 void ScriptEngine::projectSetDelMetaInputFile(QString id, QString file)
2640 {
2641 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDelMetaInputFile(QString id = %1, QString file = %2)").arg(id).arg(file)));
2642 
2643 	if ( mProjectMap.contains(id) )
2644 		mProjectMap[id]->ui->lineEditDelMetaInputFile->setText(file);
2645 	else
2646 		log(tr("warning") + ": ScriptEngine::projectSetDelMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2647 }
2648 
projectGetDelMetaInputFile(QString id)2649 QString ScriptEngine::projectGetDelMetaInputFile(QString id)
2650 {
2651 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDelMetaInputFile(QString id = %1)").arg(id)));
2652 
2653 	if ( mProjectMap.contains(id) )
2654 		return mProjectMap[id]->ui->lineEditDelMetaInputFile->text();
2655 	else {
2656 		log(tr("warning") + ": ScriptEngine::projectGetDelMetaInputFile(): " + tr("project '%1' doesn't exists").arg(id));
2657 		return QString();
2658 	}
2659 }
2660 
projectSetDelMetaTag(QString id,QString tag)2661 void ScriptEngine::projectSetDelMetaTag(QString id, QString tag)
2662 {
2663 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDelMetaTag(QString id = %1, QString tag = %2)").arg(id).arg(tag)));
2664 
2665 	if ( mProjectMap.contains(id) )
2666 		mProjectMap[id]->ui->lineEditDelMetaTag->setText(tag);
2667 	else
2668 		log(tr("warning") + ": ScriptEngine::projectSetDelMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2669 }
2670 
projectGetDelMetaTag(QString id)2671 QString ScriptEngine::projectGetDelMetaTag(QString id)
2672 {
2673 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDelMetaTag(QString id = %1)").arg(id)));
2674 
2675 	if ( mProjectMap.contains(id) )
2676 		return mProjectMap[id]->ui->lineEditDelMetaTag->text();
2677 	else {
2678 		log(tr("warning") + ": ScriptEngine::projectGetDelMetaTag(): " + tr("project '%1' doesn't exists").arg(id));
2679 		return QString();
2680 	}
2681 }
2682 
projectSetDelMetaIndex(QString id,int index)2683 void ScriptEngine::projectSetDelMetaIndex(QString id, int index)
2684 {
2685 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectSetDelMetaIndex(QString id = %1, int index = %2)").arg(id).arg(index)));
2686 
2687 	if ( mProjectMap.contains(id) )
2688 		mProjectMap[id]->ui->spinBoxDelMetaIndex->setValue(index);
2689 	else
2690 		log(tr("warning") + ": ScriptEngine::projectSetDelMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2691 }
2692 
projectGetDelMetaIndex(QString id)2693 int ScriptEngine::projectGetDelMetaIndex(QString id)
2694 {
2695 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::projectGetDelMetaIndex(QString id = %1)").arg(id)));
2696 
2697 	if ( mProjectMap.contains(id) )
2698 		return mProjectMap[id]->ui->spinBoxDelMetaIndex->value();
2699 	else {
2700 		log(tr("warning") + ": ScriptEngine::projectGetDelMetaIndex(): " + tr("project '%1' doesn't exists").arg(id));
2701 		return -1;
2702 	}
2703 }
2704 
2705 // project control & synchronization
2706 
runProjects(QString idList)2707 void ScriptEngine::runProjects(QString idList)
2708 {
2709 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::runProjects(QString idList = %1)").arg(idList)));
2710 
2711 	if ( idList.isEmpty() ) {
2712 		QStringList projectIds = mProjectMap.keys();
2713 		idList = projectIds.join(",");
2714 	}
2715 
2716 	foreach (QString id, idList.split(",", QString::SkipEmptyParts)) {
2717 		if ( externalStop )
2718 			break;
2719 
2720 		id = id.trimmed();
2721 		if ( mProjectMap.contains(id) ) {
2722 			if ( mProjectMap[id]->status == QCHDMAN_PRJSTAT_RUNNING )
2723 				log(tr("warning") + ": ScriptEngine::runProjects(): " + tr("project '%1' is already running").arg(id));
2724 			else {
2725 				mProjectMap[id]->on_toolButtonRun_clicked();
2726 				bool started = false;
2727 				bool error = false;
2728 				while ( !started && !error && !externalStop && mProjectMap[id]->chdmanProc ) {
2729 					started = mProjectMap[id]->chdmanProc->waitForStarted(QCHDMAN_PROCESS_POLL_TIME);
2730 					error = started ? mProjectMap[id]->status != QCHDMAN_PRJSTAT_RUNNING : mErrorStates.contains(mProjectMap[id]->status);
2731 					qApp->processEvents();
2732 				}
2733 				QCHDMAN_SCRIPT_ENGINE_DEBUG(
2734 							if ( started )
2735 							log(QString("DEBUG: ScriptEngine::runProjects(): project '%1' started").arg(id));
2736 						else
2737 						log(QString("DEBUG: ScriptEngine::runProjects(): failed starting project '%1'").arg(id));
2738 				)
2739 			}
2740 		} else if ( !externalStop )
2741 			log(tr("warning") + ": ScriptEngine::runProjects(): " + tr("project '%1' doesn't exists").arg(id));
2742 	}
2743 }
2744 
stopProjects(QString idList)2745 void ScriptEngine::stopProjects(QString idList)
2746 {
2747 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::stopProjects(QString idList = %1)").arg(idList)));
2748 
2749 	if ( idList.isEmpty() ) {
2750 		QStringList projectIds = mProjectMap.keys();
2751 		idList = projectIds.join(",");
2752 	}
2753 
2754 	foreach (QString id, idList.split(",", QString::SkipEmptyParts)) {
2755 		id = id.trimmed();
2756 		if ( mProjectMap.contains(id) ) {
2757 			if ( mProjectMap[id]->status == QCHDMAN_PRJSTAT_RUNNING ) {
2758 				mProjectMap[id]->on_toolButtonStop_clicked();
2759 				bool finished = false;
2760 				bool error = false;
2761 				while ( !finished && !error && mProjectMap[id]->chdmanProc ) {
2762 					finished = mProjectMap[id]->chdmanProc->waitForFinished(QCHDMAN_PROCESS_POLL_TIME);
2763 					error = finished ? mProjectMap[id]->status != QCHDMAN_PRJSTAT_RUNNING : mErrorStates.contains(mProjectMap[id]->status);
2764 					qApp->processEvents();
2765 				}
2766 			}
2767 		} else
2768 			log(tr("warning") + ": ScriptEngine::stopProjects(): " + tr("project '%1' doesn't exists").arg(id));
2769 	}
2770 }
2771 
syncProjects(QString idList)2772 void ScriptEngine::syncProjects(QString idList)
2773 {
2774 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::syncProjects(QString idList = %1)").arg(idList)));
2775 
2776 	if ( idList.isEmpty() ) {
2777 		QStringList projectIds = mProjectMap.keys();
2778 		idList = projectIds.join(",");
2779 	}
2780 
2781 	foreach (QString id, idList.split(",", QString::SkipEmptyParts)) {
2782 		if ( externalStop )
2783 			break;
2784 
2785 		id = id.trimmed();
2786 		if ( mProjectMap.contains(id) ) {
2787 			if ( mProjectMap[id]->status == QCHDMAN_PRJSTAT_RUNNING ) {
2788 				bool finished = false;
2789 				bool error = false;
2790 				while ( !finished && !error && !externalStop && mProjectMap[id]->chdmanProc ) {
2791 					finished = mProjectMap[id]->chdmanProc->waitForFinished(QCHDMAN_PROCESS_POLL_TIME);
2792 					error = finished ? mProjectMap[id]->status != QCHDMAN_PRJSTAT_RUNNING : mErrorStates.contains(mProjectMap[id]->status);
2793 					qApp->processEvents();
2794 				}
2795 			}
2796 		} else if ( !externalStop )
2797 			log(tr("warning") + ": ScriptEngine::syncProjects(): " + tr("project '%1' doesn't exists").arg(id));
2798 	}
2799 }
2800 
destroyProjects(QString idList)2801 void ScriptEngine::destroyProjects(QString idList)
2802 {
2803 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::destroyProjects(QString idList = %1)").arg(idList)));
2804 
2805 	if ( idList.isEmpty() ) {
2806 		QStringList projectIds = mProjectMap.keys();
2807 		idList = projectIds.join(",");
2808 	}
2809 
2810 	foreach (QString id, idList.split(",", QString::SkipEmptyParts)) {
2811 		id = id.trimmed();
2812 		if ( mProjectMap.contains(id) )
2813 			projectDestroy(id);
2814 		else
2815 			log(tr("warning") + ": ScriptEngine::destroyProjects(): " + tr("project '%1' doesn't exists").arg(id));
2816 	}
2817 }
2818 
waitForRunningProjects(int numProjects)2819 void ScriptEngine::waitForRunningProjects(int numProjects)
2820 {
2821 	QCHDMAN_SCRIPT_ENGINE_DEBUG(log(QString("DEBUG: ScriptEngine::waitForRunningProjects(int numProjects = %1)").arg(numProjects)));
2822 
2823 	int previouslyRunningProjects = runningProjects();
2824 	while ( (previouslyRunningProjects - runningProjects() < numProjects) && !externalStop ) {
2825 		foreach (QString id, mProjectMap.keys()) {
2826 			if ( externalStop || (previouslyRunningProjects - runningProjects() >= numProjects) )
2827 				break;
2828 
2829 			if ( mProjectMap[id]->status == QCHDMAN_PRJSTAT_RUNNING ) {
2830 				mProjectMap[id]->chdmanProc->waitForFinished(QCHDMAN_PROCESS_POLL_TIME);
2831 				qApp->processEvents();
2832 			}
2833 		}
2834 	}
2835 }
2836 
2837 // Slots for internal use
2838 
processStarted(ProjectWidget * projectWidget)2839 void ScriptEngine::processStarted(ProjectWidget *projectWidget)
2840 {
2841 	QString id = mProjectMap.key(projectWidget, "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND");
2842 	if ( id != "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND" ) {
2843 		mRunningProjects++;
2844 		emit projectStarted(id);
2845 		QTreeWidgetItem *projectItem = new QTreeWidgetItem(mScriptWidget->ui->treeWidgetProjectMonitor);
2846 		projectItem->setText(QCHDMAN_PRJMON_ID, id);
2847 		projectItem->setForeground(QCHDMAN_PRJMON_PROGRESS, mScriptWidget->ui->treeWidgetProjectMonitor->viewport()->palette().base());
2848 		QProgressBar *progressBar = new QProgressBar(mScriptWidget->ui->treeWidgetProjectMonitor);
2849 		mScriptWidget->ui->treeWidgetProjectMonitor->setItemWidget(projectItem, QCHDMAN_PRJMON_PROGRESS, progressBar);
2850 		progressBar->setRange(0, 100);
2851 		progressBar->setValue(0);
2852 		progressBar->setAutoFillBackground(true);
2853 		QFontMetrics fm(qApp->font());
2854 		progressBar->setFixedHeight(fm.height() + 2);
2855 		projectItem->setText(QCHDMAN_PRJMON_PROGRESS, "000");
2856 		QString command = globalConfig->preferencesChdmanBinary();
2857 		foreach (QString arg, projectWidget->arguments) {
2858 			if ( arg.contains(QRegExp("\\s")) )
2859 				command += " \"" + arg + "\"";
2860 			else
2861 				command += " " + arg;
2862 		}
2863 		projectItem->setText(QCHDMAN_PRJMON_COMMAND, command);
2864 	}
2865 }
2866 
processFinished(ProjectWidget * projectWidget)2867 void ScriptEngine::processFinished(ProjectWidget *projectWidget)
2868 {
2869 	QString id = mProjectMap.key(projectWidget, "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND");
2870 	if ( id != "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND" ) {
2871 		mRunningProjects--;
2872 		emit projectFinished(id);
2873 		QList<QTreeWidgetItem *> itemList = mScriptWidget->ui->treeWidgetProjectMonitor->findItems(id, Qt::MatchExactly, QCHDMAN_PRJMON_ID);
2874 		if ( itemList.count() > 0 ) {
2875 			QTreeWidgetItem *item = itemList[0];
2876 			if ( item->isSelected() ) {
2877 				mScriptWidget->ui->treeWidgetProjectMonitor->clearSelection();
2878 				mScriptWidget->ui->treeWidgetProjectMonitor->setCurrentIndex(QModelIndex());
2879 			}
2880 			mScriptWidget->ui->treeWidgetProjectMonitor->setUpdatesEnabled(false);
2881 			QProgressBar *progressBar = (QProgressBar *)mScriptWidget->ui->treeWidgetProjectMonitor->itemWidget(item, QCHDMAN_PRJMON_PROGRESS);
2882 			if ( progressBar ) {
2883 				mScriptWidget->ui->treeWidgetProjectMonitor->removeItemWidget(item, QCHDMAN_PRJMON_PROGRESS);
2884 				delete progressBar;
2885 			}
2886 			delete mScriptWidget->ui->treeWidgetProjectMonitor->takeTopLevelItem(mScriptWidget->ui->treeWidgetProjectMonitor->indexOfTopLevelItem(item));
2887 			mScriptWidget->ui->treeWidgetProjectMonitor->setUpdatesEnabled(true);
2888 		}
2889 	}
2890 }
2891 
monitorUpdateProgress(ProjectWidget * projectWidget,int progressValue)2892 void ScriptEngine::monitorUpdateProgress(ProjectWidget *projectWidget, int progressValue)
2893 {
2894 	QString id = mProjectMap.key(projectWidget, "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND");
2895 	if ( id != "QCHDMAN_SCRIPT_ENGINE_NO_PROJECT_ID_FOUND" ) {
2896 		QList<QTreeWidgetItem *> itemList = mScriptWidget->ui->treeWidgetProjectMonitor->findItems(id, Qt::MatchExactly, QCHDMAN_PRJMON_ID);
2897 		if ( itemList.count() > 0 ) {
2898 			QTreeWidgetItem *item = itemList[0];
2899 			QProgressBar *progressBar = (QProgressBar *)mScriptWidget->ui->treeWidgetProjectMonitor->itemWidget(item, QCHDMAN_PRJMON_PROGRESS);
2900 			if ( progressBar )
2901 				progressBar->setValue(progressValue);
2902 			item->setText(QCHDMAN_PRJMON_PROGRESS, QString::number(progressValue).rightJustified(3, QLatin1Char('0')));
2903 		}
2904 	}
2905 }
2906