System: Created a general basename cleanup function, and applied that when creating filenames from userdescription etc. Related to #1054 preparations

This commit is contained in:
Jacob Støren
2017-01-04 10:45:04 +01:00
parent 6d498cce98
commit 03cf09d90a
7 changed files with 44 additions and 23 deletions

View File

@@ -121,6 +121,32 @@ QString Utils::constructFullFileName(const QString& folder, const QString& baseF
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString Utils::makeValidFileBasename(const QString& fileBasenameCandidate)
{
QString cleanBasename = fileBasenameCandidate.trimmed();
cleanBasename.replace(".", "_");
cleanBasename.replace(",", "_");
cleanBasename.replace(":", "_");
cleanBasename.replace(";", "_");
cleanBasename.replace(" ", "_");
cleanBasename.replace("/", "_");
cleanBasename.replace("\\", "_");
cleanBasename.replace("<", "_");
cleanBasename.replace(">", "_");
cleanBasename.replace("\"", "_");
cleanBasename.replace("|", "_");
cleanBasename.replace("?", "_");
cleanBasename.replace("*", "_");
cleanBasename.replace(QRegExp("_+"), "_");
return cleanBasename;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -56,6 +56,7 @@ public:
static QString absoluteFileName(const QString& fileName);
static QStringList getFilesInDirectory(const QString& dirPath, const QString& filter, bool getAbsoluteFileNames);
static QString constructFullFileName(const QString& folder, const QString& baseFileName, const QString& extension);
static QString makeValidFileBasename(const QString& fileBasenameCandidate);
static QString indentString(int numSpacesToIndent, const QString& str);