forked from qt-creator/qt-creator
CompilerExplorer: More Key and Store
Change-Id: I49a79e672915503359380e776b994e53b210eda9 Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -84,14 +84,14 @@ public:
|
|||||||
: Utils::BaseAspect(container)
|
: Utils::BaseAspect(container)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void fromMap(const QVariantMap &map) override
|
void fromMap(const Utils::Store &map) override
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
||||||
|
|
||||||
QVariantList list = map[settingsKey()].toList();
|
QVariantList list = map[settingsKey()].toList();
|
||||||
for (const auto &entry : list) {
|
for (const QVariant &entry : list) {
|
||||||
T item = m_createItem();
|
T item = m_createItem();
|
||||||
m_toBaseAspect(item)->fromMap(entry.toMap());
|
m_toBaseAspect(item)->fromMap(Utils::storeFromVariant(entry));
|
||||||
m_volatileItems.append(item);
|
m_volatileItems.append(item);
|
||||||
}
|
}
|
||||||
m_items = m_volatileItems;
|
m_items = m_volatileItems;
|
||||||
@@ -103,13 +103,13 @@ public:
|
|||||||
const auto &items = v ? m_volatileItems : m_items;
|
const auto &items = v ? m_volatileItems : m_items;
|
||||||
|
|
||||||
for (const auto &item : items) {
|
for (const auto &item : items) {
|
||||||
QVariantMap childMap;
|
Utils::Store childMap;
|
||||||
if (v)
|
if (v)
|
||||||
m_toBaseAspect(item)->volatileToMap(childMap);
|
m_toBaseAspect(item)->volatileToMap(childMap);
|
||||||
else
|
else
|
||||||
m_toBaseAspect(item)->toMap(childMap);
|
m_toBaseAspect(item)->toMap(childMap);
|
||||||
|
|
||||||
list.append(childMap);
|
list.append(Utils::variantFromStore(childMap));
|
||||||
}
|
}
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
@@ -118,14 +118,14 @@ public:
|
|||||||
void toMap(Utils::Store &map) const override
|
void toMap(Utils::Store &map) const override
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
||||||
const QString key = settingsKey();
|
const Utils::Key key = settingsKey();
|
||||||
map[key] = toList(false);
|
map[key] = toList(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void volatileToMap(Utils::Store &map) const override
|
void volatileToMap(Utils::Store &map) const override
|
||||||
{
|
{
|
||||||
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
QTC_ASSERT(!settingsKey().isEmpty(), return);
|
||||||
const QString key = settingsKey();
|
const Utils::Key key = settingsKey();
|
||||||
map[key] = toList(true);
|
map[key] = toList(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,7 +191,7 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant volatileVariantValue() const override { return {}; };
|
QVariant volatileVariantValue() const override { return {}; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<T> m_items;
|
QList<T> m_items;
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
using namespace std::chrono_literals;
|
using namespace std::chrono_literals;
|
||||||
using namespace Aggregation;
|
using namespace Aggregation;
|
||||||
using namespace TextEditor;
|
using namespace TextEditor;
|
||||||
|
using namespace Utils;
|
||||||
|
|
||||||
namespace CompilerExplorer {
|
namespace CompilerExplorer {
|
||||||
|
|
||||||
@@ -51,7 +52,8 @@ class CodeEditorWidget : public TextEditorWidget
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CodeEditorWidget(const std::shared_ptr<SourceSettings> &settings)
|
CodeEditorWidget(const std::shared_ptr<SourceSettings> &settings)
|
||||||
: m_settings(settings){};
|
: m_settings(settings)
|
||||||
|
{}
|
||||||
|
|
||||||
void updateHighlighter()
|
void updateHighlighter()
|
||||||
{
|
{
|
||||||
@@ -94,8 +96,8 @@ JsonSettingsDocument::JsonSettingsDocument()
|
|||||||
JsonSettingsDocument::~JsonSettingsDocument() {}
|
JsonSettingsDocument::~JsonSettingsDocument() {}
|
||||||
|
|
||||||
Core::IDocument::OpenResult JsonSettingsDocument::open(QString *errorString,
|
Core::IDocument::OpenResult JsonSettingsDocument::open(QString *errorString,
|
||||||
const Utils::FilePath &filePath,
|
const FilePath &filePath,
|
||||||
const Utils::FilePath &realFilePath)
|
const FilePath &realFilePath)
|
||||||
{
|
{
|
||||||
if (!filePath.isReadableFile())
|
if (!filePath.isReadableFile())
|
||||||
return OpenResult::ReadError;
|
return OpenResult::ReadError;
|
||||||
@@ -121,16 +123,16 @@ Core::IDocument::OpenResult JsonSettingsDocument::open(QString *errorString,
|
|||||||
return OpenResult::CannotHandle;
|
return OpenResult::CannotHandle;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_ceSettings.fromMap(doc.toVariant().toMap());
|
m_ceSettings.fromMap(storeFromVariant(doc.toVariant().toMap()));
|
||||||
emit settingsChanged();
|
emit settingsChanged();
|
||||||
return OpenResult::Success;
|
return OpenResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JsonSettingsDocument::saveImpl(QString *errorString,
|
bool JsonSettingsDocument::saveImpl(QString *errorString,
|
||||||
const Utils::FilePath &newFilePath,
|
const FilePath &newFilePath,
|
||||||
bool autoSave)
|
bool autoSave)
|
||||||
{
|
{
|
||||||
QVariantMap map;
|
Store map;
|
||||||
|
|
||||||
if (autoSave) {
|
if (autoSave) {
|
||||||
if (m_windowStateCallback)
|
if (m_windowStateCallback)
|
||||||
@@ -145,7 +147,7 @@ bool JsonSettingsDocument::saveImpl(QString *errorString,
|
|||||||
m_ceSettings.toMap(map);
|
m_ceSettings.toMap(map);
|
||||||
}
|
}
|
||||||
|
|
||||||
QJsonDocument doc = QJsonDocument::fromVariant(map);
|
QJsonDocument doc = QJsonDocument::fromVariant(variantFromStore(map));
|
||||||
|
|
||||||
Utils::FilePath path = newFilePath.isEmpty() ? filePath() : newFilePath;
|
Utils::FilePath path = newFilePath.isEmpty() ? filePath() : newFilePath;
|
||||||
|
|
||||||
@@ -174,7 +176,7 @@ bool JsonSettingsDocument::setContents(const QByteArray &contents)
|
|||||||
|
|
||||||
QTC_ASSERT(doc.isObject(), return false);
|
QTC_ASSERT(doc.isObject(), return false);
|
||||||
|
|
||||||
m_ceSettings.fromMap(doc.toVariant().toMap());
|
m_ceSettings.fromMap(storeFromVariant(doc.toVariant()));
|
||||||
|
|
||||||
emit settingsChanged();
|
emit settingsChanged();
|
||||||
return true;
|
return true;
|
||||||
@@ -241,7 +243,7 @@ CompilerWidget::CompilerWidget(const std::shared_ptr<SourceSettings> &sourceSett
|
|||||||
, m_compilerSettings(compilerSettings)
|
, m_compilerSettings(compilerSettings)
|
||||||
{
|
{
|
||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
QVariantMap map;
|
Store map;
|
||||||
|
|
||||||
m_delayTimer = new QTimer(this);
|
m_delayTimer = new QTimer(this);
|
||||||
m_delayTimer->setSingleShot(true);
|
m_delayTimer->setSingleShot(true);
|
||||||
|
|||||||
Reference in New Issue
Block a user