From ec3dcfd6ad6719baa96aae26e0b775db1408e6e3 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Tue, 17 Jan 2017 12:33:55 +0100 Subject: CppEditor: Show info bar for project-less file While at it, centralize the code for handling the info bars and actions. Change-Id: Ied62e3db268aaff3ef87e246bfe2b50399341be3 Reviewed-by: Leena Miettinen Reviewed-by: David Schulz --- src/plugins/cppeditor/cppeditordocument.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'src/plugins/cppeditor/cppeditordocument.cpp') diff --git a/src/plugins/cppeditor/cppeditordocument.cpp b/src/plugins/cppeditor/cppeditordocument.cpp index 6a28974ae2..704478149a 100644 --- a/src/plugins/cppeditor/cppeditordocument.cpp +++ b/src/plugins/cppeditor/cppeditordocument.cpp @@ -97,6 +97,7 @@ CppEditorDocument::CppEditorDocument() , m_cachedContentsRevision(-1) , m_processorRevision(0) , m_completionAssistProvider(0) + , m_minimizableInfoBars(*infoBar()) { setId(CppEditor::Constants::CPPEDITOR_ID); setSyntaxHighlighter(new CppHighlighter); @@ -309,12 +310,30 @@ void CppEditorDocument::initializeTimer() Qt::UniqueConnection); } +const MinimizableInfoBars &CppEditorDocument::minimizableInfoBars() const +{ + return m_minimizableInfoBars; +} + CppTools::BaseEditorDocumentProcessor *CppEditorDocument::processor() { if (!m_processor) { m_processor.reset(mm()->editorDocumentProcessor(this)); + connect(m_processor.data(), &CppTools::BaseEditorDocumentProcessor::projectPartInfoUpdated, + [this] (const CppTools::ProjectPartInfo &projectPartInfo) + { + const bool hasProjectPart + = projectPartInfo.hint != CppTools::ProjectPartInfo::IsFallbackMatch; + m_minimizableInfoBars.processHasProjectPart(hasProjectPart); + }); connect(m_processor.data(), &CppTools::BaseEditorDocumentProcessor::codeWarningsUpdated, - this, &CppEditorDocument::codeWarningsUpdated); + [this] (unsigned revision, + const QList selections, + const std::function &creator, + const TextEditor::RefactorMarkers &refactorMarkers) { + emit codeWarningsUpdated(revision, selections, refactorMarkers); + m_minimizableInfoBars.processHeaderDiagnostics(creator); + }); connect(m_processor.data(), &CppTools::BaseEditorDocumentProcessor::ifdefedOutBlocksUpdated, this, &CppEditorDocument::ifdefedOutBlocksUpdated); connect(m_processor.data(), &CppTools::BaseEditorDocumentProcessor::cppDocumentUpdated, -- cgit v1.2.3