forked from qt-creator/qt-creator
Give TextEditorActionHandler an explicit parent and unify usage.
The action handler implicitly passed ownership to ICore, which is non- to the action handler. We now consistently create the action handler in the editor factory, give ownership to the editor factory, and don't hold a reference to it. Change-Id: I4372f8de966e3ceff87c06c5528c6b54522c1d57 Reviewed-by: David Schulz <david.schulz@digia.com>
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <coreplugin/editormanager/editormanager.h>
|
||||
#include <texteditor/texteditoractionhandler.h>
|
||||
#include <texteditor/texteditorsettings.h>
|
||||
|
||||
#include <QDebug>
|
||||
@@ -47,6 +48,11 @@ EditorFactory::EditorFactory(QObject *parent)
|
||||
setId(Constants::C_PYTHONEDITOR_ID);
|
||||
setDisplayName(tr(Constants::C_EDITOR_DISPLAY_NAME));
|
||||
addMimeType(QLatin1String(Constants::C_PY_MIMETYPE));
|
||||
new TextEditor::TextEditorActionHandler(this,
|
||||
Constants::C_PYTHONEDITOR_ID,
|
||||
TextEditor::TextEditorActionHandler::Format
|
||||
| TextEditor::TextEditorActionHandler::UnCommentSelection
|
||||
| TextEditor::TextEditorActionHandler::UnCollapseAll);
|
||||
}
|
||||
|
||||
Core::IEditor *EditorFactory::createEditor(QWidget *parent)
|
||||
|
||||
@@ -197,7 +197,6 @@ static void copyIdentifiers(const char * const words[], size_t bytesCount, QSet<
|
||||
|
||||
PythonEditorPlugin::PythonEditorPlugin()
|
||||
: m_factory(0)
|
||||
, m_actionHandler(0)
|
||||
{
|
||||
m_instance = this;
|
||||
copyIdentifiers(LIST_OF_PYTHON_KEYWORDS, sizeof(LIST_OF_PYTHON_KEYWORDS), m_keywords);
|
||||
@@ -222,12 +221,6 @@ bool PythonEditorPlugin::initialize(const QStringList &arguments, QString *error
|
||||
addObject(m_factory);
|
||||
|
||||
// Initialize editor actions handler
|
||||
m_actionHandler = new TextEditor::TextEditorActionHandler(
|
||||
C_PYTHONEDITOR_ID,
|
||||
TextEditor::TextEditorActionHandler::Format
|
||||
| TextEditor::TextEditorActionHandler::UnCommentSelection
|
||||
| TextEditor::TextEditorActionHandler::UnCollapseAll);
|
||||
|
||||
// Add MIME overlay icons (these icons displayed at Project dock panel)
|
||||
const QIcon icon = QIcon::fromTheme(QLatin1String(C_PY_MIME_ICON));
|
||||
if (!icon.isNull())
|
||||
|
||||
@@ -31,9 +31,7 @@
|
||||
#define PYTHONEDITOR_PLUGIN_H
|
||||
|
||||
#include <extensionsystem/iplugin.h>
|
||||
#include <texteditor/texteditoractionhandler.h>
|
||||
#include <QSet>
|
||||
#include <QScopedPointer>
|
||||
|
||||
namespace PythonEditor {
|
||||
namespace Internal {
|
||||
@@ -65,7 +63,6 @@ public:
|
||||
private:
|
||||
static PythonEditorPlugin *m_instance;
|
||||
EditorFactory *m_factory;
|
||||
TextEditor::TextEditorActionHandler *m_actionHandler;
|
||||
QSet<QString> m_keywords;
|
||||
QSet<QString> m_magics;
|
||||
QSet<QString> m_builtins;
|
||||
|
||||
Reference in New Issue
Block a user