diff options
author | Tobias Hunger <tobias.hunger@nokia.com> | 2010-01-19 16:33:44 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@nokia.com> | 2010-02-01 12:23:14 +0100 |
commit | 788b294a30c1066da01cda7b37b573ef28a2e50a (patch) | |
tree | 248560aace7e46e721f23e247d146d0a923d3689 /src/plugins/genericprojectmanager/genericproject.cpp | |
parent | 4ee223d45d1d2afb465ee6f0a0c65c928c01204b (diff) | |
download | qt-creator-788b294a30c1066da01cda7b37b573ef28a2e50a.tar.gz |
Make project use toMap/fromMap to save state
* That is what everybody else is using now.
Reviewed-by: dt
Diffstat (limited to 'src/plugins/genericprojectmanager/genericproject.cpp')
-rw-r--r-- | src/plugins/genericprojectmanager/genericproject.cpp | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 52cf41a021..6699e126d3 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -60,6 +60,7 @@ using namespace GenericProjectManager::Internal; using namespace ProjectExplorer; namespace { +const char * const TOOLCHAIN_KEY("GenericProjectManager.GenericProject.Toolchain"); /** * An editable string list model. New strings can be added by editing the entry @@ -431,10 +432,19 @@ QStringList GenericProject::targets() const return targets; } -bool GenericProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsReader &reader) +QVariantMap GenericProject::toMap() const { - Project::restoreSettingsImpl(reader); + QVariantMap map(Project::toMap()); + map.insert(QLatin1String(TOOLCHAIN_KEY), static_cast<int>(m_toolChainType)); + return map; +} + +bool GenericProject::fromMap(const QVariantMap &map) +{ + if (!Project::fromMap(map)) + return false; + // Add default BC: if (buildConfigurations().isEmpty()) { GenericBuildConfiguration *bc = new GenericBuildConfiguration(this); bc->setDisplayName("all"); @@ -445,34 +455,17 @@ bool GenericProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsRead makeStep->setBuildTarget("all", /* on = */ true); - const QLatin1String buildDirectory("buildDirectory"); - const QFileInfo fileInfo(file()->fileName()); bc->setBuildDirectory(fileInfo.absolutePath()); setActiveBuildConfiguration(bc); } - using namespace ProjectExplorer; - QString toolChainName = reader.restoreValue(QLatin1String("toolChain")).toString(); - bool convertible = false; - ToolChain::ToolChainType type = ToolChain::ToolChainType(toolChainName.toInt(&convertible)); - if (!convertible) { - // legacy string values - if (toolChainName == QLatin1String("gcc")) - type = ToolChain::GCC; - else if (toolChainName == QLatin1String("mingw")) - type = ToolChain::MinGW; - else if (toolChainName == QLatin1String("msvc")) - type = ToolChain::MSVC; - else if (toolChainName == QLatin1String("wince")) - type = ToolChain::WINCE; - } - - setToolChainType(type); // ### move + ToolChain::ToolChainType type = + static_cast<ProjectExplorer::ToolChain::ToolChainType> + (map.value(QLatin1String(TOOLCHAIN_KEY), 0).toInt()); - const QStringList userIncludePaths = - reader.restoreValue(QLatin1String("includePaths")).toStringList(); + setToolChainType(type); setIncludePaths(allIncludePaths()); @@ -480,14 +473,6 @@ bool GenericProject::restoreSettingsImpl(ProjectExplorer::PersistentSettingsRead return true; } -void GenericProject::saveSettingsImpl(ProjectExplorer::PersistentSettingsWriter &writer) -{ - Project::saveSettingsImpl(writer); - - writer.saveValue(QLatin1String("toolChain"), m_toolChainType); - writer.saveValue(QLatin1String("includePaths"), m_includePaths); -} - //////////////////////////////////////////////////////////////////////////////////// // GenericBuildSettingsWidget //////////////////////////////////////////////////////////////////////////////////// |