void EditorConfiguration::fromMap(const QVariantMap &map) { d->m_useGlobal = map.value(kUseGlobal, d->m_useGlobal).toBool(); const QByteArray &codecName = map.value(kCodec, d->m_textCodec->name()).toByteArray(); d->m_textCodec = QTextCodec::codecForName(codecName); if (!d->m_textCodec) d->m_textCodec = Core::EditorManager::instance()->defaultTextCodec(); const int codeStyleCount = map.value(kCodeStyleCount, 0).toInt(); for (int i = 0; i < codeStyleCount; ++i) { QVariantMap settingsIdMap = map.value(kCodeStylePrefix + QString::number(i)).toMap(); if (settingsIdMap.isEmpty()) { qWarning() << "No data for code style settings list" << i << "found!"; continue; } QString languageId = settingsIdMap.value(QLatin1String("language")).toString(); QVariantMap value = settingsIdMap.value(QLatin1String("value")).toMap(); ICodeStylePreferences *preferences = d->m_languageCodeStylePreferences.value(languageId); if (preferences) { preferences->fromMap(QString(), value); } } d->m_defaultCodeStyle->fromMap(kPrefix, map); d->m_typingSettings.fromMap(kPrefix, map); d->m_storageSettings.fromMap(kPrefix, map); d->m_behaviorSettings.fromMap(kPrefix, map); d->m_extraEncodingSettings.fromMap(kPrefix, map); }
ICodeStylePreferences *CodeStylePool::loadCodeStyle(const Utils::FileName &fileName) { ICodeStylePreferences *codeStyle = 0; Utils::PersistentSettingsReader reader; reader.load(fileName); QVariantMap m = reader.restoreValues(); if (m.contains(QLatin1String(codeStyleDataKey))) { const QByteArray id = fileName.toFileInfo().completeBaseName().toUtf8(); const QString displayName = reader.restoreValue(QLatin1String(displayNameKey)).toString(); const QVariantMap map = reader.restoreValue(QLatin1String(codeStyleDataKey)).toMap(); if (d->m_factory) { codeStyle = d->m_factory->createCodeStyle(); codeStyle->setId(id); codeStyle->setDisplayName(displayName); codeStyle->fromMap(QString(), map); addCodeStyle(codeStyle); } } return codeStyle; }