aboutsummaryrefslogtreecommitdiffstats
path: root/tools/shared/qqmltoolingsettings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/shared/qqmltoolingsettings.cpp')
-rw-r--r--tools/shared/qqmltoolingsettings.cpp125
1 files changed, 0 insertions, 125 deletions
diff --git a/tools/shared/qqmltoolingsettings.cpp b/tools/shared/qqmltoolingsettings.cpp
deleted file mode 100644
index dffd59fbc7..0000000000
--- a/tools/shared/qqmltoolingsettings.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-#include "qqmltoolingsettings.h"
-
-#include <algorithm>
-
-#include <QtCore/qdebug.h>
-#include <QtCore/qdir.h>
-#include <QtCore/qfileinfo.h>
-#include <QtCore/qset.h>
-#include <QtCore/qsettings.h>
-#include <QtCore/qstandardpaths.h>
-
-using namespace Qt::StringLiterals;
-
-void QQmlToolingSettings::addOption(const QString &name, QVariant defaultValue)
-{
- m_values[name] = defaultValue;
-}
-
-bool QQmlToolingSettings::read(const QString &settingsFilePath)
-{
- if (!QFileInfo::exists(settingsFilePath))
- return false;
-
- if (m_currentSettingsPath == settingsFilePath)
- return true;
-
- QSettings settings(settingsFilePath, QSettings::IniFormat);
-
- for (const QString &key : settings.allKeys())
- m_values[key] = settings.value(key).toString();
-
- m_currentSettingsPath = settingsFilePath;
-
- return true;
-}
-
-bool QQmlToolingSettings::writeDefaults() const
-{
- const QString path = QFileInfo(u".%1.ini"_s.arg(m_toolName)).absoluteFilePath();
-
- QSettings settings(path, QSettings::IniFormat);
- for (auto it = m_values.constBegin(); it != m_values.constEnd(); ++it) {
- settings.setValue(it.key(), it.value().isNull() ? QString() : it.value());
- }
-
- settings.sync();
-
- if (settings.status() != QSettings::NoError) {
- qWarning() << "Failed to write default settings to" << path
- << "Error:" << settings.status();
- return false;
- }
-
- qInfo() << "Wrote default settings to" << path;
- return true;
-}
-
-bool QQmlToolingSettings::search(const QString &path)
-{
- QFileInfo fileInfo(path);
- QDir dir(fileInfo.isDir() ? path : fileInfo.dir());
-
- QSet<QString> dirs;
-
- const QString settingsFileName = u".%1.ini"_s.arg(m_toolName);
-
- while (dir.exists() && dir.isReadable()) {
- const QString dirPath = dir.absolutePath();
-
- if (m_seenDirectories.contains(dirPath)) {
- const QString cachedIniPath = m_seenDirectories[dirPath];
- if (cachedIniPath.isEmpty())
- return false;
-
- return read(cachedIniPath);
- }
-
- dirs << dirPath;
-
- const QString iniFile = dir.absoluteFilePath(settingsFileName);
-
- if (read(iniFile)) {
- for (const QString &dir : std::as_const(dirs))
- m_seenDirectories[dir] = iniFile;
- return true;
- }
-
- if (!dir.cdUp())
- break;
- }
-
- if (const QString iniFile = QStandardPaths::locate(QStandardPaths::GenericConfigLocation, u"%1.ini"_s.arg(m_toolName)); !iniFile.isEmpty()) {
- if (read(iniFile)) {
- for (const QString &dir : std::as_const(dirs))
- m_seenDirectories[dir] = iniFile;
- return true;
- }
- }
-
- // No INI file found anywhere, record the failure so we won't have to traverse the entire
- // filesystem again
- for (const QString &dir : std::as_const(dirs))
- m_seenDirectories[dir] = QString();
-
- return false;
-}
-
-QVariant QQmlToolingSettings::value(QString name) const
-{
- return m_values.value(name);
-}
-
-bool QQmlToolingSettings::isSet(QString name) const
-{
- if (!m_values.contains(name))
- return false;
-
- QVariant variant = m_values[name];
-
- // Unset is encoded as an empty string
- return !(variant.canConvert(QMetaType(QMetaType::QString)) && variant.toString().isEmpty());
-}