diff --git a/src/plugins/texteditor/textmark.cpp b/src/plugins/texteditor/textmark.cpp index 6a0646972be..1739cf61b9e 100644 --- a/src/plugins/texteditor/textmark.cpp +++ b/src/plugins/texteditor/textmark.cpp @@ -30,7 +30,6 @@ namespace TextEditor { class TextMarkRegistry : public QObject { - Q_OBJECT public: TextMarkRegistry(QObject *parent); @@ -45,10 +44,9 @@ private: const FilePath &newPath); void allDocumentsRenamed(const FilePath &oldPath, const FilePath &newPath); - QHash > m_marks; }; -TextMarkRegistry *m_instance = nullptr; +static QHash> s_marks; class AnnotationColors { @@ -463,8 +461,6 @@ void TextMark::setIsLocationMarker(bool newIsLocationMarker) TextMarkRegistry::TextMarkRegistry(QObject *parent) : QObject(parent) { - m_instance = this; - connect(EditorManager::instance(), &EditorManager::editorOpened, this, &TextMarkRegistry::editorOpened); @@ -481,14 +477,14 @@ void TextMarkRegistry::add(TextMark *mark) void TextMarkRegistry::add(TextMark *mark, TextDocument *document) { - m_instance->m_marks[mark->filePath()].insert(mark); + s_marks[mark->filePath()].insert(mark); if (document) document->addMark(mark); } bool TextMarkRegistry::remove(TextMark *mark) { - return m_instance->m_marks[mark->filePath()].remove(mark); + return s_marks[mark->filePath()].remove(mark); } void TextMarkRegistry::editorOpened(IEditor *editor) @@ -496,10 +492,10 @@ void TextMarkRegistry::editorOpened(IEditor *editor) auto document = qobject_cast(editor ? editor->document() : nullptr); if (!document) return; - if (!m_marks.contains(document->filePath())) + if (!s_marks.contains(document->filePath())) return; - const QSet marks = m_marks.value(document->filePath()); + const QSet marks = s_marks.value(document->filePath()); for (TextMark *mark : marks) document->addMark(mark); } @@ -511,7 +507,7 @@ void TextMarkRegistry::documentRenamed(IDocument *document, auto baseTextDocument = qobject_cast(document); if (!baseTextDocument) return; - if (!m_marks.contains(oldPath)) + if (!s_marks.contains(oldPath)) return; QSet toBeMoved; @@ -519,8 +515,8 @@ void TextMarkRegistry::documentRenamed(IDocument *document, for (TextMark *mark : marks) toBeMoved.insert(mark); - m_marks[oldPath].subtract(toBeMoved); - m_marks[newPath].unite(toBeMoved); + s_marks[oldPath].subtract(toBeMoved); + s_marks[newPath].unite(toBeMoved); for (TextMark *mark : std::as_const(toBeMoved)) mark->updateFilePath(newPath); @@ -528,13 +524,13 @@ void TextMarkRegistry::documentRenamed(IDocument *document, void TextMarkRegistry::allDocumentsRenamed(const FilePath &oldPath, const FilePath &newPath) { - if (!m_marks.contains(oldPath)) + if (!s_marks.contains(oldPath)) return; - const QSet oldFileNameMarks = m_marks.value(oldPath); + const QSet oldFileNameMarks = s_marks.value(oldPath); - m_marks[newPath].unite(oldFileNameMarks); - m_marks[oldPath].clear(); + s_marks[newPath].unite(oldFileNameMarks); + s_marks[oldPath].clear(); for (TextMark *mark : oldFileNameMarks) mark->updateFilePath(newPath); @@ -574,5 +570,3 @@ void setupTextMarkRegistry(QObject *guard) } } // namespace TextEditor - -#include "textmark.moc"