diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-01-17 12:33:55 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-01-26 07:35:30 +0000 |
commit | ec3dcfd6ad6719baa96aae26e0b775db1408e6e3 (patch) | |
tree | d94e31536f6c78033bd3881eccc12aeaa28d91c7 /src/plugins/cppeditor/cppeditordocument.cpp | |
parent | 3080bda0661989e88dfa62101b4c3f5d5e6754a1 (diff) |
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 <riitta-leena.miettinen@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/cppeditor/cppeditordocument.cpp')
-rw-r--r-- | src/plugins/cppeditor/cppeditordocument.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
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<QTextEdit::ExtraSelection> selections, + const std::function<QWidget*()> &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, |