forked from qt-creator/qt-creator
ProjectExplorer: De-virtualize FolderNode::showWhenEmpty
Change-Id: Id3d019f449afcfe72b92d505c7822c3b10e2e8e7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -762,7 +762,7 @@ bool FolderNode::showInSimpleTree() const
|
||||
|
||||
bool FolderNode::showWhenEmpty() const
|
||||
{
|
||||
return false;
|
||||
return m_showWhenEmpty;
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -904,6 +904,11 @@ void FolderNode::handleSubTreeChanged(FolderNode *node)
|
||||
parent->handleSubTreeChanged(node);
|
||||
}
|
||||
|
||||
void FolderNode::setShowWhenEmpty(bool showWhenEmpty)
|
||||
{
|
||||
m_showWhenEmpty = showWhenEmpty;
|
||||
}
|
||||
|
||||
ContainerNode::ContainerNode(Project *project)
|
||||
: FolderNode(project->projectDirectory()), m_project(project)
|
||||
{
|
||||
|
@@ -281,8 +281,10 @@ public:
|
||||
|
||||
// determines if node will be shown in the flat view, by default folder and projects aren't shown
|
||||
virtual bool showInSimpleTree() const;
|
||||
|
||||
// determines if node will always be shown when hiding empty directories
|
||||
virtual bool showWhenEmpty() const;
|
||||
bool showWhenEmpty() const;
|
||||
void setShowWhenEmpty(bool showWhenEmpty);
|
||||
|
||||
void addNode(std::unique_ptr<Node> &&node);
|
||||
std::unique_ptr<Node> takeNode(Node *node);
|
||||
@@ -302,6 +304,7 @@ private:
|
||||
QString m_displayName;
|
||||
QString m_addFileFilter;
|
||||
mutable QIcon m_icon;
|
||||
bool m_showWhenEmpty = false;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT VirtualFolderNode : public FolderNode
|
||||
|
@@ -489,11 +489,6 @@ bool ResourceTopLevelNode::showInSimpleTree() const
|
||||
return true;
|
||||
}
|
||||
|
||||
bool ResourceTopLevelNode::showWhenEmpty() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
ResourceFolderNode::ResourceFolderNode(const QString &prefix, const QString &lang, ResourceTopLevelNode *parent)
|
||||
: FolderNode(FileName(parent->filePath()).appendPath(prefix)),
|
||||
// TOOD Why add existing directory doesn't work
|
||||
@@ -501,7 +496,7 @@ ResourceFolderNode::ResourceFolderNode(const QString &prefix, const QString &lan
|
||||
m_prefix(prefix),
|
||||
m_lang(lang)
|
||||
{
|
||||
|
||||
setShowWhenEmpty(true);
|
||||
}
|
||||
|
||||
ResourceFolderNode::~ResourceFolderNode() = default;
|
||||
|
@@ -50,7 +50,6 @@ public:
|
||||
|
||||
AddNewInformation addNewInformation(const QStringList &files, Node *context) const override;
|
||||
bool showInSimpleTree() const override;
|
||||
bool showWhenEmpty() const override;
|
||||
bool removeNonExistingFiles();
|
||||
|
||||
QString contents() const { return m_contents; }
|
||||
|
Reference in New Issue
Block a user