QStringList NewClassWidget::files() const { QStringList rc; const QDir dir = QDir(path()); rc.push_back(expandFileName(dir, headerFileName(), headerExtension())); rc.push_back(expandFileName(dir, sourceFileName(), sourceExtension())); if (isFormInputVisible()) rc.push_back(expandFileName(dir, formFileName(), formExtension())); return rc; }
QString Driver::headerFileName() const { QString name = m_option.outputFile; if (name.isEmpty()) { name = QLatin1String("ui_"); // ### use ui_ as prefix. name.append(m_option.inputFile); } return headerFileName(name); }
QString Driver::headerFileName(const QString &fileName) { if (fileName.isEmpty()) return headerFileName(QLatin1String("noname")); QFileInfo info(fileName); QString baseName = info.baseName(); // Transform into a valid C++ identifier if (!baseName.isEmpty() && baseName.at(0).isDigit()) baseName.prepend(QLatin1Char('_')); for (int i = 0; i < baseName.size(); ++i) { QChar c = baseName.at(i); if (!isAnsiCCharacter(c)) { // Replace character by its unicode value QString hex = QString::number(c.unicode(), 16); baseName.replace(i, 1, QLatin1Char('_') + hex + QLatin1Char('_')); i += hex.size() + 1; } } return baseName.toUpper() + QLatin1String("_H"); }