Files
qt-creator/src/plugins/cmakeprojectmanager/cmaketoolsettingsaccessor.h
hjk 8d0aa34bfc Plugins: A bit more Keys and Store
Change-Id: Iee55eeaa881dd9f2047fdbe95ad8d827f4ba34e0
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2023-08-25 08:00:02 +00:00

38 lines
912 B
C++

// Copyright (C) 2018 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include <utils/id.h>
#include <utils/settingsaccessor.h>
#include <utils/store.h>
namespace CMakeProjectManager {
class CMakeTool;
namespace Internal {
class CMakeToolSettingsAccessor : public Utils::UpgradingSettingsAccessor
{
public:
CMakeToolSettingsAccessor();
struct CMakeTools {
Utils::Id defaultToolId;
std::vector<std::unique_ptr<CMakeTool>> cmakeTools;
};
CMakeTools restoreCMakeTools(QWidget *parent) const;
void saveCMakeTools(const QList<CMakeTool *> &cmakeTools,
const Utils::Id &defaultId,
QWidget *parent);
private:
CMakeTools cmakeTools(const Utils::Store &data, bool fromSdk) const;
};
} // namespace Internal
} // namespace CMakeProjectManager