Core: Add a basic extension for the JsExpander

This adds a "Utils" object to the Js runtime offered by the
JsExpander that adds some useful functions.

Mostly file name mangling and finding preferred extension
from the MIME type database.

Change-Id: I907dae7f295167667ac2ae81461bbff16dc98ef4
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Tobias Hunger
2014-09-16 15:58:32 +02:00
parent e014847cdd
commit f5d48bf39e
8 changed files with 232 additions and 5 deletions

View File

@@ -566,13 +566,33 @@ FileName FileName::parentDir() const
return FileName::fromString(parent);
}
/// Constructs a FileName from \a fileName
/// \a fileName is not checked for validity.
/// Constructs a FileName from \a filename
/// \a filename is not checked for validity.
FileName FileName::fromString(const QString &filename)
{
return FileName(filename);
}
/// Constructs a FileName from \a fileName. The \a defaultExtension is appended
/// to \a filename if that does not have an extension already.
/// \a fileName is not checked for validity.
FileName FileName::fromString(const QString &filename, const QString &defaultExtension)
{
if (filename.isEmpty() || defaultExtension.isEmpty())
return filename;
QString rc = filename;
QFileInfo fi(filename);
// Add extension unless user specified something else
const QChar dot = QLatin1Char('.');
if (!fi.fileName().contains(dot)) {
if (!defaultExtension.startsWith(dot))
rc += dot;
rc += defaultExtension;
}
return rc;
}
/// Constructs a FileName from \a fileName
/// \a fileName is not checked for validity.
FileName FileName::fromLatin1(const QByteArray &filename)