28class QQmlToolingSettings
31 QQmlToolingSettings(
const QString &toolName,
32 const QStringList &recognizedIniSections = { QStringLiteral(
"General") });
36 SearchOptions(
const QString &settingFileName,
bool reportFoundSettingsFiles =
false,
37 bool isQmllintSilent =
false);
38 QString settingsFileName;
39 bool reportFoundSettingsFiles =
false;
40 bool isQmllintSilent =
false;
44 enum class ResultType { Found, NotFound };
45 ResultType type = ResultType::NotFound;
47 bool isValid()
const {
return type == ResultType::Found && !iniFilePath.isEmpty(); }
53 Searcher(
const QString &localSettingsFile,
const QString &globalSettingsFile)
54 : m_localSettingsFile(localSettingsFile), m_globalSettingsFile(globalSettingsFile)
57 SearchResult search(
const QString &path);
59 QString localSettingsFile()
const {
return m_localSettingsFile; }
62 SearchResult searchDefaultLocation(
const QSet<QString> *visitedDirs);
63 SearchResult searchCurrentDirInCache(
const QString &dirPath);
64 SearchResult searchDirectoryHierarchy(QSet<QString> *visitedDir,
const QString &path);
66 const QString m_localSettingsFile;
67 const QString m_globalSettingsFile;
68 QHash<QString, QString> m_seenDirectories;
71 void addOption(
const QString &name,
const QVariant &defaultValue = QVariant());
72 SearchResult search(
const QString &path,
const SearchOptions &options = {});
73 bool writeDefaults()
const;
75 QVariant value(
const QString &name)
const;
76 QStringList valueAsStringList(
const QString &name)
const;
78 static void resolveRelativeImportPaths(
const QString &filePath, QStringList *paths);
79 QStringList valueAsAbsolutePathList(
const QString &name,
80 const QString &baseForRelativePaths)
const;
81 bool isSet(
const QString &name)
const;
83 bool reportConfigForFiles(
const QStringList &files);
86 QString m_currentSettingsPath;
87 QVariantHash m_values;
89 QStringList m_recognizedIniSections;
91 SearchResult read(
const QString &settingsFilePath, SearchOptions options);