TextEditor: De-QObject-ify TextEditorActionHandler

Change-Id: I8c4919b89ce35d421edd4a21a650d5e0df4a7ead
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2020-02-05 17:51:41 +01:00
parent e12ba2d683
commit 9c934ed44c
7 changed files with 65 additions and 54 deletions

View File

@@ -33,35 +33,41 @@
#include <QCoreApplication>
using namespace Core;
using namespace TextEditor;
namespace DiffEditor {
namespace Internal {
DiffEditorFactory::DiffEditorFactory()
DiffEditorFactory::DiffEditorFactory() :
descriptionHandler {
Constants::DIFF_EDITOR_ID,
Constants::C_DIFF_EDITOR_DESCRIPTION,
TextEditorActionHandler::None,
[](IEditor *e) { return static_cast<DiffEditor *>(e)->descriptionWidget(); }
},
unifiedHandler {
Constants::DIFF_EDITOR_ID,
Constants::UNIFIED_VIEW_ID,
TextEditorActionHandler::None,
[](IEditor *e) { return static_cast<DiffEditor *>(e)->unifiedEditorWidget(); }
},
leftHandler {
Constants::DIFF_EDITOR_ID,
Id(Constants::SIDE_BY_SIDE_VIEW_ID).withSuffix(1),
TextEditorActionHandler::None,
[](IEditor *e) { return static_cast<DiffEditor *>(e)->leftEditorWidget(); }
},
rightHandler {
Constants::DIFF_EDITOR_ID,
Core::Id(Constants::SIDE_BY_SIDE_VIEW_ID).withSuffix(2),
TextEditorActionHandler::None,
[](Core::IEditor *e) { return static_cast<DiffEditor *>(e)->rightEditorWidget(); }
}
{
setId(Constants::DIFF_EDITOR_ID);
setDisplayName(QCoreApplication::translate("DiffEditorFactory", Constants::DIFF_EDITOR_DISPLAY_NAME));
addMimeType(Constants::DIFF_EDITOR_MIMETYPE);
auto descriptionHandler = new TextEditor::TextEditorActionHandler(
this, id(), Constants::C_DIFF_EDITOR_DESCRIPTION);
descriptionHandler->setTextEditorWidgetResolver([](Core::IEditor *e) {
return static_cast<DiffEditor *>(e)->descriptionWidget();
});
auto unifiedHandler = new TextEditor::TextEditorActionHandler(
this, id(), Constants::UNIFIED_VIEW_ID);
unifiedHandler->setTextEditorWidgetResolver([](Core::IEditor *e) {
return static_cast<DiffEditor *>(e)->unifiedEditorWidget();
});
auto leftHandler = new TextEditor::TextEditorActionHandler(
this, id(), Core::Id(Constants::SIDE_BY_SIDE_VIEW_ID).withSuffix(1));
leftHandler->setTextEditorWidgetResolver([](Core::IEditor *e) {
return static_cast<DiffEditor *>(e)->leftEditorWidget();
});
auto rightHandler = new TextEditor::TextEditorActionHandler(
this, id(), Core::Id(Constants::SIDE_BY_SIDE_VIEW_ID).withSuffix(2));
rightHandler->setTextEditorWidgetResolver([](Core::IEditor *e) {
return static_cast<DiffEditor *>(e)->rightEditorWidget();
});
setEditorCreator([] { return new DiffEditor(new DiffEditorDocument); });
}