/* * Copyright (C) 2018-2021 QuasarApp. * Distributed under the lgplv3 software license, see the accompanying * Everyone is permitted to copy and distribute verbatim copies * of this license document, but changing it is not allowed. */ #include "extra.h" #include "pathutils.h" #include QSet Extra::getExtraPathsMasks() const { return extraPathsMasks; } void Extra::setExtraPathsMasks(const QSet &value) { extraPathsMasks = upper(value); } void Extra::addExtraPathsMasks(const QSet &value) { extraPathsMasks += upper(value); } QSet Extra::getExtraNamesMasks() const { return extraNamesMasks; } void Extra::setExtraNamesMasks(const QSet &value) { extraNamesMasks = upper(value); } void Extra::addtExtraNamesMasks(const QSet &value) { extraNamesMasks += upper(value); } QSet Extra::upper(const QSet& set) const { QSet res; for (const auto &i : set) { res.insert(PathUtils::fixPath(i)); } return res; } QSet Extra::getExtraPaths() const { return extraPaths; } void Extra::setExtraPaths(const QSet &value) { extraPaths = upper(value); } void Extra::addExtraPaths(const QSet &value) { extraPaths += upper(value); } bool Extra::contains(const QString &path) const { QFileInfo info(path); if (extraPaths.contains(PathUtils::fixPath(info.absolutePath()))) { return true; } for (auto i: extraPathsMasks) { if (PathUtils::fixPath(info.absoluteFilePath()).contains(i)) { return true; } } for (auto i: extraNamesMasks) { if (PathUtils::fixPath(info.fileName()).contains(i)) { return true; } } return false; }