summaryrefslogtreecommitdiff
path: root/src/plugins/genericprojectmanager/genericproject.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@nokia.com>2010-01-19 16:33:44 +0100
committerTobias Hunger <tobias.hunger@nokia.com>2010-02-01 12:23:14 +0100
commit788b294a30c1066da01cda7b37b573ef28a2e50a (patch)
tree248560aace7e46e721f23e247d146d0a923d3689 /src/plugins/genericprojectmanager/genericproject.cpp
parent4ee223d45d1d2afb465ee6f0a0c65c928c01204b (diff)
downloadqt-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.cpp47
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
////////////////////////////////////////////////////////////////////////////////////