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

@@ -190,15 +190,9 @@ public:
Core::Id m_contextId;
};
static TextEditorWidget *castWidgetToTextEditorWidget(Core::IEditor *editor)
{
return qobject_cast<TextEditorWidget *>(editor->widget());
}
TextEditorActionHandlerPrivate::TextEditorActionHandlerPrivate
(Core::Id editorId, Core::Id contextId, uint optionalActions)
: m_findTextWidget(castWidgetToTextEditorWidget)
, m_optionalActions(optionalActions)
: m_optionalActions(optionalActions)
, m_editorId(editorId)
, m_contextId(contextId)
{
@@ -228,7 +222,7 @@ void TextEditorActionHandlerPrivate::createActions()
QString locatorString = TextEditorPlugin::lineNumberFilter()->shortcutString();
locatorString += QLatin1Char(' ');
const int selectionStart = locatorString.size();
locatorString += TextEditorActionHandler::tr("<line>:<column>");
locatorString += tr("<line>:<column>");
Core::LocatorManager::show(locatorString, selectionStart, locatorString.size() - selectionStart);
});
m_printAction = registerAction(PRINT,
@@ -589,11 +583,16 @@ void TextEditorActionHandlerPrivate::updateCurrentEditor(Core::IEditor *editor)
} // namespace Internal
TextEditorActionHandler::TextEditorActionHandler(QObject *parent, Core::Id editorId,
Core::Id contextId, uint optionalActions)
: QObject(parent), d(new Internal::TextEditorActionHandlerPrivate(editorId, contextId,
optionalActions))
TextEditorActionHandler::TextEditorActionHandler(Core::Id editorId,
Core::Id contextId,
uint optionalActions,
const TextEditorWidgetResolver &resolver)
: d(new Internal::TextEditorActionHandlerPrivate(editorId, contextId, optionalActions))
{
if (resolver)
d->m_findTextWidget = resolver;
else
d->m_findTextWidget = [](Core::IEditor *editor) { return qobject_cast<TextEditorWidget *>(editor->widget()); };
}
TextEditorActionHandler::~TextEditorActionHandler()
@@ -601,9 +600,4 @@ TextEditorActionHandler::~TextEditorActionHandler()
delete d;
}
void TextEditorActionHandler::setTextEditorWidgetResolver(const TextEditorWidgetResolver &resolver)
{
d->m_findTextWidget = resolver;
}
} // namespace TextEditor