From c8bb7897f5bfca8bd2d334b6a00f46d597c1a639 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 17 Jan 2024 15:21:25 +0100 Subject: [PATCH] TextEditor: Use new setup pattern for BookmarkView Change-Id: I934f1bd6cb3889c4199176cf8d15beaee805f86c Reviewed-by: Reviewed-by: David Schulz --- src/plugins/texteditor/bookmarkmanager.cpp | 30 ++++++++++++++------- src/plugins/texteditor/bookmarkmanager.h | 10 +------ src/plugins/texteditor/texteditorplugin.cpp | 10 +------ 3 files changed, 22 insertions(+), 28 deletions(-) diff --git a/src/plugins/texteditor/bookmarkmanager.cpp b/src/plugins/texteditor/bookmarkmanager.cpp index 9c4781a901e..54f79db26c5 100644 --- a/src/plugins/texteditor/bookmarkmanager.cpp +++ b/src/plugins/texteditor/bookmarkmanager.cpp @@ -1010,19 +1010,29 @@ BookmarkManager &bookmarkManager() // BookmarkViewFactory -BookmarkViewFactory::BookmarkViewFactory() +class BookmarkViewFactory final : public INavigationWidgetFactory { - setDisplayName(Tr::tr("Bookmarks")); - setPriority(300); - setId("Bookmarks"); - setActivationSequence(QKeySequence(useMacShortcuts ? Tr::tr("Alt+Meta+M") : Tr::tr("Alt+M"))); -} +public: + BookmarkViewFactory() + { + setDisplayName(Tr::tr("Bookmarks")); + setPriority(300); + setId("Bookmarks"); + setActivationSequence(QKeySequence(useMacShortcuts ? Tr::tr("Alt+Meta+M") : Tr::tr("Alt+M"))); + } -NavigationView BookmarkViewFactory::createWidget() +private: + NavigationView createWidget() final + { + auto view = new BookmarkView; + view->setActivationMode(Utils::DoubleClickActivation); // QUESTION: is this useful ? + return {view, view->createToolBarWidgets()}; + } +}; + +void setupBookmarkView() { - auto view = new BookmarkView; - view->setActivationMode(Utils::DoubleClickActivation); // QUESTION: is this useful ? - return {view, view->createToolBarWidgets()}; + static BookmarkViewFactory theBookmarkViewFactory; } } // TextEditor::Internal diff --git a/src/plugins/texteditor/bookmarkmanager.h b/src/plugins/texteditor/bookmarkmanager.h index 0866be9eaba..b82da27c578 100644 --- a/src/plugins/texteditor/bookmarkmanager.h +++ b/src/plugins/texteditor/bookmarkmanager.h @@ -116,14 +116,6 @@ private: BookmarkManager &bookmarkManager(); void setupBookmarkManager(QObject *guard); - -class BookmarkViewFactory : public Core::INavigationWidgetFactory -{ -public: - BookmarkViewFactory(); - -private: - Core::NavigationView createWidget() override; -}; +void setupBookmarkView(); } // Bookmarks::Internal diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp index 249cbcf7648..5772a111b47 100644 --- a/src/plugins/texteditor/texteditorplugin.cpp +++ b/src/plugins/texteditor/texteditorplugin.cpp @@ -83,7 +83,6 @@ public: void createStandardContextMenu(); BookmarkFilter m_bookmarkFilter; - BookmarkViewFactory m_bookmarkViewFactory; TextEditorSettings settings; @@ -136,24 +135,16 @@ void TextEditorPluginPrivate::requestContextMenu(TextEditorWidget *widget, bookmarkManager().requestContextMenu(widget->textDocument()->filePath(), lineNumber, menu); } -static class TextEditorPlugin *m_instance = nullptr; - class TextEditorPlugin final : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "TextEditor.json") public: - TextEditorPlugin() - { - m_instance = this; - } - ~TextEditorPlugin() final { delete d; d = nullptr; - m_instance = nullptr; } ShutdownFlag aboutToShutdown() final; @@ -178,6 +169,7 @@ void TextEditorPlugin::initialize() setupLineNumberFilter(); // Goto line functionality for quick open setupBookmarkManager(this); + setupBookmarkView(); d = new TextEditorPluginPrivate;