28class QQmlToolingSettings
31 QQmlToolingSettings(
const QString &toolName,
32 const QStringList &recognizedIniSections = { QStringLiteral(
"General") },
33 const QString &localSettingsFile = { },
34 const QString &globalSettingsFile = { });
38 SearchOptions(
const QString &settingFileName,
bool reportFoundSettingsFiles =
false,
39 bool isQmllintSilent =
false);
40 QString settingsFileName;
41 bool reportFoundSettingsFiles =
false;
42 bool isQmllintSilent =
false;
46 enum class ResultType { Found, NotFound };
47 ResultType type = ResultType::NotFound;
49 bool isValid()
const {
return type == ResultType::Found && !iniFilePath.isEmpty(); }
55 Searcher(
const QString &localSettingsFile,
const QString &globalSettingsFile)
56 : m_localSettingsFile(localSettingsFile), m_globalSettingsFile(globalSettingsFile)
59 SearchResult search(
const QString &path);
61 QString localSettingsFile()
const {
return m_localSettingsFile; }
64 SearchResult searchDefaultLocation(
const QSet<QString> *visitedDirs);
65 SearchResult searchCurrentDirInCache(
const QString &dirPath);
66 SearchResult searchDirectoryHierarchy(QSet<QString> *visitedDir,
const QString &path);
68 const QString m_localSettingsFile;
69 const QString m_globalSettingsFile;
70 QHash<QString, QString> m_seenDirectories;
73 void addOption(
const QString &name,
const QVariant &defaultValue = QVariant());
74 SearchResult search(
const QString &path,
const SearchOptions &options = {});
75 bool writeDefaults()
const;
77 void setValue(
const QString &name, QVariant value);
78 QVariant value(
const QString &name)
const;
79 QStringList valueAsStringList(
const QString &name)
const;
81 static void resolveRelativeImportPaths(
const QString &filePath, QStringList *paths);
82 QStringList valueAsAbsolutePathList(
const QString &name,
83 const QString &baseForRelativePaths)
const;
84 bool isSet(
const QString &name)
const;
86 bool reportConfigForFiles(
const QStringList &files);
87 auto asKeyValueRange()
const {
return m_values.asKeyValueRange(); };
89 QString currentSettingsPath()
const {
return m_currentSettingsPath; }
92 QString m_currentSettingsPath;
93 QVariantHash m_values;
95 QStringList m_recognizedIniSections;
97 SearchResult read(
const QString &settingsFilePath, SearchOptions options);