qmlprojectnodes.cpp 2.69 KB
Newer Older
hjk's avatar
hjk committed
1
/****************************************************************************
2
**
3 4
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
5
**
hjk's avatar
hjk committed
6
** This file is part of Qt Creator.
7
**
hjk's avatar
hjk committed
8 9 10 11
** 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
12 13 14
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
15
**
16 17 18 19 20 21 22
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3 as published by the Free Software
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
** included in the packaging of this file. Please review the following
** information to ensure the GNU General Public License requirements will
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
con's avatar
con committed
23
**
hjk's avatar
hjk committed
24
****************************************************************************/
25 26 27 28

#include "qmlprojectnodes.h"
#include "qmlproject.h"

29
#include <coreplugin/idocument.h>
30
#include <coreplugin/fileiconprovider.h>
31 32
#include <projectexplorer/projectexplorer.h>

33 34
#include <utils/algorithm.h>

hjk's avatar
hjk committed
35 36
using namespace ProjectExplorer;

Kai Koehne's avatar
Kai Koehne committed
37 38
namespace QmlProjectManager {
namespace Internal {
39

40 41
QmlProjectNode::QmlProjectNode(QmlProject *project) : ProjectNode(project->projectDirectory()),
    m_project(project)
42
{
43
    setDisplayName(project->projectFilePath().toFileInfo().completeBaseName());
44

45
    static QIcon qmlProjectIcon = Core::FileIconProvider::directoryIcon(":/projectexplorer/images/fileoverlay_qml.png");
46
    setIcon(qmlProjectIcon);
47 48
}

49
bool QmlProjectNode::showInSimpleTree() const
50 51 52 53
{
    return true;
}

54
bool QmlProjectNode::supportsAction(ProjectAction action, const Node *node) const
55
{
56 57
    if (action == AddNewFile || action == EraseFile)
        return true;
58
    QTC_ASSERT(node, return false);
59 60

    if (action == Rename && node->nodeType() == NodeType::File) {
61 62
        const FileNode *fileNode = node->asFileNode();
        QTC_ASSERT(fileNode, return false);
63
        return fileNode->fileType() != FileType::Project;
64
    }
65 66

    return false;
67 68
}

69
bool QmlProjectNode::addFiles(const QStringList &filePaths, QStringList * /*notAdded*/)
70
{
71
    return m_project->addFiles(filePaths);
72 73
}

74
bool QmlProjectNode::deleteFiles(const QStringList & /*filePaths*/)
75
{
76
    return true;
77 78
}

79
bool QmlProjectNode::renameFile(const QString & /*filePath*/, const QString & /*newFilePath*/)
80
{
81
    return true;
82
}
Kai Koehne's avatar
Kai Koehne committed
83 84 85

} // namespace Internal
} // namespace QmlProjectManager