void NewLanguagesController::parseBlock(QString block) { if (!block.isEmpty()) { int n = 0; QString fileBlock = ""; // get file blocks do { // get current update file fileBlock = copyBetween(block, QString("#FILE:%1").arg(n), QString("#END:%1").arg(n)); // have something to analayze? if (!fileBlock.isEmpty()) { Update *update = new Update; // assign info update->setCaption(copyBetween(fileBlock, "caption=\"", "\"")); update->setVersion(copyBetween(fileBlock, "version=\"", "\"")); update->setSize(copyBetween(fileBlock, "size=\"", "\"").toInt()); update->setInstallTo(copyBetween(fileBlock, "installTo=\"", "\"")); update->setUrl(copyBetween(fileBlock, "url=\"", "\"")); update->setPacked(copyBetween(fileBlock, "packed=\"", "\"").toLower() == "true"); update->setObligatory(copyBetween(fileBlock, "obligatory=\"", "\"").toLower() == "true"); update->setChecked(true); // if this language is not installed, add it into the list if (!languageManager->isLanguageInstalled(update->getCaption())) { newLanguages->append(update); emit toInstallLanguageAdded(update); } else // destroy it delete update; } // next update file n++; // continue? } while (!fileBlock.isEmpty()); } }