File indexing completed on 2024-04-14 03:49:01

0001 #include "util/fileutils.h"
0002 
0003 #include <QMimeDatabase>
0004 
0005 const char* FileUtils::filterString(Serializer::OutputType outputType)
0006 {
0007     if (outputType == Serializer::OutputType::XML)
0008         return "XML files (*.xml *.XML)";
0009     else if (outputType == Serializer::OutputType::JSON)
0010         return "JSON files (*.json *.JSON)";
0011     return "";
0012 }
0013 
0014 QString FileUtils::placeSuffix(const QString& filepath, Serializer::OutputType outputType)
0015 {
0016     QMimeDatabase mimeDatabase;
0017     QString outputFilepath (filepath);
0018     QString suffix = mimeDatabase.suffixForFileName(filepath);
0019     if (!suffix.isEmpty()) {
0020         if (suffix == "json" || suffix == "xml")
0021             outputFilepath.replace(".", "_");
0022         else
0023             outputFilepath.remove("." + suffix);
0024     }
0025 
0026     outputFilepath.append(outputType == Serializer::OutputType::XML ? ".xml" : ".json");
0027     return outputFilepath;
0028 }
0029 
0030 bool FileUtils::isImageFile(const QString& filepath)
0031 {
0032     QMimeDatabase database;
0033     QMimeType mimeType = database.mimeTypeForFile(filepath);
0034     return mimeType.inherits("image/jpeg") || mimeType.inherits("image/png");
0035 }
0036 
0037 bool FileUtils::isTextFile(const QString& filepath)
0038 {
0039     QMimeDatabase database;
0040     QMimeType mimeType = database.mimeTypeForFile(filepath);
0041     return mimeType.inherits("text/plain");
0042 }