forked from qt-creator/qt-creator
ProjectExplorer: Fix compile for Qt version less than 5.4
Change-Id: Ic2500d009d2195d19651ac691c42d55a612fde04 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -289,12 +289,7 @@ void ProjectTree::foldersAboutToBeRemoved(FolderNode *, const QList<FolderNode*>
|
|||||||
|
|
||||||
void ProjectTree::foldersRemoved()
|
void ProjectTree::foldersRemoved()
|
||||||
{
|
{
|
||||||
QTimer::singleShot(0, [this]() {
|
QTimer::singleShot(0, this, SLOT(updateFromFocusResetFolderSingleShot()));
|
||||||
if (m_resetCurrentNodeFolder) {
|
|
||||||
updateFromFocus(true);
|
|
||||||
m_resetCurrentNodeFolder = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectTree::filesAboutToBeRemoved(FolderNode *, const QList<FileNode*> &list)
|
void ProjectTree::filesAboutToBeRemoved(FolderNode *, const QList<FileNode*> &list)
|
||||||
@@ -306,12 +301,7 @@ void ProjectTree::filesAboutToBeRemoved(FolderNode *, const QList<FileNode*> &li
|
|||||||
|
|
||||||
void ProjectTree::filesRemoved()
|
void ProjectTree::filesRemoved()
|
||||||
{
|
{
|
||||||
QTimer::singleShot(0, [this]() {
|
QTimer::singleShot(0, this, SLOT(updateFromFocusResetFileSingleShot()));
|
||||||
if (m_resetCurrentNodeFile) {
|
|
||||||
updateFromFocus(true);
|
|
||||||
m_resetCurrentNodeFile = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectTree::aboutToRemoveProject(Project *project)
|
void ProjectTree::aboutToRemoveProject(Project *project)
|
||||||
@@ -322,20 +312,12 @@ void ProjectTree::aboutToRemoveProject(Project *project)
|
|||||||
|
|
||||||
void ProjectTree::projectRemoved()
|
void ProjectTree::projectRemoved()
|
||||||
{
|
{
|
||||||
QTimer::singleShot(0, [this]() {
|
QTimer::singleShot(0, this, SLOT(updateFromFocusResetProjectSingleShot()));
|
||||||
updateFromFocus(true);
|
|
||||||
m_resetCurrentNodeProject = false;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectTree::nodesAdded()
|
void ProjectTree::nodesAdded()
|
||||||
{
|
{
|
||||||
QTimer::singleShot(0, [this]() {
|
QTimer::singleShot(0, this, SLOT(updateFromDocumentManagerSingleShot()));
|
||||||
if (Utils::anyOf(m_projectTreeWidgets, &ProjectTreeWidget::hasFocus))
|
|
||||||
return;
|
|
||||||
|
|
||||||
updateFromDocumentManager();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProjectTree::updateExternalFileWarning()
|
void ProjectTree::updateExternalFileWarning()
|
||||||
@@ -374,3 +356,32 @@ bool ProjectTree::hasFocus(ProjectTreeWidget *widget)
|
|||||||
{
|
{
|
||||||
return widget && widget->focusWidget() && widget->focusWidget()->hasFocus();
|
return widget && widget->focusWidget() && widget->focusWidget()->hasFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ProjectTree::updateFromFocusResetFileSingleShot()
|
||||||
|
{
|
||||||
|
if (m_resetCurrentNodeFile) {
|
||||||
|
updateFromFocus(true);
|
||||||
|
m_resetCurrentNodeFile = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectTree::updateFromFocusResetFolderSingleShot()
|
||||||
|
{
|
||||||
|
if (m_resetCurrentNodeFolder) {
|
||||||
|
updateFromFocus(true);
|
||||||
|
m_resetCurrentNodeFolder = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectTree::updateFromFocusResetProjectSingleShot()
|
||||||
|
{
|
||||||
|
updateFromFocus(true);
|
||||||
|
m_resetCurrentNodeProject = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProjectTree::updateFromDocumentManagerSingleShot()
|
||||||
|
{
|
||||||
|
if (Utils::anyOf(m_projectTreeWidgets, &ProjectTreeWidget::hasFocus))
|
||||||
|
return;
|
||||||
|
updateFromDocumentManager();
|
||||||
|
}
|
||||||
|
|||||||
@@ -90,7 +90,13 @@ private:
|
|||||||
void updateExternalFileWarning();
|
void updateExternalFileWarning();
|
||||||
static bool hasFocus(Internal::ProjectTreeWidget *widget);
|
static bool hasFocus(Internal::ProjectTreeWidget *widget);
|
||||||
|
|
||||||
|
private slots: // use lambdas for the following when minimum Qt is 5.4
|
||||||
|
void updateFromFocusResetFileSingleShot();
|
||||||
|
void updateFromFocusResetFolderSingleShot();
|
||||||
|
void updateFromFocusResetProjectSingleShot();
|
||||||
|
void updateFromDocumentManagerSingleShot();
|
||||||
|
|
||||||
|
private:
|
||||||
static ProjectTree *s_instance;
|
static ProjectTree *s_instance;
|
||||||
QList<Internal::ProjectTreeWidget *> m_projectTreeWidgets;
|
QList<Internal::ProjectTreeWidget *> m_projectTreeWidgets;
|
||||||
Node *m_currentNode;
|
Node *m_currentNode;
|
||||||
|
|||||||
Reference in New Issue
Block a user