TextEditor: Use more direct access to quick fix factories

Change-Id: I65fc5c0ca6c7806e09b4bd626fd1679686df7d7f
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2017-12-15 09:34:02 +01:00
parent e5009787a3
commit 4f3ac0382a
12 changed files with 32 additions and 38 deletions

View File

@@ -34,6 +34,8 @@
#include <qmljs/qmljsmodelmanagerinterface.h>
#include <qmljs/parser/qmljsast_p.h>
#include <utils/algorithm.h>
using namespace QmlJS;
using namespace QmlJS::AST;
using namespace QmlJSTools;
@@ -76,4 +78,11 @@ void QmlJSQuickFixFactory::matchingOperations(const QuickFixInterface &interface
match(interface.staticCast<const QmlJSQuickFixAssistInterface>(), result);
}
QList<TextEditor::QuickFixFactory *> QmlJSQuickFixFactory::qmlJSQuickFixFactories()
{
return Utils::filtered(QuickFixFactory::allQuickFixFactories(), [](QuickFixFactory *f) {
return qobject_cast<QmlJSQuickFixFactory *>(f) != nullptr;
});
}
} // namespace QmlJSEditor

View File

@@ -90,6 +90,8 @@ protected:
QmlJSQuickFixOperation objects.
*/
virtual void match(const QmlJSQuickFixInterface &interface, TextEditor::QuickFixOperations &result) = 0;
static QList<QuickFixFactory *> qmlJSQuickFixFactories();
};
} // namespace QmlJSEditor

View File

@@ -80,14 +80,7 @@ IAssistProvider::RunType QmlJSQuickFixAssistProvider::runType() const
IAssistProcessor *QmlJSQuickFixAssistProvider::createProcessor() const
{
return new QuickFixAssistProcessor(this);
}
QList<QuickFixFactory *> QmlJSQuickFixAssistProvider::quickFixFactories() const
{
return Utils::filtered(QuickFixFactory::allQuickFixFactories(), [](QuickFixFactory *f) {
return qobject_cast<QmlJSQuickFixFactory *>(f) != nullptr;
});
return new QuickFixAssistProcessor(QmlJSQuickFixFactory::allQuickFixFactories());
}
} // namespace QmlJSEditor

View File

@@ -60,8 +60,6 @@ public:
IAssistProvider::RunType runType() const override;
TextEditor::IAssistProcessor *createProcessor() const override;
QList<TextEditor::QuickFixFactory *> quickFixFactories() const override;
};
} // Internal