void removeDirRecursively(const QString &path) { QFileInfo file_info(path); if (file_info.isDir()) { QDir dir(path); QStringList file_list = dir.entryList(); for (int i = 0; i < file_list.count(); ++i) { removeDirRecursively(file_list.at(i)); } removeDirRecursively(path); } else { QFile::remove(path); } }
HtmlOutput::HtmlOutput(QString outputFile, QString pageTitle): file(outputFile) { if (!file.open(QFile::WriteOnly)) return; outputFile.replace(QRegExp(".html$"), ""); outputFile += "_files"; int slash = outputFile.lastIndexOf("/"); local = slash>=0 ? outputFile.mid(slash+1) : outputFile; html.setDevice(&file); html.setCodec("UTF-8"); html << "<!DOCTYPE HTML PUBLIC " << "\"-//W3C//DTD HTML 4.01 Transitional//EN\">\n"; html << "<html>\n"; html << "<head>\n"; html << "<title>" << escape(pageTitle) << "</title>"; html << "<link rel=\"stylesheet\" href=\"" << local << "/eln.css\" type=\"text/css\">\n"; html << "<meta http-equiv=\"Content-Type\" " << "content=\"text/html;charset=utf-8\" >\n"; html << "</head>\n"; html << "\n"; res = QDir(outputFile); if (res.exists()) removeDirRecursively(res); res.mkpath(res.absolutePath()); QFile cssin(":eln.css"); cssin.copy(res.absoluteFilePath("eln.css")); }