void ProjectBuild::startBuild() { cmd->showM(); this->iter = 0; pathTmp = paths.at(iter); /** * Because running this process in syncronous mode will freeze GUI, * tasks are executed asyncronous - using signals and slots * when a process ends it emit signal finished() * Progression: configureTask() -> buildTask() -> slotNextTask() ->... */ configureTask(); }
void ProjectBuild::slotNextTask() { iter++; if(iter >= paths.size()) { cmd->addLine("Done!", Qt::black); proc->close(); return; } pathTmp = paths.at(iter); configureTask(); }
LowPriorityTask::LowPriorityTask(void) { configureTask(LOW_PRIORITY); }