bool Helpers::moveAndRenameFileAccordingToMime(const QString path, const QString destFilename, bool overwrite) const { const QString mime = getFileMimeType(path); QString standardLocation; if (mime.contains("text/plain")) standardLocation = getStandardWritableLocationDocuments(); else if (mime.contains("image/")) standardLocation = getStandardWritableLocationPictures(); else if (mime.contains("audio/")) standardLocation = getStandardWritableLocationAudio(); else if (mime.contains("video/")) standardLocation = getStandardWritableLocationVideo(); else standardLocation = getStandardWritableLocationDownloads(); QString destination = standardLocation + "/"+ destFilename; if (QFile::exists(destination) && !overwrite) { qDebug() << "Destination file" << destination << "exists"; return false; } else if (overwrite) QFile::remove(destination); qDebug() << "Moving file of mime type" << mime << "to" << destination; return QFile::rename(path, destination); }
XdgMimeInfo::XdgMimeInfo(const QFileInfo& file) { QString mimeType = getFileMimeType(file); mType = mimeType.section('/', 0, 0); mSubType = mimeType.section('/', 1); }