aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRadovan Zivkovic <pivonroll@gmail.com>2013-08-05 01:35:18 +0200
committerOswald Buddenhagen <oswald.buddenhagen@digia.com>2014-03-11 19:54:56 +0100
commitaa53a0bd9c819aa21d646daaa057b53279068981 (patch)
treeb913da12d9ee0cded39661f7f2952e59f4089b08
parent717556e1c1df101c743837d7228d4987a1601f36 (diff)
Removed FolderType class.
Change-Id: Ic0b48837bcdb115eebd11809306ea31201e10b76 Reviewed-by: Bojan Petrovic <bojan85@gmail.com>
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/folder.cpp262
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/folder.h19
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/foldertype.cpp369
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/foldertype.h100
-rw-r--r--src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri2
5 files changed, 232 insertions, 520 deletions
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/folder.cpp b/src/plugins/vcprojectmanager/vcprojectmodel/folder.cpp
index 8856e808c1..d2278397e0 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/folder.cpp
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/folder.cpp
@@ -37,19 +37,47 @@ namespace VcProjectManager {
namespace Internal {
Folder::Folder(VcProjectDocument *parentProjectDoc)
- : m_folderType(QSharedPointer<FolderType>(new FolderType(parentProjectDoc)))
+ : m_parentProjectDoc(parentProjectDoc)
{
}
Folder::Folder(const Folder &folder)
{
- m_folderType = folder.m_folderType->clone();
+ m_parentProjectDoc = folder.m_parentProjectDoc;
+ m_name = folder.m_name;
+ m_anyAttribute = folder.m_anyAttribute;
+
+ foreach (const File::Ptr &file, folder.m_files)
+ m_files.append(File::Ptr(new File(*file)));
+
+ foreach (const Filter::Ptr &filter, folder.m_filters)
+ m_filters.append(Filter::Ptr(new Filter(*filter)));
+
+ foreach (const Folder::Ptr &fold, folder.m_folders)
+ m_folders.append(Folder::Ptr(new Folder(*fold)));
}
Folder &Folder::operator =(const Folder &folder)
{
- if (this != &folder)
- m_folderType = folder.m_folderType->clone();
+ if (this != &folder) {
+ m_parentProjectDoc = folder.m_parentProjectDoc;
+ m_name = folder.m_name;
+ m_anyAttribute = folder.m_anyAttribute;
+
+ m_files.clear();
+ m_folders.clear();
+ m_filters.clear();
+
+ foreach (const File::Ptr &file, folder.m_files)
+ m_files.append(File::Ptr(new File(*file)));
+
+ foreach (const Filter::Ptr &filter, folder.m_filters)
+ m_filters.append(Filter::Ptr(new Filter(*filter)));
+
+ foreach (const Folder::Ptr &fold, folder.m_folders)
+ m_folders.append(Folder::Ptr(new Folder(*fold)));
+ }
+
return *this;
}
@@ -59,12 +87,42 @@ Folder::~Folder()
void Folder::processNode(const QDomNode &node)
{
- m_folderType->processNode(node);
+ if (node.isNull())
+ return;
+
+ if (node.nodeType() == QDomNode::ElementNode)
+ processNodeAttributes(node.toElement());
+
+ if (node.hasChildNodes()) {
+ QDomNode firstChild = node.firstChild();
+ if (!firstChild.isNull()) {
+ if (firstChild.nodeName() == QLatin1String("Filter"))
+ processFilter(firstChild);
+ else if (firstChild.nodeName() == QLatin1String("File"))
+ processFile(firstChild);
+ else if (firstChild.nodeName() == QLatin1String("Folder"))
+ processFolder(firstChild);
+ }
+ }
}
void Folder::processNodeAttributes(const QDomElement &element)
{
- Q_UNUSED(element)
+ QDomNamedNodeMap namedNodeMap = element.attributes();
+
+ for (int i = 0; i < namedNodeMap.size(); ++i) {
+ QDomNode domNode = namedNodeMap.item(i);
+
+ if (domNode.nodeType() == QDomNode::AttributeNode) {
+ QDomAttr domElement = domNode.toAttr();
+
+ if (domElement.name() == QLatin1String("Name"))
+ setName(domElement.value());
+
+ else
+ setAttribute(domElement.name(), domElement.value());
+ }
+ }
}
VcNodeWidget *Folder::createSettingsWidget()
@@ -74,78 +132,125 @@ VcNodeWidget *Folder::createSettingsWidget()
QDomNode Folder::toXMLDomNode(QDomDocument &domXMLDocument) const
{
- return m_folderType->toXMLDomNode(domXMLDocument);
+ QDomElement fileNode = domXMLDocument.createElement(QLatin1String("Folder"));
+
+ fileNode.setAttribute(QLatin1String("Name"), m_name);
+
+ QHashIterator<QString, QString> it(m_anyAttribute);
+
+ while (it.hasNext()) {
+ it.next();
+ fileNode.setAttribute(it.key(), it.value());
+ }
+
+ foreach (const File::Ptr &file, m_files)
+ fileNode.appendChild(file->toXMLDomNode(domXMLDocument));
+
+ foreach (const Filter::Ptr &filter, m_filters)
+ fileNode.appendChild(filter->toXMLDomNode(domXMLDocument));
+
+ foreach (const Folder::Ptr &folder, m_folders)
+ fileNode.appendChild(folder->toXMLDomNode(domXMLDocument));
+
+ return fileNode;
}
void Folder::addFilter(Filter::Ptr filter)
{
- m_folderType->addFilter(filter);
+ if (m_filters.contains(filter))
+ return;
+
+ foreach (const Filter::Ptr &filt, m_filters) {
+ if (filt->name() == filter->name())
+ return;
+ }
+
+ m_filters.append(filter);
}
-void Folder::removeFilter(Filter::Ptr filterName)
+void Folder::removeFilter(Filter::Ptr filter)
{
- m_folderType->removeFilter(filterName);
+ m_filters.removeAll(filter);
}
void Folder::removeFilter(const QString &filterName)
{
- m_folderType->removeFilter(filterName);
+ foreach (const Filter::Ptr &filter, m_filters) {
+ if (filter->name() == filterName) {
+ removeFilter(filter);
+ return;
+ }
+ }
}
QList<Filter::Ptr> Folder::filters() const
{
- return m_folderType->filters();
+ return m_filters;
}
Filter::Ptr Folder::filter(const QString &filterName) const
{
- return m_folderType->filter(filterName);
+ foreach (const Filter::Ptr &filter, m_filters) {
+ if (filter->name() == filterName)
+ return filter;
+ }
+ return Filter::Ptr();
}
void Folder::addFile(File::Ptr file)
{
- m_folderType->addFile(file);
+ if (m_files.contains(file))
+ return;
+
+ foreach (const File::Ptr &f, m_files) {
+ if (f->relativePath() == file->relativePath())
+ return;
+ }
+ m_files.append(file);
}
void Folder::removeFile(File::Ptr file)
{
- m_folderType->removeFile(file);
+ m_files.removeAll(file);
}
void Folder::removeFile(const QString &relativeFilePath)
{
- m_folderType->removeFile(relativeFilePath);
+ foreach (const File::Ptr &file, m_files) {
+ if (file->relativePath() == relativeFilePath) {
+ removeFile(file);
+ return;
+ }
+ }
}
QList<File::Ptr> Folder::files() const
{
- return m_folderType->files();
+ return m_files;
}
File::Ptr Folder::file(const QString &relativeFilePath) const
{
- return m_folderType->file(relativeFilePath);
+ foreach (const File::Ptr &file, m_files) {
+ if (file->relativePath() == relativeFilePath)
+ return file;
+ }
+ return File::Ptr();
}
bool Folder::fileExists(const QString &relativeFilePath)
{
- QList<File::Ptr> files = m_folderType->files();
-
- foreach (const File::Ptr &filePtr, files) {
+ foreach (const File::Ptr &filePtr, m_files) {
if (filePtr->relativePath() == relativeFilePath)
return true;
}
- QList<Filter::Ptr> filters = m_folderType->filters();
-
- foreach (const Filter::Ptr &filterPtr, filters) {
+ foreach (const Filter::Ptr &filterPtr, m_filters) {
if (filterPtr->fileExists(relativeFilePath))
return true;
}
- QList<Folder::Ptr> folders = m_folderType->folders();
-
- foreach (const Folder::Ptr &folderPtr, folders) {
+ foreach (const Folder::Ptr &folderPtr, m_folders) {
if (folderPtr->fileExists(relativeFilePath))
return true;
}
@@ -155,74 +260,141 @@ bool Folder::fileExists(const QString &relativeFilePath)
void Folder::addFolder(Folder::Ptr folder)
{
- m_folderType->addFolder(folder);
+ if (m_folders.contains(folder))
+ return;
+
+ foreach (const Folder::Ptr &f, m_folders) {
+ if (f->name() == folder->name())
+ return;
+ }
+ m_folders.append(folder);
}
void Folder::removeFolder(Folder::Ptr folder)
{
- m_folderType->removeFolder(folder);
+ m_folders.removeAll(folder);
}
void Folder::removeFolder(const QString &folderName)
{
- m_folderType->removeFolder(folderName);
+ foreach (const Folder::Ptr &f, m_folders) {
+ if (f->name() == folderName) {
+ removeFolder(f);
+ return;
+ }
+ }
}
QList<Folder::Ptr> Folder::folders() const
{
- return m_folderType->folders();
+ return m_folders;
}
Folder::Ptr Folder::folder(const QString &folderName) const
{
- return m_folderType->folder(folderName);
+ foreach (const Folder::Ptr &folder, m_folders) {
+ if (folder->name() == folderName)
+ return folder;
+ }
+ return Folder::Ptr();
}
QString Folder::name() const
{
- return m_folderType->name();
+ return m_name;
}
void Folder::setName(const QString &name)
{
- m_folderType->setName(name);
+ m_name = name;
}
QString Folder::attributeValue(const QString &attributeName) const
{
- return m_folderType->attributeValue(attributeName);
+ return m_anyAttribute.value(attributeName);
}
void Folder::setAttribute(const QString &attributeName, const QString &attributeValue)
{
- m_folderType->setAttribute(attributeName, attributeValue);
+ m_anyAttribute.insert(attributeName, attributeValue);
}
void Folder::clearAttribute(const QString &attributeName)
{
- m_folderType->clearAttribute(attributeName);
+ if (m_anyAttribute.contains(attributeName))
+ m_anyAttribute.insert(attributeName, QString());
}
void Folder::removeAttribute(const QString &attributeName)
{
- m_folderType->removeAttribute(attributeName);
+ m_anyAttribute.remove(attributeName);
}
void Folder::allFiles(QStringList &sl)
{
- QList<Folder::Ptr> folders = m_folderType->folders();
- QList<Filter::Ptr> filters = m_folderType->filters();
- QList<File::Ptr> files = m_folderType->files();
-
- foreach (const Filter::Ptr &filter, filters)
+ foreach (const Filter::Ptr &filter, m_filters)
filter->allFiles(sl);
- foreach (const Folder::Ptr &filter, folders)
+ foreach (const Folder::Ptr &filter, m_folders)
filter->allFiles(sl);
- foreach (const File::Ptr &file, files)
+ foreach (const File::Ptr &file, m_files)
sl.append(file->canonicalPath());
}
+void Folder::processFile(const QDomNode &fileNode)
+{
+ File::Ptr file(new File(m_parentProjectDoc));
+ file->processNode(fileNode);
+ m_files.append(file);
+
+ // process next sibling
+ QDomNode nextSibling = fileNode.nextSibling();
+ if (!nextSibling.isNull()) {
+ if (nextSibling.nodeName() == QLatin1String("File"))
+ processFile(nextSibling);
+ else if (nextSibling.nodeName() == QLatin1String("Folder"))
+ processFolder(nextSibling);
+ else
+ processFilter(nextSibling);
+ }
+}
+
+void Folder::processFilter(const QDomNode &filterNode)
+{
+ Filter::Ptr filter(new Filter(m_parentProjectDoc));
+ filter->processNode(filterNode);
+ m_filters.append(filter);
+
+ // process next sibling
+ QDomNode nextSibling = filterNode.nextSibling();
+ if (!nextSibling.isNull()) {
+ if (nextSibling.nodeName() == QLatin1String("File"))
+ processFile(nextSibling);
+ else if (nextSibling.nodeName() == QLatin1String("Folder"))
+ processFolder(nextSibling);
+ else
+ processFilter(nextSibling);
+ }
+}
+
+void Folder::processFolder(const QDomNode &folderNode)
+{
+ Folder::Ptr folder(new Folder(m_parentProjectDoc));
+ folder->processNode(folderNode);
+ m_folders.append(folder);
+
+ // process next sibling
+ QDomNode nextSibling = folderNode.nextSibling();
+ if (!nextSibling.isNull()) {
+ if (nextSibling.nodeName() == QLatin1String("File"))
+ processFile(nextSibling);
+ else if (nextSibling.nodeName() == QLatin1String("Folder"))
+ processFolder(nextSibling);
+ else
+ processFilter(nextSibling);
+ }
+}
+
} // namespace Internal
} // namespace VcProjectManager
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/folder.h b/src/plugins/vcprojectmanager/vcprojectmodel/folder.h
index 2c0f6b80a3..ae5d48d270 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/folder.h
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/folder.h
@@ -32,7 +32,8 @@
#include "ivcprojectnodemodel.h"
-#include "foldertype.h"
+#include "file.h"
+#include "filter.h"
namespace VcProjectManager {
namespace Internal {
@@ -53,8 +54,8 @@ public:
QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
void addFilter(Filter::Ptr filter);
- void removeFilter(Filter::Ptr filterName);
- void removeFilter(const QString &filter);
+ void removeFilter(Filter::Ptr filter);
+ void removeFilter(const QString &filterName);
QList<Filter::Ptr> filters() const;
Filter::Ptr filter(const QString &filterName) const;
@@ -82,7 +83,17 @@ public:
void allFiles(QStringList &sl);
private:
- QSharedPointer<FolderType> m_folderType;
+ void processFile(const QDomNode &fileNode);
+ void processFilter(const QDomNode &filterNode);
+ void processFolder(const QDomNode &folderNode);
+
+ QList<QSharedPointer<Folder> > m_folders;
+ QList<File::Ptr> m_files;
+ QList<Filter::Ptr> m_filters;
+
+ QString m_name; // required
+ QHash<QString, QString> m_anyAttribute;
+ VcProjectDocument *m_parentProjectDoc;
};
} // namespace Internal
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.cpp b/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.cpp
deleted file mode 100644
index b397acc6c2..0000000000
--- a/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.cpp
+++ /dev/null
@@ -1,369 +0,0 @@
-/**************************************************************************
-**
-** Copyright (c) 2013 Bojan Petrovic
-** Copyright (c) 2013 Radovan Zivkvoic
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-#include "foldertype.h"
-
-#include "folder.h"
-
-namespace VcProjectManager {
-namespace Internal {
-
-FolderType::~FolderType()
-{
- m_filters.clear();
- m_files.clear();
- m_folders.clear();
-}
-
-void FolderType::processNode(const QDomNode &node)
-{
- if (node.isNull())
- return;
-
- if (node.nodeType() == QDomNode::ElementNode)
- processNodeAttributes(node.toElement());
-
- if (node.hasChildNodes()) {
- QDomNode firstChild = node.firstChild();
- if (!firstChild.isNull()) {
- if (firstChild.nodeName() == QLatin1String("Filter"))
- processFilter(firstChild);
- else if (firstChild.nodeName() == QLatin1String("File"))
- processFile(firstChild);
- else if (firstChild.nodeName() == QLatin1String("Folder"))
- processFolder(firstChild);
- }
- }
-}
-
-void FolderType::processNodeAttributes(const QDomElement &element)
-{
- QDomNamedNodeMap namedNodeMap = element.attributes();
-
- for (int i = 0; i < namedNodeMap.size(); ++i) {
- QDomNode domNode = namedNodeMap.item(i);
-
- if (domNode.nodeType() == QDomNode::AttributeNode) {
- QDomAttr domElement = domNode.toAttr();
-
- if (domElement.name() == QLatin1String("Name"))
- setName(domElement.value());
-
- else
- setAttribute(domElement.name(), domElement.value());
- }
- }
-}
-
-QDomNode FolderType::toXMLDomNode(QDomDocument &domXMLDocument) const
-{
- QDomElement fileNode = domXMLDocument.createElement(QLatin1String("Folder"));
-
- fileNode.setAttribute(QLatin1String("Name"), m_name);
-
- QHashIterator<QString, QString> it(m_anyAttribute);
-
- while (it.hasNext()) {
- it.next();
- fileNode.setAttribute(it.key(), it.value());
- }
-
- foreach (const File::Ptr &file, m_files)
- fileNode.appendChild(file->toXMLDomNode(domXMLDocument));
-
- foreach (const Filter::Ptr &filter, m_filters)
- fileNode.appendChild(filter->toXMLDomNode(domXMLDocument));
-
- foreach (const Folder::Ptr &folder, m_folders)
- fileNode.appendChild(folder->toXMLDomNode(domXMLDocument));
-
- return fileNode;
-}
-
-void FolderType::processFile(const QDomNode &fileNode)
-{
- File::Ptr file(new File(m_parentProjectDoc));
- file->processNode(fileNode);
- m_files.append(file);
-
- // process next sibling
- QDomNode nextSibling = fileNode.nextSibling();
- if (!nextSibling.isNull()) {
- if (nextSibling.nodeName() == QLatin1String("File"))
- processFile(nextSibling);
- else if (nextSibling.nodeName() == QLatin1String("Folder"))
- processFolder(nextSibling);
- else
- processFilter(nextSibling);
- }
-}
-
-void FolderType::processFilter(const QDomNode &filterNode)
-{
- Filter::Ptr filter(new Filter(m_parentProjectDoc));
- filter->processNode(filterNode);
- m_filters.append(filter);
-
- // process next sibling
- QDomNode nextSibling = filterNode.nextSibling();
- if (!nextSibling.isNull()) {
- if (nextSibling.nodeName() == QLatin1String("File"))
- processFile(nextSibling);
- else if (nextSibling.nodeName() == QLatin1String("Folder"))
- processFolder(nextSibling);
- else
- processFilter(nextSibling);
- }
-}
-
-void FolderType::processFolder(const QDomNode &folderNode)
-{
- Folder::Ptr folder(new Folder(m_parentProjectDoc));
- folder->processNode(folderNode);
- m_folders.append(folder);
-
- // process next sibling
- QDomNode nextSibling = folderNode.nextSibling();
- if (!nextSibling.isNull()) {
- if (nextSibling.nodeName() == QLatin1String("File"))
- processFile(nextSibling);
- else if (nextSibling.nodeName() == QLatin1String("Folder"))
- processFolder(nextSibling);
- else
- processFilter(nextSibling);
- }
-}
-
-void FolderType::addFilter(Filter::Ptr filter)
-{
- if (m_filters.contains(filter))
- return;
-
- foreach (const Filter::Ptr &filt, m_filters) {
- if (filt->name() == filter->name())
- return;
- }
-
- m_filters.append(filter);
-}
-
-void FolderType::removeFilter(Filter::Ptr filter)
-{
- m_filters.removeAll(filter);
-}
-
-void FolderType::removeFilter(const QString &filterName)
-{
- foreach (const Filter::Ptr &filter, m_filters) {
- if (filter->name() == filterName) {
- removeFilter(filter);
- return;
- }
- }
-}
-
-QList<Filter::Ptr> FolderType::filters() const
-{
- return m_filters;
-}
-
-Filter::Ptr FolderType::filter(const QString &filterName) const
-{
- foreach (const Filter::Ptr &filter, m_filters) {
- if (filter->name() == filterName)
- return filter;
- }
- return Filter::Ptr();
-}
-
-void FolderType::addFile(File::Ptr file)
-{
- if (m_files.contains(file))
- return;
-
- foreach (const File::Ptr &f, m_files) {
- if (f->relativePath() == file->relativePath())
- return;
- }
- m_files.append(file);
-}
-
-void FolderType::removeFile(File::Ptr file)
-{
- m_files.removeAll(file);
-}
-
-void FolderType::removeFile(const QString &relativeFilePath)
-{
- foreach (const File::Ptr &file, m_files) {
- if (file->relativePath() == relativeFilePath) {
- removeFile(file);
- return;
- }
- }
-}
-
-QList<File::Ptr> FolderType::files() const
-{
- return m_files;
-}
-
-File::Ptr FolderType::file(const QString &relativeFilePath) const
-{
- foreach (const File::Ptr &file, m_files) {
- if (file->relativePath() == relativeFilePath)
- return file;
- }
- return File::Ptr();
-}
-
-void FolderType::addFolder(QSharedPointer<Folder> folder)
-{
- if (m_folders.contains(folder))
- return;
-
- foreach (const Folder::Ptr &f, m_folders) {
- if (f->name() == folder->name())
- return;
- }
- m_folders.append(folder);
-}
-
-void FolderType::removeFolder(QSharedPointer<Folder> folder)
-{
- m_folders.removeAll(folder);
-}
-
-void FolderType::removeFolder(const QString &folderName)
-{
- foreach (const Folder::Ptr &f, m_folders) {
- if (f->name() == folderName) {
- removeFolder(f);
- return;
- }
- }
-}
-
-QList<QSharedPointer<Folder> > FolderType::folders() const
-{
- return m_folders;
-}
-
-QSharedPointer<Folder> FolderType::folder(const QString &folderName) const
-{
- foreach (const Folder::Ptr &folder, m_folders) {
- if (folder->name() == folderName)
- return folder;
- }
- return Folder::Ptr();
-}
-
-QString FolderType::name() const
-{
- return m_name;
-}
-
-void FolderType::setName(const QString &name)
-{
- m_name = name;
-}
-
-QString FolderType::attributeValue(const QString &attributeName) const
-{
- return m_anyAttribute.value(attributeName);
-}
-
-void FolderType::setAttribute(const QString &attributeName, const QString &attributeValue)
-{
- m_anyAttribute.insert(attributeName, attributeValue);
-}
-
-void FolderType::clearAttribute(const QString &attributeName)
-{
- if (m_anyAttribute.contains(attributeName))
- m_anyAttribute.insert(attributeName, QString());
-}
-
-void FolderType::removeAttribute(const QString &attributeName)
-{
- m_anyAttribute.remove(attributeName);
-}
-
-QSharedPointer<FolderType> FolderType::clone() const
-{
- return QSharedPointer<FolderType>(new FolderType(*this));
-}
-
-FolderType::FolderType(VcProjectDocument *parentProjectDoc)
- : m_parentProjectDoc(parentProjectDoc)
-{
-}
-
-FolderType::FolderType(const FolderType &folderType)
-{
- m_parentProjectDoc = folderType.m_parentProjectDoc;
- m_name = folderType.m_name;
- m_anyAttribute = folderType.m_anyAttribute;
-
- foreach (const File::Ptr &file, folderType.m_files)
- m_files.append(File::Ptr(new File(*file)));
-
- foreach (const Filter::Ptr &filter, folderType.m_filters)
- m_filters.append(Filter::Ptr(new Filter(*filter)));
-
- foreach (const Folder::Ptr &folder, folderType.m_folders)
- m_folders.append(Folder::Ptr(new Folder(*folder)));
-}
-
-FolderType &FolderType::operator =(const FolderType &folderType)
-{
- if (this != &folderType) {
- m_parentProjectDoc = folderType.m_parentProjectDoc;
- m_name = folderType.m_name;
- m_anyAttribute = folderType.m_anyAttribute;
-
- m_files.clear();
- m_folders.clear();
- m_filters.clear();
-
- foreach (const File::Ptr &file, folderType.m_files)
- m_files.append(File::Ptr(new File(*file)));
-
- foreach (const Filter::Ptr &filter, folderType.m_filters)
- m_filters.append(Filter::Ptr(new Filter(*filter)));
-
- foreach (const Folder::Ptr &folder, folderType.m_folders)
- m_folders.append(Folder::Ptr(new Folder(*folder)));
- }
-
- return *this;
-}
-
-} // namespace Internal
-} // namespace VcProjectManager
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.h b/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.h
deleted file mode 100644
index 6ed7b73c05..0000000000
--- a/src/plugins/vcprojectmanager/vcprojectmodel/foldertype.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/**************************************************************************
-**
-** Copyright (c) 2013 Bojan Petrovic
-** Copyright (c) 2013 Radovan Zivkvoic
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-#ifndef VCPROJECTMANAGER_INTERNAL_FOLDERTYPE_H
-#define VCPROJECTMANAGER_INTERNAL_FOLDERTYPE_H
-
-#include "file.h"
-#include "filter.h"
-
-namespace VcProjectManager {
-namespace Internal {
-
-class Folder;
-
-class FolderType
-{
- friend class Folder;
-
-public:
- ~FolderType();
- void processNode(const QDomNode &node);
- void processNodeAttributes(const QDomElement &element);
- QDomNode toXMLDomNode(QDomDocument &domXMLDocument) const;
-
- void processFile(const QDomNode &fileNode);
- void processFilter(const QDomNode &filterNode);
- void processFolder(const QDomNode &folderNode);
-
- void addFilter(Filter::Ptr filter);
- void removeFilter(Filter::Ptr filter);
- void removeFilter(const QString &filterName);
- QList<Filter::Ptr> filters() const;
- Filter::Ptr filter(const QString &filterName) const;
-
- void addFile(File::Ptr file);
- void removeFile(File::Ptr file);
- void removeFile(const QString &relativeFilePath);
- QList<File::Ptr> files() const;
- File::Ptr file(const QString &relativeFilePath) const;
-
- void addFolder(QSharedPointer<Folder> folder);
- void removeFolder(QSharedPointer<Folder> folder);
- void removeFolder(const QString &folderName);
- QList<QSharedPointer<Folder> > folders() const;
- QSharedPointer<Folder> folder(const QString &folderName) const;
-
- QString name() const;
- void setName(const QString &name);
-
- QString attributeValue(const QString &attributeName) const;
- void setAttribute(const QString &attributeName, const QString &attributeValue);
- void clearAttribute(const QString &attributeName);
- void removeAttribute(const QString &attributeName);
-
- QSharedPointer<FolderType> clone() const;
-
-private:
- FolderType(VcProjectDocument *parentProjectDoc);
- FolderType(const FolderType &folderType);
- FolderType& operator=(const FolderType &folderType);
-
- QList<QSharedPointer<Folder> > m_folders;
- QList<File::Ptr> m_files;
- QList<Filter::Ptr> m_filters;
-
- QString m_name; // required
- QHash<QString, QString> m_anyAttribute;
- VcProjectDocument *m_parentProjectDoc;
-};
-
-} // namespace Internal
-} // namespace VcProjectManager
-
-#endif // VCPROJECTMANAGER_INTERNAL_FOLDERTYPE_H
diff --git a/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri b/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
index cdb84fa171..7340e2f3f6 100644
--- a/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
+++ b/src/plugins/vcprojectmanager/vcprojectmodel/vcprojectmodel.pri
@@ -14,7 +14,6 @@ HEADERS += \
vcprojectmodel/platform.h \
vcprojectmodel/globals.h \
vcprojectmodel/global.h \
- vcprojectmodel/foldertype.h \
vcprojectmodel/folder.h \
vcprojectmodel/filter.h \
vcprojectmodel/files_private.h \
@@ -67,7 +66,6 @@ SOURCES += \
vcprojectmodel/platform.cpp \
vcprojectmodel/globals.cpp \
vcprojectmodel/global.cpp \
- vcprojectmodel/foldertype.cpp \
vcprojectmodel/folder.cpp \
vcprojectmodel/filter.cpp \
vcprojectmodel/files_private.cpp \