forked from qt-creator/qt-creator
McuSupport: Extract settings handling to a class
Change-Id: I671098f14d7bc13255dc130a4de1ab97d5bdab94 Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include "mcusupportplugin.h"
|
||||
#include "mcusupportsdk.h"
|
||||
#include "mcutarget.h"
|
||||
#include "settingshandler.h"
|
||||
|
||||
#include <cmakeprojectmanager/cmakekitinformation.h>
|
||||
#include <cmakeprojectmanager/cmaketoolmanager.h>
|
||||
@@ -56,9 +57,10 @@ const QString automaticKitCreationSettingsKey = QLatin1String(Constants::SETTING
|
||||
Constants::SETTINGS_KEY_AUTOMATIC_KIT_CREATION);
|
||||
}
|
||||
|
||||
McuSupportOptions::McuSupportOptions(QObject *parent)
|
||||
McuSupportOptions::McuSupportOptions(const SettingsHandler::Ptr &settingsHandler, QObject *parent)
|
||||
: QObject(parent)
|
||||
, qtForMCUsSdkPackage(Sdk::createQtForMCUsPackage())
|
||||
, qtForMCUsSdkPackage(Sdk::createQtForMCUsPackage(settingsHandler))
|
||||
, settingsHandler(settingsHandler)
|
||||
{
|
||||
connect(qtForMCUsSdkPackage.get(),
|
||||
&McuAbstractPackage::changed,
|
||||
@@ -72,9 +74,9 @@ void McuSupportOptions::populatePackagesAndTargets()
|
||||
setQulDir(qtForMCUsSdkPackage->path());
|
||||
}
|
||||
|
||||
static FilePath qulDocsDir()
|
||||
FilePath McuSupportOptions::qulDocsDir() const
|
||||
{
|
||||
const FilePath qulDir = McuSupportOptions::qulDirFromSettings();
|
||||
const FilePath qulDir = qulDirFromSettings();
|
||||
if (qulDir.isEmpty() || !qulDir.exists())
|
||||
return {};
|
||||
const FilePath docsDir = qulDir / "docs";
|
||||
@@ -102,7 +104,7 @@ void McuSupportOptions::registerExamples()
|
||||
auto examples = {std::make_pair(QStringLiteral("demos"), tr("Qt for MCUs Demos")),
|
||||
std::make_pair(QStringLiteral("examples"), tr("Qt for MCUs Examples"))};
|
||||
for (const auto &dir : examples) {
|
||||
const FilePath examplesDir = McuSupportOptions::qulDirFromSettings().pathAppended(dir.first);
|
||||
const FilePath examplesDir = qulDirFromSettings() / dir.first;
|
||||
if (!examplesDir.exists())
|
||||
continue;
|
||||
|
||||
@@ -126,7 +128,7 @@ void McuSupportOptions::setQulDir(const FilePath &dir)
|
||||
{
|
||||
qtForMCUsSdkPackage->updateStatus();
|
||||
if (qtForMCUsSdkPackage->isValidStatus())
|
||||
sdkRepository = Sdk::targetsAndPackages(dir);
|
||||
sdkRepository = Sdk::targetsAndPackages(dir, settingsHandler);
|
||||
else
|
||||
sdkRepository = McuSdkRepository{};
|
||||
for (const auto &package : qAsConst(sdkRepository.packages))
|
||||
@@ -138,11 +140,11 @@ void McuSupportOptions::setQulDir(const FilePath &dir)
|
||||
emit packagesChanged();
|
||||
}
|
||||
|
||||
FilePath McuSupportOptions::qulDirFromSettings()
|
||||
FilePath McuSupportOptions::qulDirFromSettings() const
|
||||
{
|
||||
return Sdk::packagePathFromSettings(Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK,
|
||||
QSettings::UserScope,
|
||||
{});
|
||||
return settingsHandler->getPath(Constants::SETTINGS_KEY_PACKAGE_QT_FOR_MCUS_SDK,
|
||||
QSettings::UserScope,
|
||||
{});
|
||||
}
|
||||
|
||||
McuKitManager::UpgradeOption McuSupportOptions::askForKitUpgrades()
|
||||
@@ -175,7 +177,7 @@ void McuSupportOptions::checkUpgradeableKits()
|
||||
return !McuKitManager::upgradeableKits(target.get(), this->qtForMCUsSdkPackage).empty()
|
||||
&& McuKitManager::matchingKits(target.get(), this->qtForMCUsSdkPackage).empty();
|
||||
}))
|
||||
McuKitManager::upgradeKitsByCreatingNewPackage(askForKitUpgrades());
|
||||
McuKitManager::upgradeKitsByCreatingNewPackage(settingsHandler, askForKitUpgrades());
|
||||
}
|
||||
|
||||
bool McuSupportOptions::kitsNeedQtVersion()
|
||||
|
||||
Reference in New Issue
Block a user