bool Prj::create(const QString &path, QString *reason) { try { QString absPath = QFileInfo(path).absoluteFilePath(); // create path for icons if (!QDir(iconPath(absPath)).exists()) if (!QDir().mkpath(iconPath(absPath))) throw tr("can't create path \"%1\"").arg(iconPath(absPath)); // create path for screenshots if (!QDir(screenshotPath(absPath)).exists()) if (!QDir().mkpath(screenshotPath(absPath))) throw tr("can't create path \"%1\"").arg(screenshotPath(absPath)); // create path for downloads (webpages, e.t.c.) if (!QDir(downloadsPath(absPath)).exists()) if (!QDir().mkpath(downloadsPath(absPath))) throw tr("can't create path \"%1\"").arg(downloadsPath(absPath)); QFile file(xmlPath(path)); if (!file.open(QIODevice::WriteOnly)) throw file.errorString(); // write empty xml document return PrjXml::saveEmptyXml(&file, reason); } catch (const QString &error) { if (reason) *reason = error; } return false; }
CLauncherDirs::CLauncherDirs() { QDir().mkdir(downloadsPath()); }