diff options
author | Eike Ziller <eike.ziller@digia.com> | 2013-11-22 09:11:51 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@digia.com> | 2013-11-22 09:11:51 +0100 |
commit | 559e66cb353c510c2d624d60a6d28a37fa66dcb0 (patch) | |
tree | e8cf129eaafdd6167e62427f8aa5ec3a2321b7b5 /src/plugins/cppeditor/cppincludehierarchy.cpp | |
parent | 759fd36a1eebb6af878b95484e9dc2ef91b90580 (diff) | |
parent | cf3a9b019204e734324f9eedd128f2547e4a2e79 (diff) | |
download | qt-creator-559e66cb353c510c2d624d60a6d28a37fa66dcb0.tar.gz |
Merge remote-tracking branch 'origin/3.0'
Diffstat (limited to 'src/plugins/cppeditor/cppincludehierarchy.cpp')
-rw-r--r-- | src/plugins/cppeditor/cppincludehierarchy.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/plugins/cppeditor/cppincludehierarchy.cpp b/src/plugins/cppeditor/cppincludehierarchy.cpp index 15a2429f82..3efde4c154 100644 --- a/src/plugins/cppeditor/cppincludehierarchy.cpp +++ b/src/plugins/cppeditor/cppincludehierarchy.cpp @@ -36,6 +36,7 @@ #include "cppincludehierarchymodel.h" #include "cppincludehierarchytreeview.h" +#include <coreplugin/editormanager/editormanager.h> #include <cplusplus/CppDocument.h> #include <utils/annotateditemdelegate.h> @@ -89,7 +90,8 @@ CppIncludeHierarchyWidget::CppIncludeHierarchyWidget() : m_treeView(0), m_model(0), m_delegate(0), - m_includeHierarchyInfoLabel(0) + m_includeHierarchyInfoLabel(0), + m_editor(0) { m_inspectedFile = new CppIncludeLabel(this); m_inspectedFile->setMargin(5); @@ -118,6 +120,9 @@ CppIncludeHierarchyWidget::CppIncludeHierarchyWidget() : setLayout(layout); connect(CppEditorPlugin::instance(), SIGNAL(includeHierarchyRequested()), SLOT(perform())); + connect(Core::EditorManager::instance(), SIGNAL(editorsClosed(QList<Core::IEditor *>)), + this, SLOT(editorsClosed(QList<Core::IEditor *>))); + } CppIncludeHierarchyWidget::~CppIncludeHierarchyWidget() @@ -128,15 +133,16 @@ void CppIncludeHierarchyWidget::perform() { showNoIncludeHierarchyLabel(); - CPPEditor *editor = qobject_cast<CPPEditor *>(Core::EditorManager::currentEditor()); - if (!editor) + m_editor = qobject_cast<CPPEditor *>(Core::EditorManager::currentEditor()); + if (!m_editor) return; - CPPEditorWidget *widget = qobject_cast<CPPEditorWidget *>(editor->widget()); + + CPPEditorWidget *widget = qobject_cast<CPPEditorWidget *>(m_editor->widget()); if (!widget) return; m_model->clear(); - m_model->buildHierarchy(widget->editorDocument()->filePath()); + m_model->buildHierarchy(m_editor, widget->editorDocument()->filePath()); if (m_model->isEmpty()) return; @@ -162,6 +168,14 @@ void CppIncludeHierarchyWidget::onItemClicked(const QModelIndex &index) Constants::CPPEDITOR_ID); } +void CppIncludeHierarchyWidget::editorsClosed(QList<Core::IEditor *> editors) +{ + foreach (Core::IEditor *editor, editors) { + if (m_editor == editor) + perform(); + } +} + void CppIncludeHierarchyWidget::showNoIncludeHierarchyLabel() { m_inspectedFile->hide(); |