forked from qt-creator/qt-creator
ProjectNodes: Remove no longer necessary signaling
The project tree is updated in one go now, so there is no need to signal each and every change. Change-Id: I7d5829d688b406ee2e701a2aa004b9e8bb5870a9 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -77,8 +77,6 @@ FlatModel::FlatModel(QObject *parent)
|
||||
connect(&m_timer, &QTimer::timeout, this, &FlatModel::doUpdate);
|
||||
|
||||
ProjectTree *tree = ProjectTree::instance();
|
||||
connect(tree, &ProjectTree::dataChanged, this, &FlatModel::update);
|
||||
connect(tree, &ProjectTree::nodeUpdated, this, &FlatModel::update);
|
||||
connect(tree, &ProjectTree::subtreeChanged, this, &FlatModel::update);
|
||||
|
||||
SessionManager *sm = SessionManager::instance();
|
||||
|
||||
@@ -129,13 +129,9 @@ void Node::setAbsoluteFilePathAndLine(const Utils::FileName &path, int line)
|
||||
|
||||
m_filePath = path;
|
||||
m_line = line;
|
||||
emitNodeUpdated();
|
||||
}
|
||||
|
||||
Node::~Node()
|
||||
{
|
||||
|
||||
}
|
||||
Node::~Node() = default;
|
||||
|
||||
NodeType Node::nodeType() const
|
||||
{
|
||||
@@ -225,18 +221,6 @@ void Node::setEnabled(bool enabled)
|
||||
if (m_isEnabled == enabled)
|
||||
return;
|
||||
m_isEnabled = enabled;
|
||||
emitNodeUpdated();
|
||||
}
|
||||
|
||||
void Node::emitNodeUpdated()
|
||||
{
|
||||
if (parentFolderNode())
|
||||
ProjectTree::emitNodeUpdated(this);
|
||||
}
|
||||
|
||||
void Node::emitTreeChanged()
|
||||
{
|
||||
ProjectTree::emitDataChanged();
|
||||
}
|
||||
|
||||
bool Node::sortByPath(const Node *a, const Node *b)
|
||||
@@ -532,7 +516,6 @@ void FolderNode::setDisplayName(const QString &name)
|
||||
if (m_displayName == name)
|
||||
return;
|
||||
m_displayName = name;
|
||||
emitNodeUpdated();
|
||||
}
|
||||
|
||||
void FolderNode::setIcon(const QIcon &icon)
|
||||
@@ -612,11 +595,6 @@ void FolderNode::removeNode(Node *node)
|
||||
m_nodes.removeOne(node);
|
||||
}
|
||||
|
||||
/*!
|
||||
Sets file nodes specified by \a files to the internal list of the folder
|
||||
and emits the corresponding signals from the projectNode.
|
||||
*/
|
||||
|
||||
/*!
|
||||
Removes all files and subfolders from this folder node.
|
||||
*/
|
||||
|
||||
@@ -131,9 +131,6 @@ public:
|
||||
void setEnabled(bool enabled);
|
||||
void setAbsoluteFilePathAndLine(const Utils::FileName &filePath, int line);
|
||||
|
||||
void emitNodeUpdated();
|
||||
void emitTreeChanged();
|
||||
|
||||
virtual FileNode *asFileNode() { return nullptr; }
|
||||
virtual const FileNode *asFileNode() const { return nullptr; }
|
||||
virtual FolderNode *asFolderNode() { return nullptr; }
|
||||
|
||||
@@ -259,13 +259,6 @@ void ProjectTree::updateContext()
|
||||
Core::ICore::updateAdditionalContexts(oldContext, newContext);
|
||||
}
|
||||
|
||||
void ProjectTree::emitNodeUpdated(Node *node)
|
||||
{
|
||||
if (!s_instance->isInNodeHierarchy(node))
|
||||
return;
|
||||
emit s_instance->nodeUpdated(node);
|
||||
}
|
||||
|
||||
void ProjectTree::emitSubtreeChanged(Node *node)
|
||||
{
|
||||
if (!s_instance->isInNodeHierarchy(node))
|
||||
@@ -273,11 +266,6 @@ void ProjectTree::emitSubtreeChanged(Node *node)
|
||||
emit s_instance->subtreeChanged(node);
|
||||
}
|
||||
|
||||
void ProjectTree::emitDataChanged()
|
||||
{
|
||||
instance()->dataChanged();
|
||||
}
|
||||
|
||||
void ProjectTree::collapseAll()
|
||||
{
|
||||
if (m_focusForContextMenu)
|
||||
|
||||
@@ -62,23 +62,20 @@ public:
|
||||
|
||||
static void highlightProject(Project *project, const QString &message);
|
||||
|
||||
void collapseAll();
|
||||
|
||||
signals:
|
||||
void currentProjectChanged(ProjectExplorer::Project *project);
|
||||
void currentNodeChanged();
|
||||
|
||||
// Emitted whenever the model needs to send a update signal.
|
||||
void nodeUpdated(ProjectExplorer::Node *node);
|
||||
void subtreeChanged(ProjectExplorer::Node *node);
|
||||
void dataChanged();
|
||||
|
||||
void aboutToShowContextMenu(ProjectExplorer::Project *project,
|
||||
ProjectExplorer::Node *node);
|
||||
|
||||
public: // for nodes to emit signals, do not call unless you are a node
|
||||
static void emitNodeUpdated(ProjectExplorer::Node *node);
|
||||
static void emitSubtreeChanged(ProjectExplorer::Node *node);
|
||||
static void emitDataChanged();
|
||||
void collapseAll();
|
||||
|
||||
private:
|
||||
void sessionChanged();
|
||||
|
||||
@@ -416,11 +416,6 @@ void SessionManager::addProject(Project *pro)
|
||||
connect(pro, &Project::fileListChanged, m_instance, &SessionManager::clearProjectFileCache);
|
||||
connect(pro, &Project::projectTreeChanged, m_instance, &SessionManager::updateProjectTree);
|
||||
|
||||
connect(pro, &Project::displayNameChanged, m_instance, [pro] {
|
||||
d->m_sessionNode.emitNodeUpdated();
|
||||
emit m_instance->projectDisplayNameChanged(pro);
|
||||
});
|
||||
|
||||
emit m_instance->projectAdded(pro);
|
||||
configureEditors(pro);
|
||||
connect(pro, &Project::fileListChanged, [pro](){ configureEditors(pro); });
|
||||
|
||||
Reference in New Issue
Block a user