summaryrefslogtreecommitdiffstats
path: root/qmake/generators/win32/msbuild_objectmodel.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-09-23 10:49:23 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-09-24 14:52:21 +0200
commit4f21eb0387be35b52bc76e2f7dd10fe8376f8c05 (patch)
treec17cf02328a83efa6ac9edf573a8c69bd91a7fd0 /qmake/generators/win32/msbuild_objectmodel.cpp
parentf84b00c6d26eb7a3a6802210d2a8b12ddbf815aa (diff)
uncopy & -pastify code
Make use of the mythical C++ feature "function" to soothe the brain ache of anyone who looks into this part of the code. Change-Id: I740e29f1777d91d3b34a61fa62a5c23c222334b9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Diffstat (limited to 'qmake/generators/win32/msbuild_objectmodel.cpp')
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp78
1 files changed, 3 insertions, 75 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index 63c1cbdd69..07af6e3599 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -1805,31 +1805,7 @@ void VCXProjectWriter::addFilters(VCProject &project, XmlOutput &xmlFilter, cons
bool added = false;
for (int i = 0; i < project.SingleProjects.count(); ++i) {
- VCFilter filter;
- const VCProjectSingleConfig &singleCfg = project.SingleProjects.at(i);
- if (filtername == "Root Files") {
- filter = singleCfg.RootFiles;
- } else if (filtername == "Source Files") {
- filter = singleCfg.SourceFiles;
- } else if (filtername == "Header Files") {
- filter = singleCfg.HeaderFiles;
- } else if (filtername == "Generated Files") {
- filter = singleCfg.GeneratedFiles;
- } else if (filtername == "LexYacc Files") {
- filter = singleCfg.LexYaccFiles;
- } else if (filtername == "Translation Files") {
- filter = singleCfg.TranslationFiles;
- } else if (filtername == "Form Files") {
- filter = singleCfg.FormFiles;
- } else if (filtername == "Resource Files") {
- filter = singleCfg.ResourceFiles;
- } else if (filtername == "Deployment Files") {
- filter = singleCfg.DeploymentFiles;
- } else {
- // ExtraCompilers
- filter = project.SingleProjects[i].filterForExtraCompiler(filtername);
- }
-
+ const VCFilter filter = project.SingleProjects.at(i).filterByName(filtername);
if(!filter.Files.isEmpty() && !added) {
xmlFilter << tag("Filter")
<< attrTag("Include", filtername)
@@ -1851,31 +1827,7 @@ void VCXProjectWriter::outputFilter(VCProject &project, XmlOutput &xml, XmlOutpu
root.reset(new XTreeNode);
for (int i = 0; i < project.SingleProjects.count(); ++i) {
- VCFilter filter;
- const VCProjectSingleConfig &singleCfg = project.SingleProjects.at(i);
- if (filtername == "Root Files") {
- filter = singleCfg.RootFiles;
- } else if (filtername == "Source Files") {
- filter = singleCfg.SourceFiles;
- } else if (filtername == "Header Files") {
- filter = singleCfg.HeaderFiles;
- } else if (filtername == "Generated Files") {
- filter = singleCfg.GeneratedFiles;
- } else if (filtername == "LexYacc Files") {
- filter = singleCfg.LexYaccFiles;
- } else if (filtername == "Translation Files") {
- filter = singleCfg.TranslationFiles;
- } else if (filtername == "Form Files") {
- filter = singleCfg.FormFiles;
- } else if (filtername == "Resource Files") {
- filter = singleCfg.ResourceFiles;
- } else if (filtername == "Deployment Files") {
- filter = singleCfg.DeploymentFiles;
- } else {
- // ExtraCompilers
- filter = project.SingleProjects[i].filterForExtraCompiler(filtername);
- }
-
+ const VCFilter filter = project.SingleProjects.at(i).filterByName(filtername);
// Merge all files in this filter to root tree
for (int x = 0; x < filter.Files.count(); ++x)
root->addElement(filter.Files.at(x));
@@ -1896,31 +1848,7 @@ void VCXProjectWriter::outputFileConfigs(VCProject &project, XmlOutput &xml, Xml
bool fileAdded = false;
for (int i = 0; i < project.SingleProjects.count(); ++i) {
- VCFilter filter;
- const VCProjectSingleConfig &singleCfg = project.SingleProjects.at(i);
- if (filtername.startsWith("Root Files")) {
- filter = singleCfg.RootFiles;
- } else if (filtername.startsWith("Source Files")) {
- filter = singleCfg.SourceFiles;
- } else if (filtername.startsWith("Header Files")) {
- filter = singleCfg.HeaderFiles;
- } else if (filtername.startsWith("Generated Files")) {
- filter = singleCfg.GeneratedFiles;
- } else if (filtername.startsWith("LexYacc Files")) {
- filter = singleCfg.LexYaccFiles;
- } else if (filtername.startsWith("Translation Files")) {
- filter = singleCfg.TranslationFiles;
- } else if (filtername.startsWith("Form Files")) {
- filter = singleCfg.FormFiles;
- } else if (filtername.startsWith("Resource Files")) {
- filter = singleCfg.ResourceFiles;
- } else if (filtername.startsWith("Deployment Files")) {
- filter = singleCfg.DeploymentFiles;
- } else {
- // ExtraCompilers
- filter = project.SingleProjects[i].filterForExtraCompiler(filtername);
- }
-
+ VCFilter filter = project.SingleProjects.at(i).filterByName(filtername);
if (filter.Config) // only if the filter is not empty
if (outputFileConfig(filter, xml, xmlFilter, info.file, filtername, fileAdded)) // only add it once.
fileAdded = true;