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>
This commit is contained in:
parent
f84b00c6d2
commit
4f21eb0387
@ -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;
|
||||
|
@ -2414,11 +2414,34 @@ bool VCFilter::addExtraCompiler(const VCFilterFile &info)
|
||||
}
|
||||
|
||||
// VCProjectSingleConfig --------------------------------------------
|
||||
VCFilter& VCProjectSingleConfig::filterForExtraCompiler(const QString &compilerName)
|
||||
const VCFilter &VCProjectSingleConfig::filterByName(const QString &name) const
|
||||
{
|
||||
if (name == "Root Files")
|
||||
return RootFiles;
|
||||
if (name == "Source Files")
|
||||
return SourceFiles;
|
||||
if (name == "Header Files")
|
||||
return HeaderFiles;
|
||||
if (name == "Generated Files")
|
||||
return GeneratedFiles;
|
||||
if (name == "LexYacc Files")
|
||||
return LexYaccFiles;
|
||||
if (name == "Translation Files")
|
||||
return TranslationFiles;
|
||||
if (name == "Form Files")
|
||||
return FormFiles;
|
||||
if (name == "Resource Files")
|
||||
return ResourceFiles;
|
||||
if (name == "Deployment Files")
|
||||
return DeploymentFiles;
|
||||
return filterForExtraCompiler(name);
|
||||
}
|
||||
|
||||
const VCFilter &VCProjectSingleConfig::filterForExtraCompiler(const QString &compilerName) const
|
||||
{
|
||||
for (int i = 0; i < ExtraCompilersFiles.count(); ++i)
|
||||
if (ExtraCompilersFiles.at(i).Name == compilerName)
|
||||
return ExtraCompilersFiles[i];
|
||||
return ExtraCompilersFiles.at(i);
|
||||
|
||||
static VCFilter nullFilter;
|
||||
return nullFilter;
|
||||
@ -2885,30 +2908,7 @@ void VCProjectWriter::outputFilter(VCProject &project, XmlOutput &xml, const QSt
|
||||
triState parse = unset;
|
||||
|
||||
for (int i = 0; i < project.SingleProjects.count(); ++i) {
|
||||
VCFilter filter;
|
||||
const VCProjectSingleConfig &projectSingleConfig = project.SingleProjects.at(i);
|
||||
if (filtername == "RootFiles") {
|
||||
filter = projectSingleConfig.RootFiles;
|
||||
} else if (filtername == "Sources") {
|
||||
filter = projectSingleConfig.SourceFiles;
|
||||
} else if (filtername == "Headers") {
|
||||
filter = projectSingleConfig.HeaderFiles;
|
||||
} else if (filtername == "GeneratedFiles") {
|
||||
filter = projectSingleConfig.GeneratedFiles;
|
||||
} else if (filtername == "LexYaccFiles") {
|
||||
filter = projectSingleConfig.LexYaccFiles;
|
||||
} else if (filtername == "TranslationFiles") {
|
||||
filter = projectSingleConfig.TranslationFiles;
|
||||
} else if (filtername == "FormFiles") {
|
||||
filter = projectSingleConfig.FormFiles;
|
||||
} else if (filtername == "ResourceFiles") {
|
||||
filter = projectSingleConfig.ResourceFiles;
|
||||
} else if (filtername == "DeploymentFiles") {
|
||||
filter = projectSingleConfig.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)
|
||||
@ -2947,31 +2947,7 @@ void VCProjectWriter::outputFileConfigs(VCProject &project, XmlOutput &xml, cons
|
||||
xml << tag(q_File)
|
||||
<< attrS(_RelativePath, Option::fixPathToLocalOS(info.file));
|
||||
for (int i = 0; i < project.SingleProjects.count(); ++i) {
|
||||
VCFilter filter;
|
||||
const VCProjectSingleConfig &projectSingleConfig = project.SingleProjects.at(i);
|
||||
if (filtername == "RootFiles") {
|
||||
filter = projectSingleConfig.RootFiles;
|
||||
} else if (filtername == "Sources") {
|
||||
filter = projectSingleConfig.SourceFiles;
|
||||
} else if (filtername == "Headers") {
|
||||
filter = projectSingleConfig.HeaderFiles;
|
||||
} else if (filtername == "GeneratedFiles") {
|
||||
filter = projectSingleConfig.GeneratedFiles;
|
||||
} else if (filtername == "LexYaccFiles") {
|
||||
filter = projectSingleConfig.LexYaccFiles;
|
||||
} else if (filtername == "TranslationFiles") {
|
||||
filter = projectSingleConfig.TranslationFiles;
|
||||
} else if (filtername == "FormFiles") {
|
||||
filter = projectSingleConfig.FormFiles;
|
||||
} else if (filtername == "ResourceFiles") {
|
||||
filter = projectSingleConfig.ResourceFiles;
|
||||
} else if (filtername == "DeploymentFiles") {
|
||||
filter = projectSingleConfig.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
|
||||
outputFileConfig(filter, xml, info.file);
|
||||
}
|
||||
|
@ -1020,8 +1020,8 @@ public:
|
||||
|
||||
bool flat_files;
|
||||
|
||||
// Accessor for extracompilers
|
||||
VCFilter &filterForExtraCompiler(const QString &compilerName);
|
||||
const VCFilter &filterByName(const QString &name) const;
|
||||
const VCFilter &filterForExtraCompiler(const QString &compilerName) const;
|
||||
};
|
||||
|
||||
// Tree & Flat view of files --------------------------------------------------
|
||||
|
Loading…
x
Reference in New Issue
Block a user