aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor/cppeditordocument.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-01-17 12:33:55 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-01-26 07:35:30 +0000
commitec3dcfd6ad6719baa96aae26e0b775db1408e6e3 (patch)
treed94e31536f6c78033bd3881eccc12aeaa28d91c7 /src/plugins/cppeditor/cppeditordocument.cpp
parent3080bda0661989e88dfa62101b4c3f5d5e6754a1 (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.cpp21
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,