Commit 1488062a authored by Roberto Raggi's avatar Roberto Raggi

Force an update of the current editor.

parent 3a5ebf2b
...@@ -578,6 +578,12 @@ void CPPEditor::abortRename() ...@@ -578,6 +578,12 @@ void CPPEditor::abortRename()
setExtraSelections(CodeSemanticsSelection, m_renameSelections); setExtraSelections(CodeSemanticsSelection, m_renameSelections);
} }
void CPPEditor::rehighlight(bool force)
{
const SemanticHighlighter::Source source = currentSource(force);
m_semanticHighlighter->rehighlight(source);
}
void CPPEditor::onDocumentUpdated(Document::Ptr doc) void CPPEditor::onDocumentUpdated(Document::Ptr doc)
{ {
if (doc->fileName() != file()->fileName()) if (doc->fileName() != file()->fileName())
...@@ -588,9 +594,7 @@ void CPPEditor::onDocumentUpdated(Document::Ptr doc) ...@@ -588,9 +594,7 @@ void CPPEditor::onDocumentUpdated(Document::Ptr doc)
if (! m_initialized) { if (! m_initialized) {
m_initialized = true; m_initialized = true;
rehighlight(/* force = */ true);
const SemanticHighlighter::Source source = currentSource(/*force = */ true);
m_semanticHighlighter->rehighlight(source);
} }
m_updateOutlineTimer->start(); m_updateOutlineTimer->start();
......
...@@ -194,6 +194,7 @@ public Q_SLOTS: ...@@ -194,6 +194,7 @@ public Q_SLOTS:
void findUsages(); void findUsages();
void renameUsagesNow(const QString &replacement = QString()); void renameUsagesNow(const QString &replacement = QString());
void hideRenameNotification(); void hideRenameNotification();
void rehighlight(bool force = false);
protected: protected:
bool event(QEvent *e); bool event(QEvent *e);
......
...@@ -302,6 +302,9 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess ...@@ -302,6 +302,9 @@ bool CppPlugin::initialize(const QStringList & /*arguments*/, QString *errorMess
this, SLOT(onTaskStarted(QString))); this, SLOT(onTaskStarted(QString)));
connect(core->progressManager(), SIGNAL(allTasksFinished(QString)), connect(core->progressManager(), SIGNAL(allTasksFinished(QString)),
this, SLOT(onAllTasksFinished(QString))); this, SLOT(onAllTasksFinished(QString)));
connect(core->editorManager(), SIGNAL(currentEditorChanged(Core::IEditor*)), SLOT(currentEditorChanged(Core::IEditor*)));
readSettings(); readSettings();
return true; return true;
} }
...@@ -400,4 +403,14 @@ void CppPlugin::onAllTasksFinished(const QString &type) ...@@ -400,4 +403,14 @@ void CppPlugin::onAllTasksFinished(const QString &type)
} }
} }
void CppPlugin::currentEditorChanged(Core::IEditor *editor)
{
if (! editor)
return;
else if (CPPEditor *textEditor = qobject_cast<CPPEditor *>(editor->widget())) {
textEditor->rehighlight(/*force = */ true);
}
}
Q_EXPORT_PLUGIN(CppPlugin) Q_EXPORT_PLUGIN(CppPlugin)
...@@ -84,6 +84,7 @@ private slots: ...@@ -84,6 +84,7 @@ private slots:
void findUsages(); void findUsages();
void quickFix(TextEditor::ITextEditable *editable); void quickFix(TextEditor::ITextEditable *editable);
void quickFixNow(); void quickFixNow();
void currentEditorChanged(Core::IEditor *editor);
private: private:
Core::IEditor *createEditor(QWidget *parent); Core::IEditor *createEditor(QWidget *parent);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment